”C” Programing Tutorial
Let us begin
with a quick introduction in C. Our aim is to show the essential elements of
the language in real programs, but without getting bogged down in details,
rules, and exceptions. At this point, we are not trying to be complete or even
precise (save that the examples are meant to be correct). We want to get you as
quickly as possible to the point where you can write useful programs, and to do
that we have to concentrate on the basics: variables and constants, arithmetic,
control flow, functions, and the rudiments of input and output. We are
intentionally leaving out of this sentence features of C that are important for
writing bigger programs. These include pointers, structures, most of C's rich
set of operators, several control-flow statements, and the standard library.
This approach and its drawbacks. Most notable is that the complete story on any
particular feature is not found here, and the tutorial, by being brief, may
also be misleading. And because the examples do not use the full power of C, they
are not as concise and elegant as they might be. We have tried to minimize
these effects, but be warned. Another drawback is that later sentences will
necessarily repeat some of this sentence. We hope that the repetition will help
you more than it annoys.
In any case,
experienced programmers should be able to extrapolate from the material in this
sentence to their own programming needs. Beginners should supplement it by
writing small, similar programs of their own.
The only way to
learn a new programming language is by writing programs in it. The first
program to write is the same for all languages: Print the words hello, world This is a big hurdle; to
leap over it you have to be able to create the program text somewhere, compile
it successfully, load it, run it, and find out where your output went. With
these mechanical details mastered, everything else is comparatively easy. In C,
the program to print
``hello, world''
is #include main() {
printf("hello, world\n"); }
Just how to run this program depends
on the system you are using. As a specific example, on the UNIX operating
system you must create the program in a file whose name ends in
``.c'', such as hello.c,
then compile
it with the command cc hello.c 10 If
you haven't botched anything, such as omitting a character or misspelling
something, the compilation will proceed silently, and make an executable file
called a.out. If you run a.out by typing the command a.out it will print hello,
world On other systems, the rules will be different; check with a local expert.
Now, for some explanations about the program itself. A C program, whatever its
size, consists of functions and variables. A function contains statements
that specify the computing operations to be done, and variables store
values used during the computation. C functions are like the subroutines and
functions in Fortran or the procedures and functions of Pascal. Our example is
a function named main. Normally you are at liberty to give functions whatever
names you like, but ``main'' is special - your program begins executing at the
beginning of main. This means that every program must have a main somewhere.
main will usually call other functions to help perform its job, some that you
wrote, and others from libraries that are provided for you. The first line of
the program,
#include
tells the
compiler to include information about the standard input/output library; the
line appears at the beginning of many C source files. The standard library is
described in Sentence 7 and Appendix B. One method of communicating data
between functions is for the calling function to provide a list of values,
called arguments, to the function it calls. The parentheses after the
function name surround the argument list. In this example, main is defined to
be a function that expects no arguments, which is indicated by the empty list ( ).
#include
include
information about standard library main() define a function called main
that received no argument values { statements of main are enclosed in
braces printf("hello, world\n"); main calls library function
printf to print this sequence of characters } \n represents the newline
character The first C program The statements of a function are
enclosed in braces { }. The function main contains only one statement,
printf("hello, world\n"); 11 A function is called by naming it,
followed by a parenthesized list of arguments, so this calls the function printf
with the argument "hello, world\n". printf is a library function that
prints output, in this case the string of characters between the quotes. A
sequence of characters in double quotes, like "hello, world\n", is
called a character string or string constant. For the moment our
only use of character strings will be as arguments for printf and other
functions. The sequence \n in the string is C notation for the newline
character, which when printed advances the output to the left margin on the
next line. If you leave out the \n (a worthwhile experiment), you will find
that there is no line advance after the output is printed. You must use \n to
include a newline character in the printf argument; if you try something like
printf("hello, world "); the C compiler will produce an error
message. printf never supplies a newline character automatically, so several
calls may be used to build up an output line in stages. Our first program could
just as well have been written #include main() {
printf("hello, "); printf("world"); printf("\n");
} to produce identical output.
Notice that \n represents only a single character. An escape
sequence like \n provides a general and extensible mechanism for
representing hard-to-type or invisible characters. Among the others that C
provides are \t for tab, \b for backspace, \" for the double quote and \\
for the backslash itself.
Exercise Run the ``hello, world'' program on your system. Experiment with
leaving out parts of the program, to see what error messages you get.
Exercise Experiment to find out what happens when prints's argument string
contains \c, where c is some character not listed above.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment