C Programming Step by Step Complete Tutorial For Beginners

C language tutorial from basics with C operator,loop,array,pointer,function,parameter,string,recursion,structure,file.
C Programming Step by Step Complete Tutorial For Beginners
File Size :
4.87 GB
Total length :
17h 18m



Shibaji Paul


Last update

Last updated 6/2020



C Programming Step by Step Complete Tutorial For Beginners

What you’ll learn

if else statements, loop – while, for and do while loop with many examples.
Array – 1D and 2D, why we need them and how to use them effectively.
String in C – NULL terminated character arrays.
Writing function, parameter passing to function. Returning value from function.
storage class – auto, static, extern and register
Pointer – in depth understanding.
Relationship between arrays and pointers.
Array of pointers.
Command line arguments
Reading and writing with files, both text and binary.
Recursion – how it works, recursion vs iteration in depth discussion – Towers of Hanoi
Various string utilities – sprintf, strtok and many others
Function pointers
bitwise operators in C programming.

C Programming Step by Step Complete Tutorial For Beginners


No prerequisites, course is for absolute beginners.


I have been teaching this course to the undergraduate engineering students for last 15 years in class room. This course is well designed and covered almost all the topics that one should know while learning C language. Will not only help the student to build a solid foundation on the topic but will boost their confidence to face technical interviews boldly.
The course contents are mostly video lectures. I would encourage absolute beginners to follow the lectures strictly in chronological manners, please start from the very first video and go to the next one only if you are done with the previous. However, though not recommended, but students with some previous knowledge could jump lectures if they are confident.
The course is structured basically for the new programmers who may not have any previous experience with any programming language. From the very basic to advanced topics. Simple program to complex one in step-by-step.
One should take this course to build a career as a programmer. Programming in C has been considered as foundation for any programming language. If one is confident with C, then can start learning any other language like PHP, C++ or Java.


Section 1: Introduction and guidance to follow the course.

Lecture 1 Introduction

Lecture 2 A note on screen resolution.

Lecture 3 Course dash-board, Q/A section, basic guidance to follow the course.

Lecture 4 How to do the coding exercises, please watch.

Section 2: How to download, install and use compilers and various IDEs for C programming.

Lecture 5 A brief note on IDE and Compiler

Lecture 6 Download install and use Xcode(on OSX) for writing C programs

Lecture 7 Compile using Mac terminal and write program on sublime text.

Lecture 8 Using Visual Studio Code on MacOS for C program.

Lecture 9 How to download and install Codeblocks for Mac

Lecture 10 Download Install and Use Code::Blocks for your C programs.

Lecture 11 Compiling from Windows terminal using gcc

Lecture 12 Using Visual Studio Code for Windows.

Lecture 13 Download, install and use Microsoft Visual Studio 2019 Community edition.

Lecture 14 Using Netbeans in Mac

Section 3: Fundamentals that you always need to know

Lecture 15 Understanding the first program.

Lecture 16 Variables and data types in C programming.

Lecture 17 Printing content of variable using printf

Lecture 18 Reading data from keyboard into variable using scanf.

Lecture 19 Initialization of variable, octal and hexadecimal initialization.

Lecture 20 Arithmetical Operators in C

Lecture 21 Dealing with characters

Lecture 22 Flushing problem while taking character input

Lecture 23 Idea of casting

Lecture 24 The secret of printf

Lecture 25 The secret of scanf

Lecture 26 The most neglected operator – Assignment operator

Lecture 27 Relational operators for comparing values

Lecture 28 Can you take this challenge?

Lecture 29 Introduction to Logical Operator, AND operation

Lecture 30 Logical OR operation

Lecture 31 Logical NOT operation

Lecture 32 Unary increment and decrement operator

Lecture 33 Short circuit feature of AND and OR operation

Section 4: Branching, taking course of action on the basis of result of condition

Lecture 34 “To be or not to be” – how to decide using if-else

Lecture 35 Going further, the if-else-if structure

Lecture 36 Another programming example on if-else-if, this will help you more.

Lecture 37 Are you sure you can answer this? Take a look.

Lecture 38 Ops! Not done yet, here is some more information on if-else

Lecture 39 Make it smart using conditional operator, the only ternary operator in C

Lecture 40 Nested if-else, checking leap year.

Lecture 41 Understand switch-case

Section 5: Do it again and again until satisfied, technique for iteration.

Lecture 42 Introduction to loop, while loop.

Lecture 43 While loop – Programming Example 1

Lecture 44 While loop – Programming Example 2

Lecture 45 Take a challenge on while loop, here is interesting “predict output” on while.

Lecture 46 All about smart looking for loop

Lecture 47 First do then check, do-while loop

Lecture 48 How to break a loop early: use of ‘break’ keyword

Lecture 49 The other loop utility: ‘continue’ keyword

Lecture 50 Generating random numbers, the rand() function

Section 6: Array: the collection

Lecture 51 Introduction to one dimensional array

Lecture 52 Initialisation of one dimensional array

Lecture 53 Allocating array dynamically, Example input output operations with array

Lecture 54 A programming example using 1-D array

Lecture 55 Introduction to two dimensional array

Lecture 56 2-D array programming example

Section 7: Way to store and manipulate string in C programming

Lecture 57 Introduction to string, using character array for storing string

Lecture 58 How to input string from keyboard

Lecture 59 Finding the length of string

Lecture 60 Searching and counting target in string

Lecture 61 Library function for string operations, string.h

Section 8: Modularise your program using function.

Lecture 62 Introduction to function

Lecture 63 Prototype or signature of function, declaring a function.

Lecture 64 Create your own library, distribute functions to others.

Lecture 65 Function example 1, a function to check prime number

Lecture 66 More example on function

