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
bitwise operators in C programming.
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
Udemy | English | 17h 18m | 4.87 GB
Created by: Shibaji Paul