Category : C Source Code
Archive   : CTUTOR1.ZIP
Filename : CHAP2.TXT

Output of file : CHAP2.TXT contained in archive : CTUTOR1.ZIP

Chapter 2 - Getting started in C


The best way to get started with C is to actually look

at a program, so load the file named TRIVIAL.C into your

editor and display it on the monitor. You are looking at

the simplest possible C program. There is no way to

simplify this program or to leave anything out.

Unfortunately, the program doesn't do anything.

The word "main" is very important, and must appear

once, and only once in every C program. This is the point

where execution is begun when the program is run. We will

see later that this does not have to be the first statement

in the program but it must exist as the entry point.

Following the "main" program name is a pair of parentheses

which are an indication to the compiler that this is a

function. We will cover exactly what a function is in due

time. For now, I suggest that you simply include the pair

of parentheses.

The two curly brackets, properly called braces, are

used to define the limits of the program itself. The actual

program statements go between the two braces and in this

case, there are no statements because the program does

absolutely nothing. You can compile and run this program,

but since it has no executable statements, it does nothing.

Keep in mind however, that it is a valid C program.


For a much more interesting program, load the program

named WRTSOME.C and display it on your monitor. It is the

same as the previous program except that it has one

executable statement between the braces.

The executable statement is another function. Once

again, we will not worry about what a function is, but only

how to use this one. In order to output text to the

monitor, it is put within the function parentheses and

bounded by quotation marks. The end result is that whatever

is included between the quotation marks will be displayed on

the monitor when the program is run.

Notice the semi-colon at the end of the line. C uses a

semi-colon as a statement terminator, so the semi-colon is

required as a signal to the compiler that this line is

complete. This program is also executable, so you can

compile and run it to see if it does what you think it


Page 7

Chapter 2 - Getting started in C


Load the program WRTMORE.C and display it on your

monitor for an example of more output and another small but

important concept. You will see that there are four program

statements in this program, each one being a "printf"

function statement. The top line will be executed first,

then the next, and so on, until the fourth line is complete.

The statements are executed in order from top to bottom.

Notice the funny character near the end of the first

line, namely the backslash. The backslash is used in the

printf statement to indicate a special control character is

following. In this case, the "n" indicates that a "newline"

is requested. This is an indication to return the cursor to

the left side of the monitor and move down one line. It is

commonly referred to as a carriage return/line feed. Any

place within text that you desire, you can put a newline

character and start a new line. You could even put it in

the middle of a word and split the word between two lines.

The C compiler considers the combination of the backslash

and letter n as one character.

A complete description of this program is now possible.

The first printf outputs a line of text and returns the

carriage. The second printf outputs a line but does not

return the carriage so the third line is appended to that of

the second, then followed by two carriage returns, resulting

in a blank line. Finally the fourth printf outputs a line

followed by a carriage return and the program is complete.

Compile and run this program to see if it does what you

expect it to do. It would be a good idea at this time for

you to experiment by adding additional lines of printout to

see if you understand how the statements really work.


Load the file named ONEINT.C and display it on the

monitor for our first example of how to work with data in a

C program. The entry point "main" should be clear to you by

now as well as the beginning brace. The first new thing we

encounter is the line containing "int index;", which is used

to define an integer variable named "index". The "int" is a

reserved word in C, and can therefore not be used for

anything else. It defines a variable that can have a value

from -32768 to 32767 on most microcomputer implementations

of C. Consult your users manual for the exact definition

for your compiler. The variable name, "index", can be any

name that follows the rules for an identifier and is not one

of the reserved words for C. Consult your manual for an

Page 8

Chapter 2 - Getting started in C

exact definition of an identifier for your compiler. The

final character on the line, the semi-colon, is the

statement terminator used in C.

We will see in a later chapter that additional integers

could also be defined on the same line, but we will not

complicate the present situation.

Observing the main body of the program, you will notice

that there are three statements that assign a value to the

variable "index", but only one at a time. The first one

assigns the value of 13 to "index", and its value is printed

out. (We will see how shortly.) Later, the value of 27 is

assigned to "index", and finally 10 is assigned to it, each

value being printed out. It should be intuitively clear

that "index" is indeed a variable and can store many

different values. Please note that many times the words

"printed out" are used to mean "displayed on the monitor".

You will find that in many cases experienced programmers

take this liberty, probably due to the "printf" function

being used for monitor display.


