Presentation is loading. Please wait.

Presentation is loading. Please wait.

Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 1Winter Quarter C Programming Basics Lecture 5.

Similar presentations


Presentation on theme: "Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 1Winter Quarter C Programming Basics Lecture 5."— Presentation transcript:

1 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 1Winter Quarter C Programming Basics Lecture 5

2 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 2Winter Quarter ENG H192 Course Web Page A web page which contains the course syllabus, updated lecture notes and other useful information may be found at: http://feh.eng.ohio-state.edu

3 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 3Winter Quarter C Program Basics C vs. C++ –C is a subset of C++. All of features in C are contained in C++ –C++ adds more libraries with functions for object oriented programming –C++ also adds more keywords and some added features.

4 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 4Winter Quarter Keywords in C and C++ Certain words have a special meaning to the C or C++ compiler. They are called reserved words or keywords. We should not try to use these words as names of variables or function names in a program. The keyword list for C contains 32 words (see text, pg. 545). C++ adds 30 more keywords.

5 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 5Winter Quarter Some Keywords in C and C++ switch template this throw try typedef union unsigned virtual void volatile while new operator private protected public register return short signed sizeof static struct double else enum extern float for friend goto if inline int long asm auto break case catch char class const continue default delete do

6 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 6Winter Quarter Program Structure in C EACH complete C program is composed of: –Comment statements –Pre-processor directives –Declaration statements –One or more functions –Executable statements

7 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 7Winter Quarter Program Structure in C EACH complete C program is composed of: –Comment statements –Pre-processor directives –Comment statements –Declaration statements –Comment statements –One or more functions –Comment statements –Executable statements –Comment statements

8 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 8Winter Quarter Comment Statements Formal Comments: /* Comment ….. */ –Used for detailed description of functions or operations (for our benefit, not compiler’s). –Can take multiple lines in source file. Informal Comments (only in C++, not C): // Comment ….. Ends at the end of line –Used for quick comments like: int temp; // temporary variable for storing // the input value

9 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 9Winter Quarter Pre-Processor Directives #include -- header files for library functions Example: #include #define -- define constants and macros Examples: #define e 2.7182818 #define pi 3.14159265359 Note Space Note Spaces

10 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 10Winter Quarter Declarations Declarations tell the compiler what variable names will be used and what type of data each can handle (store). Example declarations: int a, b, c ; float r, p, q ; double x, y, z ; char m, n ;

11 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 11Winter Quarter Data Types Integer variables:int a, b ; Integer variables, like a or b, store only whole numbers like 3 or 7, not 3.33 or 7.65, and only up to certain maximum values. Floating point variables:float c, d ; Floating point variables, like c or d, store rational numbers, like 3.14159, but only a limited number of digits of precision.

12 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 12Winter Quarter Internal Storage Representation Definitions: –Binary digit -- or a "bit", is either a 0 or a 1 –Byte -- usually a collection of 8 bits together –Word -- often a collection of 4 bytes together On the SGI Unix system: –an "int" data type takes up 4 bytes (on some systems, an "int" is only 2 bytes) –a "float" data type takes up 4 bytes –a "double" data type take up 8 bytes –a "char" data type takes up 1 byte

13 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 13Winter Quarter Programs Have One or More Functions Even the main program is a function. The body of each user-written function is enclosed in braces, { } (or curly brackets) The syntax of a function is: function_name (arg. list) { /* beginning of function */ } /* end of function */

14 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 14Winter Quarter Executable Statements Simple Declaring variables int temp ; char a ; Assigning Values temp = 5 ; Complex, i.e., Calling Functions fubar (x, y) ; Calculations x = (5. / 2 + 6) * 7 ;

15 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 15Winter Quarter Arithmetic Operators *multiply+add /divide-subtract %remainder, where: x = 13 % 5 ;/* x will be equal to 3 */ An expression can be used almost anywhere a variable of the same type can be used. Ex. expressions:num + 3, a * d - 5,...

