Getting Ready
  • Welcome to the course
  • C Editors and IDEs
  • FAQ - Read This First!
  • Install CodeLite (Windows or Mac)
  • Install a C compiler on a Mac
  • Introduction to CodeLite
  • Using C++Builder
  • Importing C Projects into C++Builder
  • Programming C with NetBeans
  • Importing Projects Into NetBeans
  • Compiling C programs at the system prompt
  • Visual Studio 2019
  • Using Visual Studio
  • The Little Book Of C -- (download)
  • C Source Code Archive
  • C Basics
C programming basics
  • A first program - Hello world
  • Arguments and return values
  • Passing commandline arguments to your program
  • How to open a command prompt on Windows or OS X
  • printf
  • Comments
  • C Programs
Variables, constants and types
  • Variables and types
  • Integers and floating point numbers
  • Constants
  • More about constants
  • Naming conventions
  • Variables and constants
Operators, tests and user input
  • Operators – equality and assignment
  • Operators – tests and comparisons
  • Compound assignment operators
  • Increment and decrement operators
  • if and else tests
  • Problems with gets() and fgets()
  • Input, buffers and flushing
  • My own line-reading function
  • Logical Operators
  • Operators and tests
Functions, arguments and switch
  • Functions
  • Arguments
  • Switch statements
  • Switch statements in more detail
  • Functions and switch
Arrays, loops and break
  • Arrays
  • Initializing arrays
  • ‘while’ loops
  • ‘do..while’ loops
  • break
  • break and continue
  • Multidimensional arrays
  • Arrays and loops
Strings, chars and pointers
  • Strings, pointers and addresses
  • Null-terminated strings
  • Char arrays and pointers
  • Arrays, pointers and assignment
  • Strings and functions, stack and heap
  • String functions
  • char functions
  • chars and strings
  • Pointers and Strings
Structs, enums, header files and scope
  • structs
  • typedef
  • Enums
  • Header files
  • A custom header file
  • Scope
  • Scope and external files
  • Static functions and variables
  • Compiling from the commandline
  • Structs, enums, headers and scope
File-handling
  • Opening and closing files
  • File modes
  • Reading and writing a text file
  • Counting lines in a text file
  • Search in a text file
  • Files
Binary files and memory allocation
  • Binary files
  • Allocating and freeing memory
  • Types and type casts
  • Creating a CD database
  • Saving and loading records in a binary file
  • Adding records to a binary file
  • Modifying records in a binary file
  • Memory and pointers
  • And finally…