
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Begin your programming journey by mastering the C programming language from basics to advanced concepts through practical, hands-on coding, building confidence to crack technical interviews.
Learn the difference between a compiler and an IDE, how IDEs enable one-click compilation and error highlighting for C programs, and recommended options for Mac and Windows.
This video will guide you to download, install and use Xcode for your Mac OSX. Xcode is a powerful IDE and best choice for OSX users. It is available for free, also when you install Xcode you get the C, C++, swift and Objective-c compiler installed on your Mac as well.
In this video you will learn how to write your C program using a text editor like Sublime text and then how to compile and execute your program from the terminal of MacOS.
This lecture will show you how to use Codeblocks under Mac, if you are using Windows and willing to use Codeblocks just see the next lecture.
This video tutorial will demonstrate how you can download, install and use Code::Blocks IDE for your Windows operating system along with the MinGW compiler.
Set up gcc on Windows by adding the gw bin path to the system PATH, then compile hello.c with gcc and run the resulting executable.
This lecture will walk you through the process of downloading and installing the Visual Studio 2019 Community Edition for your Windows machine, after that you will also experience how to create a C project and build and run that under this powerful IDE.
This tutorial shows how to use netbeans IDE for C projects. How one can create a project, how to compile and execute.
In this tutorial you will understand each part of the program that prints "Hello, World!" into the console.
In this video you will learn about variables, data types and how to declare variables.
This video will teach you how to print content of a variable into console using printf.
In this video you will learn how to read data from keyboard and assign that into a variable using the scanf function.
Learn arithmetical operators in c: plus, minus, asterisk, slash, and modulus, covering binary use, unary cases, and a sample program with a=10 and b=2 results.
Learn how to flush the input buffer when taking a character after integers in C by prefixing a space before %c in scanf to clear the buffer.
Explore unary increment and decrement operators in C, including pre and post forms, and see how A++ and A-- affect values and assignment order in expressions.
Explore short-circuit evaluation for and and or operations, showing left-to-right evaluation, how ++ increments affect A, B, and C, and when operands are skipped.
Learn how to use if-else statements to branch logic in C, compare two numbers to find a maximum, and check if an age is teenage (13–19).
Demonstrate tax calculation using an if-else-if ladder on income ranges, printing the tax; ranges include under 10,000 (0%), 10,000-20,000 (10%), 20,000-50,000 (20%), and 50,000+ (25% plus 10% of tax).
Explore how if and else blocks work in C, including when to omit else, the impact of a trailing semicolon, and common compilation errors.
Switch case statements can be suitable alternatives to if-elseif sometime.
Predict the output of C's while loop examples, noting non-zero is true, infinite looping, and how printf returns three for 'Hi' plus newline, printing alternating 'Hi' and 'Hello'.
Master breaking and continuing loops in C using break to terminate a loop early and continue to skip iterations, with a practical for loop example that prompts user to continue.
Learn how the continue keyword controls loop flow in C by skipping rest of an iteration and moving to the next, for, while, and do-while loops to print odd numbers.
There is a coding exercise, hi_low_dame.c, download the file and try that. I have written all the comments there. Just read the comments and follow the instructions.
Learn how a one dimensional array stores multiple integers contiguously in memory, access elements with the subscription operator and indices, and initialize or print them using a for loop.
Allocate a dynamic array at runtime with a user-specified size in c. Read values with a for loop and scanf, then print each element with its index.
Read n, seed with system time, fill a one-dimensional array with random numbers 0-99, then compute the sum and the average.
Learn to store strings in C with one-dimensional character arrays, rely on the terminating null terminator, print with printf and %s, and copy with strcpy using string.h.
Learn to determine a string's length by locating the null terminator in a character array, using a loop or the strlen function from string.h.
Learn how to perform string operations in c with the string.h library, including copying with strcpy, concatenating with strcat, and comparing with strcmp, illustrated through practical examples and lexicographical ordering.
Master modular problem solving in C by writing and using user defined functions, with parameters and return values, illustrated through a simple interest example.
Learn to declare a function with a prototype before use and why the compiler needs its return type. Include header files, like stdio.h, to access library declarations such as printf.
Build and distribute a reusable C library by compiling area and my_math functions into libxutils.a, expose them via headers, and use them from a client program.
Develop and test four C character utilities: is_lowercase, is_uppercase, to_uppercase, and to_lowercase, with prototypes and alphabetic checks. Validate with examples showing conversions between cases for lowercase and uppercase letters.
Let's write a program to simulate a simple Rock-Paper-Scissor game where one player would be the user and the other is the computer.
Rock paper scissor game continues...
Analyze when recursion is preferable to iteration by using the system stack instead of an explicit stack, illustrated with converting decimal numbers to binary.
Learn to implement the Tower of Hanoi in C using recursion, including base case, recursive calls, and printing moves from source to destination via an auxiliary peg.
Define a recursive function to return nth Fibonacci term with base cases 1 and 2. It sums previous terms and prints the first ten terms using a long return type.
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.