Log In
0% completed
All Lessons
Free Lessons (5)
Introduction to C Programming
Getting Started with C
Virtues and Challenges
When Should I Use C?
The Bottom Line
Data Types in C
First Steps
Variables
Data Types and Sizes
Declarations
Constants
Statements and Scope
Quiz on Basic Types and Statements
C Operators and C Expressions
Building Expressions Using Operators
Type Conversions
Defining Your Own Type Names
Other Convenient Operators
Exercises on Operators and Expression
Quiz on Operators and Expressions
Control Flow in C
The for Loop
Other Types of Loops in C
Conditionals
The break and continue Statements
A switch Statement
Exercises on Control Flow
Quiz on Control Flow
Functions in C
Rationale
Defining a Function
Input Arguments
Returning Values
Argument Checking
Variable Scope
Automatic vs Static Variables
Variadic Functions
Exercises on Functions
Quiz on Functions
Complex Data Types
Arrays
Writing to Arrays
Multidimensional Arrays
Variable-Length Arrays
Command-line Arguments
Structures
Exercises on Complex Data Types
Quiz on Complex Data Types
Stack vs. Heap
The Stack
The Heap
Code Examples
Stack vs Heap
Quiz on Stack and Heap Memories
Pointers in C
Pointers
Pointers and Arrays
Passing Pointers to Struct
Passing Pointers to Functions
Dynamically Allocated Memory
Exercise on Pointers
Quiz on Pointers
C string
Strings
String Handling Using the C Standard Library
Arrays of Strings
Exercise on Strings
Quiz on Strings
Input and Output Stream
I/O Streams
Input and Output with Files
Binary Files (raw bytes)
Random Access
Exercise on Input and Output
Quiz on Input and Output
Macros and the C Preprocessor
The C Preprocessor and #define Directives
Macros with Arguments
Conditional Compilation
Quiz on Macros and the C Preprocessor
Header Files, Compiling and Linking
Splitting a Program into Multiple Files
The GNU make Utility and Makefiles
Quiz on Header files, Compiling and Linking
C Debugger
The GNU Project Debugger (GDB)
Breakpoint
Gotchas
Tricky Code
Quiz on Debugging
Code Profiling
Profiling of Code Using gprof
Known Slugs
Using the Compiler Optimizer Flags
Parallel Programming in C
Why Parallel Programming?
Kinds of Parallel Programming
POSIX Threads
OpenMP
Message Passing Interface (MPI)
Quiz on Parallel Programming in C
Mini Project
Project: Using a Bootstrapped t-test
Conclusion
Concluding Thoughts
Miscellaneous
Some Useful C Libraries
Appendix: Setting Up the Environment
Install Some Basic Tool
Test Your Environment
Learn C
/
...
/
Test Your Environment
Test Your Environment
We'll cover the following...
Steps to follow
Steps to follow
To execute the following
...