250 likes | 372 Views
Introduction to C. Creating your first C program. 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
E N D
Introduction to C Creating your first C program
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.
Using the C Compiler • Invoking the compiler is system dependent. • At UMBC, we have two C compilers available, cc and gcc. • For this class, we will use the cc compiler, because the error messages given by the cc compiler are easier for beginners to understand.
Invoking the Compiler Example • cc pgm.c • where pgm.c is the source file that contains a program
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. • Both the cc and the gcc compilers name the executable file a.out • To execute the program, type a.out at the Unix prompt. • Although we call this “compiling a program”, what actually happens is more complicated.
3 Stages of Compilation • Preprocessor - modifies the source code • Handles preprocessor directives • Strips comments and whitespace from the code
3 Stages of Compilation • Compiler - translates the modified source code into object code • Parser - checks for errors • Code Generator - makes the object code • Optimizer - may change the code to be more efficient
3 Stages of Compilation • Linker - combines the object code of our program with other object code to produce the executable file. • The other object code can come from: • The Run-Time Library - a collection of object code with an index so that the linker can find the appropriate code. • other object files • other libraries
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 Executable file a.out
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 • Test the program
Incremental Approach to Writing Code • Tips about writing code. • Write your code in incomplete but working pieces. • For instance: For your project • Don’t write the whole program at once. • Just write enough that you display the prompt to the user on the screen. • Get that part working first. • Next write the part that gets the value from the user, and then just print it out.
Incremental Approach to Writing Code (continued) • Get that working. • Next change the code so that you use the value in a calculation and print out the answer. • Get that working. • Make program modifications: • perhaps additional instructions to the user • a displayed program description for the user • add more comments. • Get the final version working.
A Simple C Program • /* Filename: hello.c • Author: Brian Kernighan & Dennis Ritchie • Date written: ?/?/1978 • Description: This program prints the greeting “Hello, World!” • */ • #include <stdio.h> • main ( ) • { • printf (“Hello, World!\n”) ; • }
Anatomy of a C Program • program header comment • preprocessor directives • main ( ) • { • statement(s) • }
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
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.
main ( ) • Every program has a function called main, where execution begins • The parenthesis following main indicate to the compiler that it is a function.
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.
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.
Right Brace • This right curly brace -- } --matches the left curly brace above. • It ends the function main ( ).
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: • Naming conventions • Use of whitespace • Use of Braces • Comments
Examples of Comment Styles • /* a comment */ • /*** another comment ***/ • /*****/ • /*A comment can be written in this • * fashion to set it off from the • * surrounding code. • */
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 * • \*******************************************/
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
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.