Download presentation
Presentation is loading. Please wait.
Published byDavid Arnold Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.