Home

The Simplest C Program  

Let’s start with the simplest possible C program and use it both to understand the basics of C and the C compilation process. Type the following program into a standard text editor (vi or emacs on UNIX, Notepad on Windows or TeachText on a Macintosh). Then save the program to a file named samp.c. If you leave off .c, you will probably get some sort of error when you compile it, so make sure you remember the .c. Also, make sure that your editor does not automatically append some extra characters (such as .txt) to the name of the file. Here’s the first program:

#include <stdio.h>
int main()
{
printf("This is output from my first program!\n");
return 0;
}

The Simplest C Program: What’s Happening?  

Let’s walk through this program and start to see what the different lines are doing (Click here to open the program in another window):

  • This C program starts with #include <stdio.h>. This line includes the “standard I/O library” into your program. The standard I/O library lets you read input from the keyboard (called “standard in”), write output to the screen (called “standard out”), process text files stored on the disk, and so on. It is an extremely useful library. C has a large number of standard libraries like stdio, including string, time and math libraries. A library is simply a package of code that someone else has written to make your life easier (we’ll discuss libraries a bit later).
  • The line int main() declares the main function. Every C program must have a function named main somewhere in the code. We will learn more about functions shortly. At run time, program execution starts at the first line of the main function.
  • In C, the { and } symbols mark the beginning and end of a block of code. In this case, the block of code making up the main function contains two lines.
  • The printf statement in C allows you to send output to standard out (for us, the screen). The portion in quotes is called the format string and describes how the data is to be formatted when printed. The format string can contain string literals such as “This is output from my first program!,” symbols for carriage returns (\n), and operators as placeholders for variables (see below). If you are using UNIX, you can type man 3 printf to get complete documentation for the printf function. If not, see the documentation included with your compiler for details about the printf function.
  • The return 0; line causes the function to return an error code of 0 (no error) to the shell that started execution. More on this capability a bit later.

Variables  

As a programmer, you will frequently want your program to “remember” a value. For example, if your program requests a value from the user, or if it calculates a value, you will want to remember it somewhere so you can use it later. The way your program remembers things is by using variables. For example:

int b;

This line says, “I want to create a space called b that is able to hold one integer value.” A variable has a name(in this case, b) and a type (in this case, int, an integer). You can store a value in b by saying something like:

b = 5;

You can use the value in b by saying something like:

printf("%d", b);

In C, there are several standard types for variables:

  • int – integer (whole number) values
  • float – floating point values
  • char – single character values (such as “m” or “Z”)

We will see examples of these other types as we go along.