Presentation is loading. Please wait.

Presentation is loading. Please wait.

STRUCTURED PROGRAMMING C++ Operators. Content 2  C++ operators  Assignment operators  Arithmetic operators  Increment and decrement operators  Decision.

Similar presentations


Presentation on theme: "STRUCTURED PROGRAMMING C++ Operators. Content 2  C++ operators  Assignment operators  Arithmetic operators  Increment and decrement operators  Decision."— Presentation transcript:

1 STRUCTURED PROGRAMMING C++ Operators

2 Content 2  C++ operators  Assignment operators  Arithmetic operators  Increment and decrement operators  Decision making operators (logical and relational)  Conditional operator  Precedence and associativity of operators  Common errors

3 Objectives 3  By the end you should be able to:  Use the assignments and arithmetic operators  How decisions are made in your programs  Write simple decision –making statements  Recognize the precedence and associatively of operators  Identify and use the C++ conditional operator (?:)  Identify and use Increment & decrement operators  Use operators in output statements  Properly mix data types in expression and calculations

4 Operators  Data connectors within expression or equation  Concept related  Operand: data that operator connects and processes  Resultant: answer when operation is completed  Operators types based on their mission  Assignment  Arithmetic: addition, subtraction, modulo division,...etc  Relational: equal to, less than, grater than, …etc  Logical (decision-making): NOT, AND, OR 4

5 Operators (cont.)  Operators types based on number of operands  Unary operators Have only one operand May be prefix or postfix e.g. ! ++ --  Binary operators Have two operands Infix e.g. + && ==  Ternary operators Have three operands e.g. ? : 5

6 Assignment operators  Assignment statement takes the form below  Binary operators  Expression is evaluated and its value is assigned to the variable on the left side  Shorthand notation  varName = varName operator expression;  varName operator = expression; 6 varName = expression; c = c + 3; c += 3; c = c + 3; c += 3;

7 Assignment operators (cont.)  Assignment between objects of the same type is always supported 7

8 Arithmetic Operators  All of them are binary operators  Arithmetic expressions appear in straight-line form  Parentheses () are used to maintain priority of manipulation 8

9 Arithmetic Operators Precedence  Operators in parentheses evaluated first  Nested/embedded parentheses Operators in innermost pair first  Multiplication, division, modulus applied next  Operators applied from left to right  Addition, subtraction applied last  Operators applied from left to right 9

10 Example  The statement is written in algebra as z = pr % q + w / (x – y)  How can we write and evaluate the previous statement in C++ ? z = p * r % q + w / (x - y); 10 534216

11 Increment and Decrement Operators  Unary operators  Adding 1 to or (subtracting 1 from) variable’s value  Increment operator gives the same result of (c=c+1) or (c+=1)  Decrement operator gives the same result of (c=c-1) or (c-=1) 11

12 Increment and Decrement Operators (cont.) 12

13 Examples 13 int x = -10, y; y = ++x; cout << “x = “ << x << endl; cout << “y = “ << y << endl; int x = -10, y; y = ++x; cout << “x = “ << x << endl; cout << “y = “ << y << endl; Example # 1 x = -9 y = -9 x = -9 y = -9 output # 1 int x = -10, y; y = x++; cout << “x = “ << x << endl; cout << “y = “ << y << endl; int x = -10, y; y = x++; cout << “x = “ << x << endl; cout << “y = “ << y << endl; Example # 2 x = -9 y = -10 x = -9 y = -10 output # 2

14 Relational and Equality Operators  Binary operators  Used in decision -making statements 14

15 Relational and Equality Operators (cont.)  Have the same level of precedence  Applied from left to right  Used with conditions  Return the value true or false  Used only with a single condition 15

16 Logical Operators  Used to combine between multiple conditions  && (logical AND)  true if both conditions are true gender == 1 && age >= 65  || (logical OR)  true if either of condition is true semesterAverage >= 90 || finalExam >= 90 16 1 st condition2 nd condition

17 Logical Operators (cont.)  ! (logical NOT, logical negation)  Returns true when its condition is false, and vice versa !( grade == sentinelValue ) Also can be written as grade != sentinelValue 17

18 Conditional operator ( ?: )  Ternary operator requires three operands  Condition  Value when condition is true  Value when condition is false  Syntax 18 Condition ? condition’s true value : condition’s false value

19 Examples Can be written as Can be written as.. ? 19 grade >= 60 ? cout<<“Passed” : cout<<“Failed”; Example # 1 cout = 60 ? “Passed” : “Failed”); int i = 1, j = 2, Max; Max = ( i > j ? i : j ); int i = 1, j = 2, Max; Max = ( i > j ? i : j ); Example # 2

20 Summary of Operator Precedence and Associativity 20

21 bool Variables in Expressions  false is zero and true is any non-zero  The following codes applies implicit conversion between bool and int 21 int x = -10 ; bool flag = x ; // true int a = flag ; // assign the value 1 int b = !flag; // assign the value 0 x = flag + 3; // assign the value 4 int x = -10 ; bool flag = x ; // true int a = flag ; // assign the value 1 int b = !flag; // assign the value 0 x = flag + 3; // assign the value 4 bool test1,test2,test3 ; int x = 3, y = 6, z = 4 ; test1 = x > y ; // false test2 = !(x == y ); // true test3 = x < y && x < z ; // true test3 = test1 || test2 ; // true test2 = !test1; // true bool test1,test2,test3 ; int x = 3, y = 6, z = 4 ; test1 = x > y ; // false test2 = !(x == y ); // true test3 = x < y && x < z ; // true test3 = test1 || test2 ; // true test2 = !test1; // true Code # 1Code # 2

22 Common Compilation Errors  Attempt to use % with non-integer operands  Spaces between pair of symbols e.g. (==, !=, …etc)  Reversing order of pair of symbols e.g. =!  Confusing between equality (==) and assignment operator (=) 22

23 Exercise - 1 23 What is the output of the following program? 1 #include 2 3 using std::cout; 4 using std::endl; 5 6 int main() 7 { 8 int x; int y; int z; 9 10 x = 30; y = 2; z = 0; 11 12 cout << (++++x && z ) << endl; 13 cout << x * y + 9 / 3 << endl; 14 cout << x << y << z++ << endl; 15 16 return 0; 17 18 } // end main 1 #include 2 3 using std::cout; 4 using std::endl; 5 6 int main() 7 { 8 int x; int y; int z; 9 10 x = 30; y = 2; z = 0; 11 12 cout << (++++x && z ) << endl; 13 cout << x * y + 9 / 3 << endl; 14 cout << x << y << z++ << endl; 15 16 return 0; 17 18 } // end main

24 Exercise - 2 24 What is wrong with the following program? 1 int main() 2 { 3 int a,b,c,sum; 4 sum = a + b + c ; 5 return 0; 6 } 1 int main() 2 { 3 int a,b,c,sum; 4 sum = a + b + c ; 5 return 0; 6 }

25 Included Sections 25 Chapter 2: from section 6 and 7 Chapter 4: section 11 and 12


Download ppt "STRUCTURED PROGRAMMING C++ Operators. Content 2  C++ operators  Assignment operators  Arithmetic operators  Increment and decrement operators  Decision."

Similar presentations


Ads by Google