
Explore basics to advanced C programming on Linux and Windows, taught by an engineer with 15+ years of experience, and discover Linux system programming and related career options.
Explore why C forms the foundation for other languages and offers close hardware access. Learn how C's efficiency powers Linux systems and drives problem solving and hardware understanding.
Explore the basics of number systems, including binary, octal, decimal, and hexadecimal, and see how bits, lsb, and msb encode values and how numbers convert across bases and into memory.
Explore the C program memory layout, including text (code) segment, data (initialized and uninitialized, BSS) segment, heap, and stack, and introduce dynamic memory operations with malloc, calloc, realloc, and free.
Explore the building blocks of C programming, including functions, variables, data types, operators, flow control, loops, arrays, pointers, structures, unions, and preprocessor directives.
Explore C data types and their memory sizes on Linux, including char (1 byte), int (4 bytes), float (4 bytes), and double (8 bytes), plus signed and unsigned ranges.
Explore how C variables and constants are declared, and how const causes compile-time errors. Examine scope and lifetime for local, static, and global variables, and cross-file access via extern.
Learn how to read user input and display results in C using printf and scanf, with int, float, double, and char formats, and understand addresses with the & operator.
Explore header files in C: how inclusion copies content during preprocessing, standard headers like stdio.h, and user headers using quotes, improving modularity and cross-file access.
Explore C operators, focusing on assignment and arithmetic operators, operands, and typecasting; learn how integers and floats interact in division, plus modulo, increment, and decrement.
Explore logical operators in C, including the &&, ||, and ! operators, which yield true or false (1 or 0). Understand unary behavior and practical examples with x and y.
Explore bitwise operators in C, including and, or, xor, not, left shift, and right shift, with examples illustrating bit-level results and the difference between bitwise and logical operations.
Explore how if and if else control flow in C programming executes code blocks based on conditions, including inside if blocks, else blocks, and if else ladders for graded outcomes.
Explore switch flow control in C programming, learning how a switch expression selects among case blocks, the role of break statements, and the default case for unmatched values.
Learn how while and do-while loops control repetition in C, including input-driven termination, and the do-while guarantee of at least one execution of the loop body, with practical examples.
Explore nested for loops in C and how break and continue reshape flow, including how break exits the inner loop and continue advances iterations.
Explore how functions in C organize code into modular, reusable blocks, using a sum example to show declaration, definition, calling, returning, and parameters.
Learn how to call functions across source files in a Linux C project by using header prototypes, including add and mul in grouped folders, and compiling with gcc.
Explore recursion in C by studying a function that calls itself to compute factorials, using base cases and return flow, and extend the concept to summation of a number.
Explore the basics of one-dimensional arrays in C, including contiguous memory, index-based access from zeroth index, and defining, initializing, reading, and writing elements with loops.
Explore two dimensional arrays in C as a 3x4 matrix, read and write elements by row and column indices, and understand memory layout with nested loops for printing.
Explore how three dimension arrays are represented in C as an array of 2D elements. Access via matrix_3D[i][j][k], read and write elements, and loop through all elements.
Explore how strings in C are stored as character arrays ending with a null character, displayed with %s, iterated with a loop using %c, and read with scanf.
Explore the C string library in string.h, using strlen, strcpy, strncpy, strcat, strncat, strcmp, strchr, and strstr with practical examples and memory considerations.
Explore how structures in C group data types under a user-defined type, create memory with variables, access elements via the dot operator, and understand structure padding and memory size.
Explore arrays of structures in C by creating an array of four student structures, filling them with user input via scanf, and accessing members with the dot operator.
Explore unions in C, showing memory equals the largest member size and that a union stores one value at a time, with byte-level access in firmware examples.
Explore typedefs in C and how they create aliases for struct types. Compare defining a struct with and without typedef, showing how typedef shortens variable declarations and prototypes.
Explore enums as user defined data types in C, assign names to integral constants, use typedef, and override the first value while observing default zero-based ordering.
Learn how dynamic memory allocation in C uses malloc and calloc and realloc to allocate memory at runtime on the heap, and why freeing with free matters.
Learn standard C file operations in a Linux environment by opening, reading, writing, and closing files with stdio.h functions such as fgetc, fgets, fputc, fputs, fwrite, and fclose.
Demonstrates file operations in C on Linux, including opening, reading, writing, and closing files using stdio.h, with examples of fgetc, fgets, and fread.
Open example dot txt in w mode to create or overwrite, write a character with f put c, a string with fputs, and binary data with f write, close.
Note:
1. This course is conducted by Working Professionals and not professional Trainers. Hence the teaching style may differ from traditional teaching style.
2. This course helps somebody with MINIMAL or NO knowledge on C programming to quickly be able to learn C and write C Programs.
3.This course also helps for those who wants to QUICK start the C Programming.
4. All the programs that we have discussed in this course is available for downloading, so that one can edit code and perform many more operations of the program and execute and learn better and faster.
5. Section 15: Interview Preparation - Contains lot of Interview questions and Answers that are very frequently asked. Also This section will be constantly updated to add more and more contents
Q. There are Lot of other C programming courses, why students should take this course?
A.1. This course is for those students who want to quickly learn Advanced C Programming with in few Hours, Most of the other courses available are at least 25+ to 35+ hours, but in this course we cover most of the topics with clear explanation and keeping it within time bound so that any student can quickly pick up C Programming skills without spending too much time.
Q. Can I take this course, if I want to Learn C Programming in Windows?
A. Absolutely yes. The Part 1 is ALL About learning Advanced C Program and will work both on Linux and Windows environment.
Q. Who are the Course Audience?
A. This course is for those who have Less or No C programming knowledge and want to up skill their C Programming knowledge. I can assure, you will be confidently able to write complex C Programs on your own in a professional manner both on Windows and Linux systems.
Q. Outcome of this course?
A.1. Students will have a advanced understanding of C language.
A.2. Able to write advanced C codes both in Windows and Linux Environment.
A.3. you can comfortably self rate to 7.5 or 8 out of 10 (7.5 or 8 / 10 ). if you complete the course and practice some code examples.
Part1 - Advanced C Programming
Introduction - Pre Requisite and Programming basics.
Understanding Memory for C programs in Linux
Basics of C and Compilation steps
Operators
Assignment, Arithmetic,Relational Operators
Increment and Decrement Operators
Bitwise Operators
Conditional or Ternanry operators.
Expressions
Program Flow Control
If-Else
Switch - Flow control
While and Do While Loop
for Loop, Break and Continue
Functions
Function Declaration and Definition
Functions return Value
Scope of variables across Functions
Recursion Functions
Arrays
1 and 2 Dimension Array
Arrays and Functions
3 Dimension Array
Structures and Unions
structures and functions
Array of structures
Unions
Typedef in structures
Overview of Pointers
Advanced Pointers
Pointers (integer pointer, character pointer)
Pointers and arrays
Pointers and functions.
Pointer to pointers
Pointers and Structures.
Advanced C Projects/Programs
Single linked list
Double Linked List.
Closing Note.
Part2 - C Programming in Linux systems Programming
Introduction to Linux Kernel
User mode and Kernel Mode
Library Functions
Files in Linux system
open()
read()
write()
lseek()
Introduction to Process
Process creation - fork(), exec() system calls
Example programs for Process creation.
Closing Note.