A C program consists of several key parts: preprocessor commands, functions, variables, statements and expressions, and comments. It includes a main function where program execution begins, uses preprocessor commands like #include to access standard library headers, and can define variables to store values and print them using functions like printf. The main function terminates by returning a value.