16 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 16Winter Quarter Mixed Mode Arithmetic When performing arithmetic operations, the "mode" will one of: –Floating point, if both operands are floating point –Integer, if both operands are integer –Mixed, if one operand in integer and the other is floating point -- the result is floating point Integer operations produce integer results (remember how you first learned to to division?)

17 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 17Winter Quarter Assignment Operators Operator:Example:Meaning: = x = 5 ;x = 5 ; +=x += 5 ;x = x + 5 ; –=x –= 5 ;x = x – 5 ; /=x /= 5 ;x = x / 5 ; *=x *= 5 ;x = x * 5 ; %= x %= 5; x = x % 5 ;

18 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 18Winter Quarter Assignment Operators Example of assignment operators: int a = 4, b = 2, c = 36 ; a += b ;/* This adds b to a, a = ? */ c /= a + b ;/* What is value of c now? */

19 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 19Winter Quarter Assignment Operators Example of assignment operators: int a = 4, b = 2, c = 36 ; a += b ;/* This adds b to a, a = ? */ [ Answer: a = a + b, so a = 4 + 2 or a = 6 ] c /= a + b ;/* What is value of c now? */

20 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 20Winter Quarter Assignment Operators Example of assignment operators: int a = 4, b = 2, c = 36 ; a += b ;/* This adds b to a, a = ? */ [ Answer: a = a + b, so a = 4 + 2 or a = 6 ] c /= a + b ;/* What is value of c now? */ [ Answer: c = c / (a + b), and a = 6 now, so c = 36 / (6 + 2), so c = 36 / 8 or c = 4 ]

21 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 21Winter Quarter Increment/Decrement Operators Operator: Meaning:When? count++ ;count = count + 1 ;After use ++count ; count = count + 1 ;Before use count-- ;count = count - 1 ;After use --count ; count = count - 1 ;Before use

22 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 22Winter Quarter Increment/Decrement Operators Examples of increment and decrement operators: int a = 4, b = 2, c; c = ++a + b-- ; /* What are the values of a, b, c now? */ c = b-- - ++a ; /* What are the values of a, b, c now? */

23 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 23Winter Quarter Increment/Decrement Operators Examples of increment and decrement operators: int a = 4, b = 2, c; c = ++a + b-- ; /* What are the values of a, b, c now? */ (Answers: a = 5, b = 1, c = 7) c = b-- - ++a ; /* What are the values of a, b, c now? */

24 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 24Winter Quarter Increment/Decrement Operators Examples of increment and decrement operators: int a = 4, b = 2, c; c = ++a + b-- ; /* What are the values of a, b, c now? */ (Answers: a = 5, b = 1, c = 7) c = b-- - ++a ; /* What are the values of a, b, c now? */ (Answers: a = 6, b = 0, c = -5)

25 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 25Winter Quarter Relational Operators Operator:Meaning: <Less Than >Greater Than <=Less Than or Equal To >=Greater Than or Equal To ==Exactly Equal To !=Not Equal To

26 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 26Winter Quarter Relational Operators Used for asking questions like: Is x bigger than 10? In C, the value of 1 stands for true and 0 stands for false. But C will recognize any non zero value as true. NOTE:"==" is NOT same as "="

27 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 27Winter Quarter Logical Operators ! (not) Ex: a != b is true if a and b are not equal && (and) Ex: 5 4 is true, but 5>6 && 7>4 is not true (i.e., false) || (or) Ex: 5>6 || 7>4 is true 5<6 || 7<4 is also true

28 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 28Winter Quarter Exponentiation Operations Exponentiation is not written as x**2 or x^2 C does not have an exponentiation operator. You can use the math function pow (a, b) which raises a to the b power. You must put a #include in your source code and must also use the -lm switch in your compile command when on the SGI UNIX system. Ex: >CC -o myprog.out myprog.cpp -lm

29 Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 29Winter Quarter Skeleton Program /* Name: Brutus Buckeye */ /* Seat No. 0, Instr: W. Hayes */ /* Program progname */ #include void main ( ) { statements ; }


Download ppt "Engineering H192 - Computer Programming Gateway Engineering Education Coalition Lect 5P. 1Winter Quarter C Programming Basics Lecture 5."

Similar presentations


Ads by Google