C Program Structure

Let’s look into Hello World example using C Programming Language.

Before we study basic building blocks of the C programming language, let us look a bare minimum C program structure so that we can take it as a reference in upcoming chapters.

C Hello World Example

A C program basically consists of the following parts:

  • Preprocessor Commands
  • Functions
  • Variables
  • Statements & Expressions
  • Comments

Let us look at a simple code that would print the words “Hello World“:

#include <stdio.h>
int main()
/* my first program in C */
printf(“Hello, World! \n”);
return 0;

Let us look various parts of the above program:

  1. The first line of the program #include <stdio.h> is a preprocessor command, which tells a C compiler to include stdio.h file before going to actual compilation.
  1. The next line int main() is the main function where program execution begins.
  1. The next line /*…*/ will be ignored by the compiler and it has been put to add additional comments in the program. So such lines are called comments in the program.
  1. The next line printf(…) is another function available in C which causes the message “Hello, World!” to be displayed on the screen.
  1. The next line return 0; terminates main()function and returns the value 0.

Compile & Execute C Program

Let’s look at how to save the source code in a file, and how to compile and run it. Following  are the simple steps:

  1. Open a text editor and add the above-mentioned code.
  2. Save the file as hello.c
  3. Open a command prompt and go to the directory where you saved the file.
  4. Type gcc hello.c and press enter to compile your code.
  5. If there are no errors in your code, the command prompt will take you to the next line and would generate a.out executable file.
  6. Now, type a.out to execute your program.
  7. You will be able to see “Hello World” printed on the screen

$ gcc hello.c

$ ./a.out

Hello, World!

Make sure that gcc compiler is in your path and that you are running it in the directory containing source file hello.c.

C Basic Syntax

This will give details about all the basic syntax about C programming language

including tokens, keywords, identifiers, etc.

You have seen a basic structure of C program, so it will be easy to understand other basic building blocks of the C programming language.

Tokens in C

A C program consists of various tokens and a token is either a keyword, an identifier, a constant, a string literal, or a symbol. For example, the following C statement consists of five tokens:

printf(“Hello, World! \n”);
The individual tokens are:
“Hello, World! \n”;

Semicolons ;

In C program, the semicolon is a statement terminator. That is, each individual statement must be ended with a semicolon. It indicates the end of one logical entity.

For example, following are two different statements:

printf(“Hello, World! \n”);
return 0;


Comments are like helping text in your C program and they are ignored by the compiler. They start with /* and terminates with the characters */ as shown below:

/* my first program in C */

You cannot have comments within comments and they do not occur within a string or character literals.


A C identifier is a name used to identify a variable, function, or any other user-defined item. An identifier starts with a letter A to Z or a to z or an underscore _ followed by zero or more letters, underscores, and digits (0 to 9).

C does not allow punctuation characters such as @, $, and % within identifiers. C is a case sensitive programming language. Thus, Manpower and manpower are two different identifiers in C. Here are some examples of acceptable identifiers:



The following list shows the reserved words in C. These reserved words may not be used as constant or variable or any other identifier names.


Whitespace in C

A line containing only whitespace, possibly with a comment, is known as a blank line, and a C compiler totally ignores it.

Whitespace is the term used in C to describe blanks, tabs, newline characters and comments. Whitespace separates one part of a statement from another and enables the compiler to identify where one element in a statement, such as int, ends and the next element begins. Therefore, in the following statement:

int age;

There must be at least one whitespace character (usually a space) between int and age for  the compiler to be able to distinguish them. On the other hand, in the following statement:

fruit = apples + oranges; // get the total fruit

No whitespace characters are necessary between fruit and =, or between = and apples, although you are free to include some if you wish for readability purpose.