To keep our promise, let's return to the "printf"

statements for a definition of how they work. Notice that

they are all identical and that they all begin just like the

"printf" statements we have seen before. The first

difference occurs when we come to the % character. This is

a special character that signals the output routine to stop

copying characters to the output and do something different,

namely output a variable. The % sign is used to signal the

start of many different types of variables, but we will

restrict ourselves to only one for this example. The

character following the % sign is a "d", which signals the

output routine to get a decimal value and output it. Where

the decimal value comes from will be covered shortly. After

the "d", we find the familiar \n, which is a signal to

return the video "carriage", and the closing quotation mark.

All of the characters between the quotation marks

define the pattern of data to be output by this statement,

and after the pattern, there is a comma followed by the

variable name "index". This is where the "printf" statement

gets the decimal value which it will output because of the

"%d" we saw earlier. We could add more "%d" output field

descriptors within the brackets and more variables following

the description to cause more data to be printed with one

statement. Keep in mind however, that it is important that

the number of field descriptors and the number of variable

Page 9

Chapter 2 - Getting started in C

definitions must be the same or the runtime system will get

confused and probably quit with a runtime error.

Much more will be covered at a later time on all

aspects of input and output formatting. A reasonably good

grasp of this topic is necessary in order to understand the

following lessons. It is not necessary to understand

everything about output formatting at this time, only a fair

understanding of the basics.

Compile and run ONEINT.C and observe the output.


Load the file COMMENTS.C and observe it on your monitor

for an example of how comments can be added to a C program.

Comments are added to make a program more readable to you

but the compiler must ignore the comments. The slash star

combination is used in C for comment delimiters. They are

illustrated in the program at hand. Please note that the

program does not illustrate good commenting practice, but is

intended to illustrate where comments can go in a program.

It is a very sloppy looking program.

The first slash star combination introduces the first

comment and the star slash at the end of the first line

terminates this comment. Note that this comment is prior to

the beginning of the program illustrating that a comment can

precede the program itself. Good programming practice would

include a comment prior to the program with a short

introductory description of the program. The next comment

is after the "main()" program entry point and prior to the

opening brace for the program code itself.

The third comment starts after the first executable

statement and continues for four lines. This is perfectly

legal because a comment can continue for as many lines as

desired until it is terminated. Note carefully that if

anything were included in the blank spaces to the left of

the three continuation lines of the comment, it would be

part of the comment and would not be compiled. The last

comment is located following the completion of the program,

illustrating that comments can go nearly anywhere in a C


Experiment with this program by adding comments in

other places to see what will happen. Comment out one of the

printf statements by putting comment delimiters both before

and after it and see that it does not get printed out.

Page 10

Chapter 2 - Getting started in C

Comments are very important in any programming language

because you will soon forget what you did and why you did

it. It will be much easier to modify or fix a well

commented program a year from now than one with few or no

comments. You will very quickly develop your own personal

style of commenting.

Some compilers allow you to "nest" comments which can

be very handy if you need to "comment out" a section of code

during debugging. Check your compiler documentation for the

availability of this feature with you particular compiler.

Compile and run COMMENTS.C at this time.


Load the file GOODFORM.C and observe it on your

monitor. It is an example of a well formatted program.

Even though it is very short and therefore does very little,

it is very easy to see at a glance what it does. With the

experience you have already gained in this tutorial, you

should be able to very quickly grasp the meaning of the

program in it's entirety. Your C compiler ignores all extra

spaces and all carriage returns giving you considerable

freedom concerning how you format your program. Indenting

and adding spaces is entirely up to you and is a matter of

personal taste. Compile and run the program to see if it

does what you expect it to do.

Now load and display the program UGLYFORM.C and observe

it. How long will it take you to figure out what this

program will do? It doesn't matter to the compiler which

format style you use, but it will matter to you when you try

to debug your program. Compile this program and run it.

You may be surprised to find that it is the same program as

the last one, except for the formatting. Don't get too

worried about formatting style yet. You will have plenty of

time to develop a style of your own as you learn the

language. Be observant of styles as you see C programs in

magazines, books, and other publications.

This should pretty well cover the basic concepts of

programming in C, but as there are many other things to

learn, we will forge ahead to additional program structure.


1. Write a program to display your name on the monitor.

2. Modify the program to display your address and phone

number on separate lines by adding two additional

"printf" statements.

Page 11