Lecture 67 Another example, a function to test Armstrong Number

Section 9: Rock-Paper-Scissor game – a modularise approach

Lecture 68 Rock-Paper-Scissor game – Part 1

Lecture 69 Rock-Paper-Scissor game – Part 2

Section 10: Recursion, how to write recursive functions.

Lecture 70 Introduction to recursion.

Lecture 71 Introduction continues…

Lecture 72 Recursion vs Iteration, the big debate, Concept of TAIL recursion.

Lecture 73 The debate continues… when exactly iteration is preferable.

Lecture 74 Still in debate… when recursion is preferable.

Lecture 75 Tower of Hanoi, the classical example of recursion.

Lecture 76 Implementation of Tower of Hanoi

Lecture 77 Another example, Fibonacci term.

Section 11: Storage class, important conception

Lecture 78 Introduction to storage class, the auto storage class

Lecture 79 Storage class: static

Lecture 80 Storage class: extern

Lecture 81 Storage class: register

Section 12: Pointers, tweak with memory locations.

Lecture 82 Conception of stack and heap memory

Lecture 83 Introduction to pointers

Lecture 84 Introduction to pointers, continues…

Lecture 85 Introduction to pointers, continues…

Lecture 86 Address arithmetic

Lecture 87 More on pointers

Lecture 88 How and when to use pointers in C program

Lecture 89 More programming example

Lecture 90 Relationship between one dimensional array and pointers

Lecture 91 Passing one dimensional array to function

Lecture 92 More example on passing one dimensional array to function

Lecture 93 Colony with 8 cells – simulation.

Lecture 94 One more example – Passing a string (character arrays) to function

Lecture 95 use of const keyword with pointer

Lecture 96 Add some more glue

Lecture 97 The generic pointer is void pointer

Lecture 98 Dynamic memory allocation – malloc function

Lecture 99 Dynamic memory allocation – calloc function

Lecture 100 Dynamic memory allocation – realloc function

Lecture 101 Immutable property of string literals

Lecture 102 Array of pointers – part 1

Lecture 103 Array of pointers-part 2(Simulation of dynamic 2D array using array of pointers)

Section 13: User defined type in C – structure, union and enum

Lecture 104 Introduction to User Defined Type, struct keyword

Lecture 105 typedef keyword, creating alias to type

Lecture 106 pointer to struct object

Lecture 107 Writing behaviour (functions) for struct types – part1

Lecture 108 Writing behaviour (functions) for struct types – part2

Lecture 109 Using struct type within another struct type

Lecture 110 declaring enumerated constants, enum keyword

Lecture 111 Only one at a time in group, use of enum keyword

Section 14: Variadic Functions – how to pass variable arguments to a function

Lecture 112 How to pass variable arguments to function.

Lecture 113 Passing variable arguments of different types

Section 15: Command line argument passing.

Lecture 114 Command line arguments, parameters to main method

Lecture 115 Command line arguments – more example

Lecture 116 Passing cmd line args in Netbeans

Lecture 117 How to pass command line arguments in Codeblocks

Lecture 118 Get information about environment, the environmental parameter in main

Section 16: File Handling

Lecture 119 Introduction to file handling, writing characters into a text file using fputc()

Lecture 120 Reading content of a text file character by character using fgetc().

Lecture 121 Reading a line from text file into a character array using fgets function

Lecture 122 Reading formatted data from text file using fscanf fucntion

Lecture 123 Writing formatted data into text file using fprintf function

Lecture 124 Formatted data reading and writing – another example

Lecture 125 Writing in binary mode – fwrite function

Lecture 126 Reading in binary mode – fread function

Lecture 127 Moving the file pointer at any desired location using fseek

Lecture 128 Calculating the number of records in a binary file using ftell

Lecture 129 A program to copy any file – Introduction

Lecture 130 Let us Develop the file copy program step by step.

Section 17: Bitwise operators – Learn how to manipulate bits.

Lecture 131 Introduction to bitwise operators

Lecture 132 Bitwise leftshift operator

Lecture 133 Bitwise right shift operator

Lecture 134 Bitwise AND operator – how to check a bit.

Lecture 135 Count set bits – Using bitwise AND and left shift.

Lecture 136 Print the signed integer as it is.

Lecture 137 Bitwise OR operation – How to set an unset bit?

Lecture 138 Bitwise XOR operation.

Lecture 139 Bitwise complement – invert every bits.

Section 18: Some useful C library functions – enhance your ability

Lecture 140 sprintf and snprintf – Write formatted string into character array

Lecture 141 Function sscanf – how to scan formatted data from a string

Lecture 142 strtok – great tool to extract information from a string separated by delimiters

Lecture 143 memset – learn how to initialize block of memory with a character using memset

Lecture 144 memcpy – copy from one memory block to other byte-by-byte

Lecture 145 clock function to count number of clock ticks and measure elapsed time.

Section 19: Additional Learning – 1 Bubble Sort

Lecture 146 Bubble Sort Algorithm

Lecture 147 Bubble Sort Implementation Using C

Lecture 148 Improving the Bubble Sort further, how to exit the loop for early sorting.

Lecture 149 How to use library qsort function for sorting arrays.

Section 20: Additional Learning – 2 Function Pointers In C

Lecture 150 Function Pointer Introduction

Lecture 151 Learn how to declare a function pointer.

Lecture 152 Function pointer in Action – Program that uses function pointer

This course is A-Z on C programming language, therefore, anyone can take this course, even absolute beginners in programming will face no problem doing this course,Any undergraduate student having C programming in curriculum,If you have previous experience in C programming or with any other programming language then this course is going to make your foundation more strong

Course Information:

Udemy | English | 17h 18m | 4.87 GB
Created by: Shibaji Paul

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top