Booking options
£47.99
£47.99
On-Demand course
10 hours 52 minutes
All levels
Strengthen your command over C language
A vast majority of modern programming languages and popular libraries are based on C, making C an essential language to learn for coding enthusiasts.
Starting with the basic keywords and syntax of C, this book will help you get acquainted with variables, constants, data types, and operators. You'll then understand the concept of flow control and explore the use of different tools such as loops (including if...else, while, and switch), functions, and arrays. As you advance, you'll get to grips with pointers and implement them to create practical programs and pieces of code.
By the end of this course, you'll not only be able to code efficiently, but you'll also have expertise in solving a wide variety of programming problems effectively.
All the code and supporting files for this course are available at https://github.com/PacktPublishing/Programming-in-C-The-Complete-Course.
Solve programming problems speedily
Cover basic concepts of C programming languages
Understand the lifecycle of a C program
Enhance your C programming skills using loops
Understand the concept of arrays and how to program them
Write and execute your C (and C++) programs
Master C programming and get ready to learn advanced languages and technologies
If you want to make a career in programming, this course is for you. You'll find this course helpful if you're an engineering student, a computer science student pursuing graduation or post-graduation degree, a professional looking to brush up on basics, or a school student keen to become a programmer.
This course attempts to explain every concept of programming right from scratch to keep the content comprehensive for beginners. Each module is followed by exercises and worksheets that enable you to grasp the fundamentals firmly by implementing them in practical scenarios.
Understand the precedence and associativity of operators * Get to grips with programming constructs in C * Discover how to use fprintf() and fscanf() to read and write multiple values and structures
https://github.com/packtpublishing/programming-in-c-the-complete-course
Anand Mahajan started teaching programming when he was a student. He has been training Computer Science students for the last 20+ years and has a fair deal of experience in the training of C, C++, Core Java, Advanced Java, PHP and .Net to thousands of students. All these students vouch for his training skills, dedication, and responsibility towards his students.
What he believes is - that his students who have faith in him deserve the BEST training. Anand has been the most recommended computer programming teacher in the region. But despite this enormous experience, he has always believed that there is always room for improvement and will appreciate it if any student points out his weak points or foibles.
1. Listen in before you take a plunge
1. Profile of Instructor This lecture will reveal the profile, teaching experience and passion of your instructor, Anand Mahajan |
2. Introduction to the course This lecture covers what the course will teach you from basics up to some advanced topics. Starting from scratch you will learn what a programming language is. |
3. What you are going to learn - Curriculum The author explains the topics that will be covered in this course |
2. Having the first brush
1. Basic concepts of programming languages and Life cycle of a C program A program is in fact a set of instructions i.e. programming statements. Programming languages are a medium to write these programs. Learn the three type of categories for programming languages |
2. Structure of a C program In this lecture, the author breaks down the structure of a C program |
3. Character set, tokens, Data types, I/O library functions This lecture contains explanation of character set of c language |
3. Sample programs to get you going
1. Formatted I/O functions printf() and scanf() printf() and scanf() library functions present in the header file stdio.h are indispensable functions for almost all the C programs. Learn about them in this lecture |
2. First Sample Program Learn how to write a sample program |
3. Second Sample Program This lecture just contains another sample program that will consolidate your concept |
4. Difference between getch(), getche() and getchar() Learn the difference between getch(), getche() and getchar() in this lecture |
5. Formatting output Learn Formatting output and how printf() function is pretty powerful as far as formatting the output goes |
6. Type casting: Implicit and Explicit Type casting comes in handy when we evaluate expressions involving different data type values. The author explains the whole idea behind type casting |
7. More Sample programs Two more sample programs with complete explanation to enable you consolidate their understanding in the topics discussed so far |
4. Operators in C language
1. Operators in C language - Part 1 In this lecture, the author has discussed the three categories of operators. This categorization is based upon the type of operations these operators do. |
2. Operators in C language - Part 2 Unary, Binary and Ternary operators have been explained fully with appropriate examples in this lecture. |
3. Operators in C language - Part 3 In the lecture all these compound assignment operators have been explained in full detail along with example code |
4. Precedence and Associativity of operators - Part 1 This lecture gives you a complete understanding of precedence |
5. Precedence and Associativity of operators - Part 2 In this lecture, the author has provided a table of precedence associativity of all important operators in C |
5. Sequence construct and all about if statement programming construct
1. Programming constructs in C - General concept In this lecture, the author has explained sequence construct with the help of an example |
2. Programming constructs in C - Using if and if..else statement (Part 1) In this lecture you will learn to use simple if statement and then using if statement with else |
3. Programming constructs in C - (using nested if) Part 2 (a) The presence of an if within another if is termed as "nested if". This is required when a condition comes out to be true and we want to test another condition. Learn about it in this lecture |
4. Programming constructs in C - (using nested if) Part 2 (b) This lecture just contains another sample program that will consolidate your concept about nested if |
5. Alternative to nested if In the previous lecture we discussed a program involving nested if. It calculated biggest among 3 numbers. In this lecture we will use an alternative way to write that program by using && (conjunction operator) logical operator |
6. Programming constructs in C - (using if..else..if ladder) Part - 1 In this lecture you will learn to use if statement and then using if statement with else if |
7. Programming constructs in C - (Alternative to if..else..if ladder) Part - 2 In this lecture you will learn an alternative way to handle if..else..if ladder |
6. Switch case construct
1. switch case Part - 1 A switch statement allows a variable to be tested for equality against a list of values. Learn about them in this lecture |
2. switch case Part - 2 This lecture just contains another sample program that will consolidate your concept about switch case |
7. Iteration construct (Loops)
1. Introduction to loops Loops are used for executing one or more statement repeatedly. Learn the different kinds of loops available in C |
2. while loop in action In this kind of loop first condition is tested and if it's true then control enters the loop. This lecture will explain the whole process in a very simple manner. |
3. do..while loop in action It is a post tested loop in which first loop statements are executed and only after that condition is tested |
4. for loop in action - Part 1 Watch the video lecture which explains the whole working of for loop step by step |
5. for loop in action - Part 2 In this lecture you will learn different ways for loop can be applied. You will learn the behavior of for loop when it is terminated with a semi-colon (;) and when it is not |
6. for loop in action - Part 3 This lecture will teach you how we can use multiple statements in all the 3 components of for loop viz. initialization, condition and increment/decrement part |
8. Honing the programming skills using loops
1. Sample loop programs - Part 1 This lecture will show you how to write some simple programs using loops like printing odd, even series using all 3 types of loops. This will brush up your knowledge further about loops and their working |
2. Sample loop programs - Part 2 In this program user will read (input) a number and program will calculate it's factorial |
3. Sample loop programs - Part 3 This is yet another program that will take you further in understanding the logic build up using loops |
4. Nested Loops - Part 1 In this lecture I have explained this concept with the help of an example |
5. Nested Loops - Part 2 Here we will learn how to display some patterns using numbers or symbols like * |
9. The concept of arrays and their programming
1. The basic concept of arrays Learn the basic concepts of arrays and some other important issues |
2. Traversal of array elements - Part 1 This lecture will show you the whole process whereas array elements are being read(inputted), printed and processed |
3. Traversal of array elements - Part 2 Another example program to learn how to traverse array elements |
4. Traversal of array elements - Part 3 In this lecture you will learn how the size of an array can be decided by the user and not the programmer |
5. Sorting Techniques: Bubble sort Part - 1 In this lecture you will learn the whole logic applied in applying bubble sort. The logic has been explained with the help of diagrams |
6. Sorting Techniques: Bubble sort Part - 2 In this lecture I have shown and explained the program of bubble sort. In almost all sorting techniques the whole process involves nested loops |
7. Double dimensional arrays Part - 1 While traversing a 2-d array we apply nested loops, outer loop representing rows and inner loop columns. The whole procedure has been explained with the help of an example. |
8. Double dimensional arrays Part - 2 This lecture covers Initialization of 2-d array elements and an example program of matrix multiplication |
10. Strings in C Language (char arrays)
1. Strings Part - 1 This lecture will show you how to write some simple programs using strings. This will brush up your knowledge further about strings in C and their working |
2. Strings Part - 2 This lecture just contains another sample program that will consolidate your concept about strings |
11. Pointers
1. Basics of pointers You will be explained fully what exactly a pointer variable is, and diagrams have been used to bring home the point |
2. Pointers in action Part - 1 Here you will get a practical hand on pointers. An example will show you how to declare and store addresses into pointer variables |
3. Pointers in action Part - 2 This lecture just contains another sample program that will consolidate your concept about pointers |
4. Pointer to pointer Learn how a pointer to pointer variable stores the memory address of yet another pointer variable |
5. Pointer Arithmetic Programmers have the liberty to use + and - arithmetic operators with a pointer variable. But these operators quite differently when applied on a pointer variable. Learn about them in this lecture. |
6. Subtracting two pointer variables This lecture fully explains what happens when two pointer variables are subtracted |
7. Arrays and Pointers An array name is a pointer to base address. Watch the full video for understanding the code |
8. Dynamic Memory Allocation Part - 1 Learn the two type of memory allocation techniques i.e. Static Memory Allocation and Dynamic Memory Allocation |
9. Dynamic Memory Allocation Part - 2 This lecture just contains another sample program that will consolidate your concept about Dynamic Memory Allocation |
12. Functions
1. Basics of functions Learn the basic concepts of functions and some other important issues |
2. Developing Functions, A practical approach Part - 1 Here comes the nitty-gritty of practical aspects of functions. You will be having a hands-on practice on how to apply 3 important parts of a function. All these aspects will be put across to you in a very detailed manner using a sample program |
3. Developing Functions, A practical approach Part - 2 You will be taken through a practice session. Some more sample programs will solidify your concepts about development of functions |
4. Developing Functions, A practical approach Part - 3 In this lecture you will learn the fact that some function need not return any value. Such functions are called void functions |
5. Scope of variables in functions Part - 1 Always remember that a variable or any identifier declared within the body of a function is strictly local to it. Watch the full video for understanding the code. |
6. Scope of variables in functions Part - 2 This lecture just contains another sample program that will consolidate your concept about variables in Functions |
7. Working with global variables A global variable is accessible in all the functions definitions of which are written below its declaration. Watch the full video for understanding the code |
8. Name clashing of local variables Vs. global variables In this lecture you will learn the name clashing of local variables Vs. global variables |
9. Some facts about return statement Using return statement, we cannot return more than one values. Learn about them in this lecture |
10. Calling a function by value When we pass the passing arguments (actual arguments) in a normal fashion this is called "call by value". Learn about them in this video |
11. Calling a function by reference When we pass memory addresses of passing arguments (actual arguments) to a function this is termed as "call by reference". This comes in handy when we want our actual arguments to be changed when we make changes through formal parameters |
12. Passing an array to a function When we simply pass an array name to a function, we are in fact passing the address of the very first element (known as the base address). Watch the video for better understanding of the same |
13. Recursion
1. Recursion (Recursive functions) Part - 1 This lecture will take you through a simple program that involves recursion. |
2. Recursion (Recursive functions) Part - 2 When recursion stops these statements are picked one by one in a LIFO manner and executed. That means the statement that was put last on the stack will be executed first and so on. The author has explained the whole working with the help of a diagram. |
14. Storage classes in C
1. auto and static storage classes Learn about auto and static storage classes in C. Auto is a default storage class whereas static is a local variable which can return a value even when control is transferred to the function call |
2. register and extern storage classes Learn about register and extern storage classes. extern is a is a global variable whereas register is a is a variable which is stored inside a Register |
15. Command Line Arguments
1. Command Line Arguments Part - 1 This lecture will take you through a simple program that involves command line arguments |
2. Command Line Arguments Part - 2 This lecture will take you through a more complex program that involves command line arguments |
3. Command Line Arguments Part - 3 This lecture just contains another sample program that will consolidate your concept about command line arguments |
16. Structures in C language
1. Basics of structures Learn the basics of structures and some other important issues. Help of diagrams has been taken to make you understand in an easy manner |
2. Creating a structure and accessing its members You will learn the practical aspect of structures. In fact, there are two main components: structure specification and declaration of structure variable(s). |
3. Working with multiple structures In the previous example you learnt how to declare a structure variable (also called structure) and accessing its members. But mostly we need to have more than one structures. |
4. Pointer to structure As a structure variable (or simple called a structure) is stored in RAM and of course does have an address. Now this memory address can be stored in a pointer variable veritably called 'pointer to structure'. Watch the full video for understanding the same |
5. Array of structures An array of structures is just an array which consists of many structures stored in contiguous memory locations. It becomes easy to traverse these structures by applying loops. |
6. Alternative method of declarations of structures This short lecture will just take you through an alternative method of declaring structure variables, pointers to structures and array of structures |
7. Passing a structure to a function This lecture covers passing a structure to a function using call by value. I will present an example of passing a structure by reference |
8. Passing a structure to a function using call by reference Learn how we will pass a structure to a function using call by reference |
17. Unions
1. Basics of unions Learn the basics of Unions along with a few examples |
2. A sample program of unions This lecture just contains a sample program that will consolidate your concept about unions |
18. File handling in C
1. File Basics: Using fputc() to write on a file You will find full explanation on the concept of files. The author has used diagrams liberally to bring home the point |
2. Using fgetc() to read from a file fgetc() does the opposite of fputc() learnt in previous lecture. It reads data from a file character by character. Watch the video to have a better understanding of the same |
3. Using fprintf() and fscanf() to write and read multiple values on/from a file Using fscanf() function programmer can read multiple values from a file and assign them to various variables. |
4. Using fwrite() and fread() to write and read structures on/from a file Using fwrite() function we can conveniently write a whole structure on a file. This is the most practical approach in file handling techniques as a structure is just a record. |
19. Graphics Programming in C
1. Basics of Graphics Programming Learn about the basics of programming in this lecture |
2. Let's code our first graphics program - line drawing In this lecture, you will learn to code your first graphics program using line drawing |
3. Drawing a circle In this lecture, you will learn to draw a circle using Graphics Programming |
4. Graphics output in Full Screen output window Learn how we can get output in Full Screen output window in this lecture |
5. Drawing rectangle and ellipse Part -1 In this lecture, you will learn drawing rectangle and ellipse using Graphics Programming |
6. Drawing rectangle and ellipse Part -2 Some more examples to consolidate your concept about drawing rectangle and ellipse |
7. Drawing Concentric circles In this lecture, you will learn to draw concentric circles using Graphics Programming |
8. Applying colors to outlines of figures Learn how we can apply colors to outlines of figures in this lecture |
9. Filling up the figures with colors Part - 1 In this lecture, you will learn how to fill up the figures with colors in Graphics Programming |
10. Filling up the figures with colors Part - 2 Some more examples to consolidate your concept about filling up the figures with colors |
11. Displaying Text in Graphics Mode Learn how we can display Text in Graphics Mode in this lecture |
12. Formatting the Text in Graphics In this lecture, you will learn how to format the Text in Graphics Programming |
13. Displaying pixels on screen Part - 1 Learn how we can display pixels on screen using Graphic Programming |
14. Displaying pixels on screen Part - 2 Some more examples to consolidate your concept about displaying pixels on screen |
15. Displaying Title of the graphics window In this lecture, you will learn how to display title of the graphics window in Graphics Programming |
16. Displaying pixels randomly on screen Part - 1 Learn how we can display pixels randomly on screen using Graphic Programming |
17. Displaying pixels randomly on screen Part - 2 Some more examples to consolidate your concept about displaying pixels randomly on screen |
18. Displaying circles and rectangles randomly In this lecture, you will learn displaying circles and rectangles randomly in Graphics Programming |