Introduction to C Creating your first C program CMSC 104 1

advertisement
Introduction to C
Creating your first C program
CMSC 104
1
Writing C Programs

The programmer uses a text editor to create
or modify files containing C code.

C code is also called source code

A file containing source code is called a
source file

After a source file has been created, the
programmer must invoke the C compiler.
CMSC 104
2
Using the C Compiler

Invoking the compiler is system
dependent.
o At UMBC, we have two C compilers
available, cc and gcc.
o For this class, we will use the cc compiler,
because the error messages given by the
cc compiler are easier for beginners to
understand.
CMSC 104
3
Invoking the Compiler Example
cc pgm.c
where pgm.c is the source file that
contains a program
CMSC 104
4
The Result : a.out

If there are no errors in pgm.c, this
command produces an executable file,
one that can be run or executed.
o Both the cc and the gcc compilers name
the executable file a.out
o To execute the program, type a.out at
the Unix prompt.
Although we call this “compiling a
program”, what actually happens is
more complicated.
CMSC 104

5
3 Stages of Compilation
1 Preprocessor - modifies the source
code
o Handles preprocessor directives
o Strips comments and whitespace from the
code
CMSC 104
6
3 Stages of Compilation
2 Compiler - translates the modified
source code into object code
o Parser - checks for errors
o Code Generator - makes the object code
o Optimizer - may change the code to be
more efficient
CMSC 104
7
3 Stages of Compilation
3 Linker - combines the object code of
our program with other object code to
produce the executable file.
The other object code can come from:
o The Run-Time Library - a collection of
object code with an index so that the linker
can find the appropriate code.
o other object files
o other libraries
CMSC 104
8
Compilation Diagram
Editor <
Source File myprog.c
Compiler
Preprocessor
Parser
Code Generator
Optimizer
Object File myprog.o
Other Obj’s Run-time library Other libraries
Linker
CMSC 104
Executable file a.out
9
An algorithm for writing code
Write the algorithm
Write the code using emacs (pico, vi)
Try to compile the code
While there are still syntax errors
Fix errors
Try to compile the code
Test the program
Fix any semantic errors
Compile the code
CMSC 104 Test the program
10
Incremental Approach
to Writing Code



CMSC 104
Tips about writing code.
Write your code in incomplete but working
pieces.
For instance: For your project
o Don’t write the whole program at once.
o Just write enough that you display the
prompt to the user on the screen.
o Get that part working first.
o Next write the part that gets the value from
the user, and then just print it out.
11
Incremental Approach
to Writing Code (continued)
o Get that working.
o Next change the code so that you use the
value in a calculation and print out the
answer.
o Get that working.
o Make program modifications:
• perhaps additional instructions to the user
• a displayed program description for the user
• add more comments.
CMSC 104
o Get the final version working.
12
A Simple C Program
/* Filename:
Author:
Date written:
Description:
hello.c
Brian Kernighan & Dennis Ritchie
?/?/1978
This program prints the greeting
“Hello, World!”
*/
#include <stdio.h>
main ( )
{
printf (“Hello, World!\n”) ;
}
CMSC 104
13
Anatomy of a C Program
program header comment
preprocessor directives
main ( )
{
statement(s)
}
CMSC 104
14
The Program Header Comment
All comments must begin with the
characters /* and end with the
characters */
 The program header comment always
comes first
 The program header comment should
include the filename, author, date
written and a description of the program

CMSC 104
15
Preprocessor Directive
Lines that begin with a # are called
preprocessor directives
 The #include <stdio.h> directive causes
the preprocessor to include a copy of
the standard input/output header file
stdio.h at this point in the code.
 This header file was included because it
contains information about the printf ( )
function that’s used in this program.
CMSC 104

16
main ( )

Every program has a function called
main, where execution begins

The parenthesis following main indicate
to the compiler that it is a function.
CMSC 104
17
Left Brace

A left curly brace -- { -- begins the body
of every function. A corresponding right
curly brace must end the function.

The style is to place these braces on
separate lines in column 1.
CMSC 104
18
printf (“Hello, World!\n”) ;
This is the function printf ( ) being
called with a single argument, namely
the string “Hello, World!\n”
 Even though a string may contain many
characters, the string itself should be
thought of as a single quantity.
 Notice that this line ends with a
semicolon. All statements in C end
with a semicolon.
CMSC 104

19
Right Brace

This right curly brace -- } --matches the
left curly brace above.

It ends the function main ( ).
CMSC 104
20
Good Programming Practices
C programming standards are available
on the Web -- see course homepage
 You will be expected to conform to
these standards for all programming
projects in this class and in CMSC 201
 These standards include:

CMSC 104
o Naming conventions
o Use of whitespace
o Use of Braces
o Comments
21
Examples of Comment Styles
/* a comment */
/*** another comment ***/
/*****/
/*A comment can be written in this
* fashion to set it off from the
* surrounding code.
*/
CMSC 104
22
More Comments
/*******************************************\
* If you wish, you can put comments *
* in a box. This is typically used for *
* program header comments and for *
* function header comments
*
\*******************************************/
CMSC 104
23
Use of Whitespace
Use blank lines to separate major parts
of a source file or function
 Separate declarations from executable
statements with a blank line
 Preprocessor directives, main(), braces
are in column 1

CMSC 104
24
Use of Whitespace
(continued)
All executable statements are indented
one tab stop. How deep should my tabs
be ?
 Typically 3 or 4 spaces. 2 is not
enough for good readability, more
than four causes indentation to be
too deep.

CMSC 104
25
Download