1 Introduction to C Programming Outline Introduction to

  • Slides: 35
Download presentation
1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing

1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a Line of Text Another Simple Program: Adding Two Integers Memory Concepts Arithmetic Decision Making: Equality and Relational Operators 2003 Prentice Hall, Inc. All rights reserved.

2 Introduction Programs we will study in this book process information and display results.

2 Introduction Programs we will study in this book process information and display results. Some simple examples to introduce you to simple programming: – display information on the screen – obtain information from the user – perform simple decision-making 2003 Prentice Hall, Inc. All rights reserved.

3 A C++ Program #include <iostream> // Use the iostream library int main ()

3 A C++ Program #include <iostream> // Use the iostream library int main () // The main part of the program { … return 0; } 2003 Prentice Hall, Inc. All rights reserved.

4 A C++ Program (2) { /* Declaration of three float variables float means

4 A C++ Program (2) { /* Declaration of three float variables float means real numbers */ float cost, price, tax; data type variables // Display the message (stream) on the screen std: : cout << "This is a tax calculation program. " << endl; 2003 Prentice Hall, Inc. All rights reserved.

5 A C++ Program (3) // get output: Tell the user what to enter

5 A C++ Program (3) // get output: Tell the user what to enter std: : cout << “Enter the price n"; // get input: Insert what is entered into the variable std: : cin >> price; // Calculate tax = price * 0. 145; cost = price + tax; 2003 Prentice Hall, Inc. All rights reserved.

6 A C++ Program (4) // Display the content of cost // on the

6 A C++ Program (4) // Display the content of cost // on the monitor and end the line std: : cout << "The cost is " << cost << endl; // Program end return 0; } 2003 Prentice Hall, Inc. All rights reserved.

7 C++ Language Elements • Comments – – Document programs Improve program readability Ignored

7 C++ Language Elements • Comments – – Document programs Improve program readability Ignored by compiler Single-line comment • Begin with // • You can also use /* */ e. g. { /*… …*/ } 2003 Prentice Hall, Inc. All rights reserved.

8 Compiler Directives • Processed by preprocessor before compiling • Begin with # –

8 Compiler Directives • Processed by preprocessor before compiling • Begin with # – #include • Compiler directive • Processed at compilation time • Instructs compiler on what you want in the program – #include <iostream> • Adds library files to program • Used with < > • Also “ ” for user defined 2003 Prentice Hall, Inc. All rights reserved.

9 Declarations • Direct the compiler on requirements • Based on data needs (data

9 Declarations • Direct the compiler on requirements • Based on data needs (data identifiers) • Each identifier needed must be declared (before it is being used) • Comma used to separate identifiers • cin and cout are undeclared identifiers – – Special elements called streams cin - input stream cout - output stream (usually screen) Included with the iostream not declared 2003 Prentice Hall, Inc. All rights reserved.

10 Executable Statements • cout get output – cout << “Enter the fabric size

10 Executable Statements • cout get output – cout << “Enter the fabric size in square meters: ”; • cin get input – cin >> size. In. Sqmeters; • Assignment – size. In. Sqyards = meters. To. Yards * size. In. Sqmeters; 2003 Prentice Hall, Inc. All rights reserved.

1 2 3 4 5 6 7 8 9 10 11 12 // Fig.

1 2 3 4 5 6 7 8 9 10 11 12 // Fig. 2. 1: fig 02_01. cpp // A first program in C++. #include <iostream> Outline // function main begins program execution int main() { std: : cout << "Welcome to C++!n"; return 0; // indicate that program ended successfully } // end function main Welcome to C++! fig 02_01. cpp (1 of 1) fig 02_01. cpp output (1 of 1) 2003 Prentice Hall, Inc. All rights reserved. 11

12 Executable Statements -Every program MUST contain ONE “main” -C++ programs begin executing at

12 Executable Statements -Every program MUST contain ONE “main” -C++ programs begin executing at function “main”, even if it was not the first function in the program. - “int” indicates that the “main” function returns an integer - main (): indicates that the main function does not take any argument (variable) to execute int main () // The main part of the program { … return 0; } 2003 Prentice Hall, Inc. All rights reserved.

A Simple Program: Printing a Line of Text • Standard output stream object –

A Simple Program: Printing a Line of Text • Standard output stream object – std: : cout – “Connected” to screen – << • Stream insertion operator • Value to right (right operand) inserted into output stream • Namespace – std: : specifies using name that belongs to “namespace” std – std: : removed through use of using statements • Escape characters – – Indicates “special” character output 2003 Prentice Hall, Inc. All rights reserved. 13

A Simple Program: Printing a Line of Text 2003 Prentice Hall, Inc. All rights

A Simple Program: Printing a Line of Text 2003 Prentice Hall, Inc. All rights reserved. 14

1 2 3 4 5 6 7 8 9 10 11 12 13 //

1 2 3 4 5 6 7 8 9 10 11 12 13 // Fig. 2. 3: fig 02_03. cpp // Printing a line with multiple statements. #include <iostream> Outline // function main begins program execution int main() { std: : cout << "Welcome "; std: : cout << "to C++!n"; return 0; // indicate that program ended successfully } // end function main Welcome to C++! fig 02_03. cpp (1 of 1) fig 02_03. cpp output (1 of 1) 2003 Prentice Hall, Inc. All rights reserved. 15

1 2 3 4 5 6 7 8 9 10 11 12 // Fig.

1 2 3 4 5 6 7 8 9 10 11 12 // Fig. 2. 4: fig 02_04. cpp // Printing multiple lines with a single statement #include <iostream> Outline // function main begins program execution int main() { std: : cout << "Welcomentonn. C++!n"; return 0; // indicate that program ended successfully } // end function main Welcome to fig 02_04. cpp (1 of 1) fig 02_04. cpp output (1 of 1) C++! 2003 Prentice Hall, Inc. All rights reserved. 16

17 Data Types and Declarations • Variables – Location in memory where value can

17 Data Types and Declarations • Variables – Location in memory where value can be stored – Common data types • int - integer numbers (4 bytes) • char – represent characters (1 bytes) • double - floating point numbers (Positive or negative decimal numbers) • bool (Boolean) true or false – Declare variables with name and data type before use integer 1; integer 2; int sum; – Can declare several variables of same type in one declaration • Comma-separated list integer 1, integer 2, sum; 2003 Prentice Hall, Inc. All rights reserved.

18 Data Types and Declarations (2) • The basic integer type is int –

18 Data Types and Declarations (2) • The basic integer type is int – The size of an int depends on the machine and the compiler • On PCs it is normally 16 or 32 bits • Other integers types – short: typically uses less bits (2 bytes) – long: typically uses more bits (4 bytes) • Different types allow programmers to use resources more efficiently • Standard arithmetic and relational operations are available for these types 2003 Prentice Hall, Inc. All rights reserved.

19 Data Types and Declarations (3) • Floating-point types represent real numbers – Integer

19 Data Types and Declarations (3) • Floating-point types represent real numbers – Integer part – Fractional part • The number 108. 1517 breaks down into the following parts – 108 - integer part – 1517 - fractional part • C++ provides three floating-point types – Float (4 bytes) – Double (8 bytes) – long double (8 bytes) 2003 Prentice Hall, Inc. All rights reserved.

Another Simple Program: Adding Two Integers • Variables – Variable names • Valid identifier

Another Simple Program: Adding Two Integers • Variables – Variable names • Valid identifier – Series of characters (letters, digits, underscores) – Cannot begin with digit – Case sensitive 2003 Prentice Hall, Inc. All rights reserved. 20

Another Simple Program: Adding Two Integers • Input stream object – >> (stream extraction

Another Simple Program: Adding Two Integers • Input stream object – >> (stream extraction operator) • Used with std: : cin • Waits for user to input value, then press Enter (Return) key • Stores value in variable to right of operator – Converts value to variable data type • = (assignment operator) – Assigns value to variable – Binary operator (two operands) – Example: sum = variable 1 + variable 2; 2003 Prentice Hall, Inc. All rights reserved. 21

1 2 3 4 5 6 7 8 9 10 11 12 13 14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 // Fig. 2. 5: fig 02_05. cpp // Addition program. #include <iostream> Outline // function main begins program execution int main() { integer 1; // first number to be input by user integer 2; // second number to be input by user int sum; // variable in which sum will be stored std: : cout << "Enter first integern"; // prompt std: : cin >> integer 1; // read an integer std: : cout << "Enter second integern"; // prompt std: : cin >> integer 2; // read an integer fig 01_06. cpp (1 of 1) sum = integer 1 + integer 2; // assign result to sum std: : cout << "Sum is " << sum << std: : endl; // print sum return 0; // indicate that program ended successfully } // end function main 2003 Prentice Hall, Inc. All rights reserved. 22

Enter first integer 45 Enter second integer 72 Sum is 117 Outline fig 01_06.

Enter first integer 45 Enter second integer 72 Sum is 117 Outline fig 01_06. cpp output (1 of 1) 2003 Prentice Hall, Inc. All rights reserved. 23

24 Memory Concepts • Variable names – Correspond to actual locations in computer's memory

24 Memory Concepts • Variable names – Correspond to actual locations in computer's memory – Every variable has name, type, size and value int X; – When new value placed into variable, overwrites previous value – Reading variables from memory nondestructive (variable retains its value) 2003 Prentice Hall, Inc. All rights reserved.

25 Memory Concepts std: : cin >> integer 1; – Assume user entered 45

25 Memory Concepts std: : cin >> integer 1; – Assume user entered 45 std: : cin >> integer 2; – Assume user entered 72 sum = integer 1 + integer 2; integer 1 45 integer 2 72 sum 2003 Prentice Hall, Inc. All rights reserved. 117

26 Arithmetic • Most programs perform arithmetic calculations • Arithmetic calculations – * –

26 Arithmetic • Most programs perform arithmetic calculations • Arithmetic calculations – * – / • Multiplication • Division • Integer division truncates remainder – 7 / 5 evaluates to 1 – % • Modulus operator returns remainder – 7 % 5 evaluates to 2 • All arithmetic operators are binary operators (takes two operands) % operator cannot be used with non-integer operands (compilation error!) 2003 Prentice Hall, Inc. All rights reserved.

27 Arithmetic • Rules of operator precedence – Operators in parentheses are evaluated first

27 Arithmetic • Rules of operator precedence – Operators in parentheses are evaluated first • Nested/embedded parentheses – Operators in innermost pair first (e. g. , ((a + b) + c)) – Multiplication, division, modulus applied next • Operators applied from left to right – Addition, subtraction applied last • Operators applied from left to right 2003 Prentice Hall, Inc. All rights reserved.

28 Arithmetic e. g. , second degree polynomial: y = ax 2+bx+c C++ 6

28 Arithmetic e. g. , second degree polynomial: y = ax 2+bx+c C++ 6 4 5 y=a*x*x+b*x+c 1 2 2003 Prentice Hall, Inc. All rights reserved. 3

Decision Making: Equality and Relational Operators • if structure – Allows a programmer to

Decision Making: Equality and Relational Operators • if structure – Allows a programmer to make decision based on truth or falsity of condition: • If condition met, body executed • Else, body not executed • Equality and relational operators – Equality operators • Same level of precedence – Relational operators • Same level of precedence – Operators associate left to right 2003 Prentice Hall, Inc. All rights reserved. 29

Decision Making: Equality and Relational Operators 2003 Prentice Hall, Inc. All rights reserved. 30

Decision Making: Equality and Relational Operators 2003 Prentice Hall, Inc. All rights reserved. 30

Decision Making: Equality and Relational Operators • A syntax error will occur if any

Decision Making: Equality and Relational Operators • A syntax error will occur if any of the operators appear with spaces between its pair of symbols • Reversing the order of the pair of symbols (e. g. , =!, =>, =<) is a syntax error • Do not confuse the equality operator (= =) with the assignment operator (=) – (= =) reads “is equal to” – (=) reads “gets” or “gets the value of” 2003 Prentice Hall, Inc. All rights reserved. 31

Decision Making: Equality and Relational Operators • using statements – Eliminate use of std:

Decision Making: Equality and Relational Operators • using statements – Eliminate use of std: : prefix (avoid repetitions in the program) – Write cout instead of std: : cout 2003 Prentice Hall, Inc. All rights reserved. 32

1 2 3 4 5 6 7 8 9 10 11 12 13 14

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // Fig. 2. 13: fig 02_13. cpp // Using if statements, relational // operators, and equality operators. #include <iostream> Outline using std: : cout; // program uses cout using std: : cin; // program uses cin using std: : endl; // program uses endl // function main begins program execution int main() { int num 1; // first number to be read from user int num 2; // second number to be read from user fig 02_13. cpp (1 of 2) cout << "Enter two integers, and I will tell youn" << "the relationships they satisfy: "; cin >> num 1 >> num 2; // read two integers if ( num 1 == num 2 ) cout << num 1 << " is equal to " << num 2 << endl; if ( num 1 != num 2 ) cout << num 1 << " is not equal to " << num 2 << endl; 2003 Prentice Hall, Inc. All rights reserved. 33

26 27 28 29 30 31 32 33 34 35 36 37 38 39

26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 if ( num 1 < num 2 ) cout << num 1 << " is less than " << num 2 << endl; Outline if ( num 1 > num 2 ) cout << num 1 << " is greater than " << num 2 << endl; if ( num 1 <= num 2 ) cout << num 1 << " is less than or equal to " << num 2 << endl; if ( num 1 >= num 2 ) cout << num 1 << " is greater than or equal to " << num 2 << endl; fig 02_13. cpp (2 of 2) return 0; fig 02_13. cpp output (1 of 2) // indicate that program ended successfully } // end function main Enter two integers, and I will tell you the relationships they satisfy: 22 12 22 is not equal to 12 22 is greater than or equal to 12 2003 Prentice Hall, Inc. All rights reserved. 34

Enter two integers, and I will tell you the relationships they satisfy: 7 7

Enter two integers, and I will tell you the relationships they satisfy: 7 7 7 is equal to 7 7 is less than or equal to 7 7 is greater than or equal to 7 Outline fig 02_13. cpp output (2 of 2) 2003 Prentice Hall, Inc. All rights reserved. 35