Introduction to C CMSC 104, Section 4 Richard Chang 1

advertisement
Introduction to C
CMSC 104, Section 4
Richard Chang
1
History of Programming
Languages & C

Machine code (aka “binary”)

Somehow enter raw sequence of binary patterns
1011010111001011
1011010110101010

Assembly “language”

Gave human-friendly syntax to machine code:
MOV
SUB
MOV
1200, R0
1202, R0
R0, 1200
2
History of Programming
Languages & C

Early high-level languages

COBOL



SUBTRACT B FROM A GIVING C
MULTIPLY C BY 2 GIVING D
FORTRAN
S1 = 3.0
S2 = 4.0
H = SQRT((S1 * S1) + (S2 * S2))
3
History of C

Derived from… (wait for it…) “B”!


(“B” itself was derived from the BCPL language)
Design goals were for C to be:



Efficient
Close to the machine
Structured: A true high-level language with
sophisticated control flow, data structures
4
History of C

UNIX was recoded in C


PDP-11 was a machine with 64 Kilobytes of
addressable memory
C is written in C!

Of course, first versions were written in assembly
language
5
Hello World ...

C:


MAIN SECTION
DISPLAY “hello, world“
STOP RUN.
Fortran77:


main( ) {
printf("hello, world");
}
COBOL:



PROGRAM HELLO
PRINT*, ‘hello, world‘
END
Lisp:

English:


Spanish:


Hola mundo
French:


Hello, world.
Salut le Monde
Greek:
 Γεια σου κόσμε
(defun helloworld ()
(print “hello, world") )
6
Writing C Programs

A programmer uses a text editor (not the same as
a word processor!) to create or modify files
containing C code.

Code is also known as source code.

A file containing source code is called a source file.
7
A Simple C Program
One of the first C program examples

1.
2.
3.
main ( ) {
printf (“hello, world”) ;
}
8
A Simple C Program…
to a Computer
m
a
i
n
(
)
h
e
l
l
o
,
}
-
-
-
-
-
{
-
\n
\t
p
r
i
n
f
(
“
w
o
r
l
d
“
)
;
\n
-
-
-
-
-
-
-
-
-
• So, after a C source file has been created, the programmer
must invoke the C compiler before the program can be
executed (run).
9
3 Stages of Compilation
Stage 1: Preprocessing

combines several text files for the compiler
Stage 2: Compiling

translates high-level source code into machine
language (object code)
Stage 2: Linking

combines object code from Stage 2 with object
code in libraries to create an executable program
10
Program Development Using gcc
Editor
Source File pgm.c
Preprocessor
Modified Source Code in RAM
Compiler
Program Object Code File pgm.o
Other Object Code Files (if any)
Linker
Executable File a.out
11
Anatomy of a C Program
program header comment
preprocessor directives (if any)
main ( )
{
statement(s)
}
12
Program Header Comment


Comments help a human being understand what
the program does.
It is customary to include comments at the top of
the file that include:





the name of the file
author
purpose of the source code in the file
Comments are ignored by the compiler.
Comments also appear interspersed in the source
code.
13
Preprocessor Directives

Lines that begin with a # in column 1 are called
preprocessor directives (commands).

Example: #include <stdio.h>

tells the compiler that you want to use functions like
printf().
14
main ( )
Source code for the program go between the
curly braces { } after main()
main() {
/* source code goes here... */
// and comments too!
}
15
Download