Armed with the knowledge about the types of variables, constants & keywords the next logical step is to combine them to form instructions However, instead of this, we would write our first C program now. Once we have done that we would see in detail the instructions that it made use of.

The First C Program

Before we begin with our first C program do remember the following rules that are applicable to all C programs:
  1. Each instruction in a C program is written as a separate statement Therefore a complete C program would comprise a series of statements.
  2. The statements in a program must appear in the same order in which we wish them to be executed unless, of course, the logic of the problem demands a deliberate ' jump ' or transfer of control to a statement, which is out of sequence.
  3. Blank spaces may be inserted between two words to improve the readability of the statement. However, no blank spaces are allowed within a variable, constant, or keyword.
  4. All statements are entered in small case letters.
  5. C has no specific rules for the position at which a statement is to be written That's why it is often called a free-form language.
  6. Every C statement must end with a ; Thus ; acts as a statement terminator.

Let us now write down our first C program. It would simply calculate simple interest for a set of values representing principle, number of years, and rate of interest.

/*Calculation of simple interest * / 
main ( ) 
 int p, n ;
float r, si ; 
p = 1000 ;
n = 3 ; 
r = 85 ; 
/ * formula for simple interest " / 
si = p * n * r / 100 ;
printf ( " % f " ,si );

Now a few useful tips about the program…
  • Comments about the program should be enclosed within / * * / For example, the first two statements in our program are comments.
  • Though comments are not necessary, it is a good practice to begin a program with a comment indicating the purpose of the program, its author, and the date on which the program was written.
  • Any nun of comments can be written at any place in the program For example, a comment can be written before the statement, after the statement, or within the statement as shown below : 
/ * formula * / si = p * n * r / 100 ; 
si = p * n * r / 100 , / * formula * / 
si = p * n * r / / * formula * / 100 ;
  • Sometimes it is not so obvious what a particular statement in a program accomplishes. At such times it is worthwhile mentioning the purpose of the statement ( or a set of statements ) using a comment. For example.

/ * formula for simple interest * / 
si = p * n * r / 100;

  • Often programmers seem to ignore the writing of comments But when a team is building big software well-commented code is almost essential for other team members to understand it.
  • Although a lot of comments are probably not necessary in this program, it is usually the case that programmers tend to use too few comments rather than too many An adequate number of comments can save hours of misery and suffering when you later try to figure out what the program does.
  • The normal language rules do not apply to text written within / * .. * / Thus we can type this text in a small case, capital, or a combination This is because the comments are solely given for the understanding of the programmer or the fellow programmers and are completely ignored by the compiler.
  • Comments cannot be nested. For example. 
            / * Cal of Sl / sam date 01/05/2005 * / * / 
            is invalid.

  • A comment can be split over more than one line, as in, 
/ * This is 
  a jazzy 
 comment * /
Such a comment is often called a multi-line comment.
  • main ( ) is a collective name given to a set of statements. This name has to be main ( ), it cannot be anything else. All statements that belong to main ( ) are enclosed within a pair of braces { } as shown below.
main ( ) 
 statement 1;
 statement 2;
 statement 3;
  • Technically speaking main ( ) is a function Every function has a pair of parentheses ( ) associated with it.
  • Any variable used in the program must be declared before using it. For example, 
int p, n ;
float r, si;
  • Any C statement always ends with a;
For example, 
float r, si; 
r = 8.5; 
  • In the statement, 
si p * n * r / 100 ; 
* and / are the arithmetic operators. The arithmetic operators available in C are +, -, *, and /. C is very rich in operators There are about 45 operators available in C. Surprisingly there is no operator for exponentiation. a slip, which can be forgiven considering the fact that C has been developed by an individual, not by a committee.

  • Once the value of si is calculated it needs to be displayed on the screen Unlike other languages, C does not contain any instruction to display output on the screen. All output to the screen is achieved using readymade library functions. One such function is printf ( ) We have used it to display on the screen the value contained in si.
The general form of the printf ( ) function is,

printf ( " < format string > " , < list of variables > ) ; 

< format string > can contain,

% f for printing real values 
% d for printing integer values 
% c for printing character values

In addition to format specifiers like % f % d and % c, the format string may also contain any other characters. These characters are printed as they are when the printf ( ) is executed:

Following are some examples of usage of the printf ( ) function.

printf (“%f”, si);
printf ( " % d % d % f % f " , p , n , r , si ); 
printf ( " Simple interest = Rs . % f " , si ); 
printf ( " Prin = % d InRate = % f " , p , r );

The output of the last statement would look like this…

Prin = 1000
Rate = 8.5

What is ' \ n ' doing in this statement? It is called newline and it takes the cursor to the next line. Therefore, you get the output split over two lines. n is one of the several Escape Sequences available in C. Right now, all that we can say is \ n " comes in handy when we want to format the output properly on separate lines.

printf ( ) can not only print values of variables, but it can also print the result of an expression. An expression is nothing but a valid combination of constants, variables, and operators Thus, 3, 3 + 2, c and a + b * c - d all are valid expressions The results of these expressions can be printed as shown below:

printf ( " % d % d % d % d ", 3 , 3 + 2, c , a + b * c - d );

Note that 3 and c also represent valid expressions.