
Set up your computer for C development, run a hello world program, and explore the build phases, variables, and arithmetical expressions, then complete an exercise by typing code and experimenting.
Install a C development environment by setting up GCC or clang and the Visual Studio Code editor, then configure cross-platform setups for Linux, macOS, and Windows with MSYS2 and MinGW.
Explain the char type in C as the smallest integer type, one byte, eight bits, with a signed range of -128 to 127, and demonstrate printing with printf and sizeof.
Discover the C integer types from char and int to short, long, and long long, and see how architecture influences their sizes using printf and sizeof.
Explore casting in C by converting int to double and back, showing widening and narrowing conversions and explicit casts with int, double, and char types.
Explore control flow in C by examining if statements, while and for loops, relational and logical operators, the ternary operator, and the distinction between postfix and prefix increment and decrement.
Master the C if statement: condition in parentheses, optional braces, and else if/else blocks; learn that zero is false and nonzero is true, unlike Python or Java.
Demonstrates a C exercise that reads a digit 0–9 with getchar and validates input, then prints a width-three multiplication table up to that number using two nested loops.
Explore multidimensional arrays in C by constructing and initializing a two-dimensional table, accessing elements with zero-based indices, and printing the array using nested loops and a %f format specifier.
Understand passing arrays to functions in C with a sum example, using an explicit size parameter and the concept that arrays decay to pointers and can be const.
Learn how typedef in C defines your own type aliases to shorten declarations and simplify using structs, unions, and pointers, with examples showing text pointers and struct value types.
Learn to allocate memory in c with malloc on the heap, cast the void pointer to a char pointer, and free it after use, checking for null.
Explore generating random numbers in C using rand and srand seeded with time; learn to produce 0-1 values, and 0-255 unsigned char ranges, with formatted output.
Never return the addresses of local variables from functions in C, because those locals go out of scope, leaving pointers to invalid memory and risking undefined behavior.
Tokenize strings in C with strtok from string.h by splitting text on a space, using first argument for the text and second for the delimiter, returning tokens until null.
Explore arrays of strings as an array of pointers to chars, printing each with percent s and using sizeof to show pointer memory, not the string data.
Explore command-line arguments in C by using argc and argv as an array of strings, printing each argument, including the zeroth element with the program's path.
Master a strings exercise in C: convert spelled-out numbers 0–9 to digits, tokenize with strtok, sum values with plus signs, print total, and highlight invalid tokens.
Learn how memset in C sets every byte in a memory block, zeroing a 1024-byte region and producing a 20-byte string of E characters, with a null terminator.
Discover useful math functions from the C standard library's math.h, including pow, round, ceil, and sin, all returning doubles, with notes on pi and practical casting to int.
Explore converting strings to numbers in C with standard library functions like atoi and atof, and convert numbers to strings using sprintf, noting nonstandard conversions and undefined behavior on failures.
Learn how to write text files in C with fopen, handle modes, check for errors, and write text with fprintf to create files such as test.txt.
Mastering C teaches writing binary files in C by opening a file in write and binary mode, then using f write to write an int and a doubles array.
Practice a C bitwise exercise converting a 32-bit integer to three color bytes (red, green, blue) and back, using bit shifts, masks, and optional unions to illustrate endianness.
Would you like to be able to code in one of the most important, influential, and popular programming languages ever created? Perhaps you're frustrated by the limitations and inefficiency of other programming languages, but intimidated by C's fiercesome reputation.
Would you like to to be able to create compiled, native apps?
Not to worry, this course will demystify C and show you how to leverage C's incredible speed and efficiency.
Unlock the power of C with this hands-on programming course designed for those with a bit of coding experience who are ready to dive into the language that has shaped modern computing.
We'll start by discussing C and its unique characteristics, and from there, you’ll learn how to work with variables, use control flow statements including loops and conditions, and we'll delve into compound data types (arrays, structs, unions).
As the course progresses, you’ll learn how to structure your code with functions and you'll gain a deep understanding of pointers, one of C’s most potent features.
You’ll discover how to manipulate strings, leverage useful standard functions, and how to handle text and binary files for data persistence. We’ll unlock the power of bitwise operators, explain how to effectively use the preprocessor and macros, and we'll cover error handling so you can create robust, reliable code.
The grand finale? We’ll pull everything together as you create your own animated screensaver-style program: a stunning "particle fire explosion" animation.
By the end, you’ll have the knowledge and confidence to write efficient, high-performance C programs, and a visually striking project to show off your new skills.