300 likes | 404 Views
C Programming Language. Developed in 1972 by Dennis Ritchie at AT&T Bell Laboratories Used to rewrite the UNIX operating system Widely used on UNIX systems ANSI standardized in order to prevent the fragmentation of the language. C Language Elements. Preprocessor directives
E N D
C Programming Language • Developed in 1972 by Dennis Ritchie at AT&T Bell Laboratories • Used to rewrite the UNIX operating system • Widely used on UNIX systems • ANSI standardized in order to prevent the fragmentation of the language
C Language Elements • Preprocessor directives • Commands processed by the preprocessor before compilation • #include (especially for standard header files) • #include <stdio.h> • The text of the included file is replaces the #include • #define (especially for constants) • #define PI 3.14 • Every instance of (e.g.) PI is replaced with 3.14
C Language Elements • Comments (begin with ‘/*’ end with ‘*/’ ) • /* HELLO THERE! */ • Comments have no effect on the program and are ignored by the compiler • Be careful to close all comments! • Used carefully, comments can help document a program
C Language Elements • A program is divided into one or more functions • This makes a program easier to understand (we can ignore the details of a function) • We can also reuse someone else’s functions • Every C program contains a function called main • Execution of the program begins with the main function
C Language Elements • The main function begins with the heading: int main (void) • The remainder of the function is called the body of the function • It is enclosed in braces {, } • The body consists of declarations and executable statements • Declarations names memory cells needed by the function and tells what kind of data will be stored in each cell
C Language Elements • Example: int my_age, your_age; • Executable statements cause operations to be performed
C Language Elements • Reserved words have special meanings in C and cannot be used for other purposes • Examples: int, void, return • Standard identifiers are words defined in the standard libraries and known to C. • They can be used, but shouldn’t be! • User-defined identifiers are words that you define in your program
C Language Elements • Identifiers are used to name memory cells and operations that we define • Identifiers must respect the following three rules • An identifier must consist only of letters, digits, and underscores • An identifier cannot begin with a digit • A C reserved word cannot be used as an identifier
C Language Elements • Identifiers • The case of the letters is significant in C! (cat and CAT are two different identifiers) • Choose meaningful names for your identifiers. The people who maintain your programs will be eternally grateful! • 1. Unless there is a good reason, don’t use the names of standard identifiers • 2. There are no good reasons! Don’t do it.
Variable Declarations and Data Types • The memory cells which contain a program’s input, intermediate results, and final results are called variables • Variable declarations tell the C compiler the names of all of the variables which will be used in a program and the kinds of values they will store
Variable Declarations and Data Types • The form of a variable declaration is: type variable_name; • If we have more than one variable of the same type, we can give the type just once and separate the variables with commas: type var1, var2, var3; • The type must be one of the predefined C data types (greatly simplified explanation!)
Variable Declarations and Data Types • Data types are a set of values and a set of operations on those values • The set of integers is one such set of values. What are the operations defined on this set? • Among the predefined data types of C are char, double, and int which represent characters, real numbers, and integers • The range of data type int is at least -32767 through 32767
Variable Declarations and Data Types • Values of type double have both an integral and a fractional part, separated by a decimal point: 3.141, 0.1111, etc. • We can also represent real numbers using scientific notation: 5.001e3 or 5.001E3 which means • Either one of these representations can be used in a C program
Variable Declarations and Data Types • Data type char represents an individual character (not a string!) • Each character is enclosed in apostrophes: ‘A’, ‘b’, ‘ ‘ • The values of a data type: ‘a’, 12, 4.0e3 are called literals when used in a program
Executable Statements • The executable statements follow the declarations in a function. (Why?) • These statements implement the algorithm previously developed • The statements must be translated into machine language prior to execution • We will now examine several common types of statements
Executable Statements • Assignment statements are perhaps the most common of all statements. They assign a value to a variable (a named memory cell) • The syntax for an assignment statement is: variable = expression; • Note that an assignment statement will always have a variable on the left hand side, never a literal
Executable Statements • Examples of assignment statements: • a = 2.0; • b = ‘c’; • c = a; • a = 2.0 + 7.0 * e; • ‘b’ = ‘c’; • j = k/l;
Executable Statements • Input/Output operations are performed by special-purpose functions in C • scanf is an input operation • printf is an output operation • These functions are part of the standard i/o library • In order to use them we must have the following statement in our program: #include <stdio.h>
Executable Statements • In order to activate a function like printf or scanf we use a statement called a function call • This statement causes the executable statements contained in the function to be executed. • The function printf is called with two arguments, a format string and a print list. • printf(“That equals %f kilometers.\n”, kms);
Executable Statements • The arguments to a function are pieces of information that the function needs in order to be executed • The arguments to a function are enclosed in parentheses and separated by commas. • In the printf function, for each variable whose value we want to print, we must have a corresponding placeholder in the format string
Executable Statements • The placeholders for the data types we have seen are given below: • %c char • %d int • %f double (used in printf only) • %lf double (used in scanf only) • Example: • printf(“%c %d %f That’s all!\n”, ch, real, integer); • Note that the ordering of the placeholders is important!
Executable Statements • The \n pair of symbols is called an escape sequence (used to represent a non-printing character) and causes the cursor to go to the next line in the output • Example: printf(\nline two\nline three\n”); • The printf statement can be used to prompt the user to enter some input