220 likes | 459 Views
Summary. Two basic concepts: variables and assignments Basic types: int, double, char (string), … Some C++ practical issues: division rule, operator precedence. Expression and statement.
E N D
Summary Two basic concepts: variables and assignments Basic types: int, double, char (string), … Some C++ practical issues: division rule, operator precedence
Expression and statement An expression has a value which is the result of some operation(s) on the associated operands. 4, x-y, 2-a-(b*c) A statement is a sentence that acts as a command it does not have a value it always ends in a ‘;’ cin >> x; x = 5; int x;
Boolean type: bool • C++ contains a type (new!) named boolwhich can have one of two values • true (corresponding to non-zero value) • false (corresponding to zero value) • Boolean operators • Logical and: && • Logical or: || • Logical not: ! • Examples bool P = true;bool Q = false;bool R = true;bool S = P && Q;bool T = (!Q) || R;bool U = !(R && !Q);
Boolean expressions • Arithmetic expression: use arithmetic operators +,-,*,/, to produce a number as the final result • A Boolean expression has one of the two values: true or false • use relational operators <,>, ==, … • and boolean operators AND (&&), OR (||), NOT (!)
Using Relational Operators Relational operators are used to compare two values Math C++ Plain English = == equals [example: if(a==b)] [ (a=b) means put the value of b into a] < < less than <= less than or equal to > > greater than >= greater than or equal to != not equal to
Examples: numberOfStudents < 200 10 > 20 20 * j == 10 + i
Using Boolean (logical) operators • Boolean operators can be used to form more complex conditional expressions • Logical AND operator && • Logical OR operator || • Logical NOT operator ! Examples: (x>5) && (x<10) (x>10) || (x<5) !(x>5) • Warning! • & and | are also operators
Operator Precedence Which comes first? * / % + - < <= >= > == != = Answer:
Summary of Operator Precedence • Precedence of operators (from highest to lowest) • Parentheses ( … ) • Unary operators ! • Multiplicative operators * / % • Additive operators + - • Relational ordering < <= >= > • Relational equality == != • Logical and && • Logical or || • Assignment = arithmetic relational logical
Example: 5 != 6 || 7 <= 3 (5 !=6) || (7 <= 3) 5 * 15 + 4 == 13 && 12 < 19 || !false == 5 < 24
Introduction Three program structures or constructs: • Sequence Statements in the given order • Conditional statement (branching) Chooses between two (or more) sequences depending on some condition if <condition exists> { <do P> } else { <do Q> } • Iteration statement (looping) repetitively execute a given sequence while <condition exists> { <do P> }
Structured programming Any program can be written as a sequence of three basic program structures!!! 1. sequences, 2. conditionals, 3. and iterations Program Structure 1 Program Structure 3 Program Structure 1 Program Structure 2
Expression false true Action1 Action2 The fundamental conditionalif-else Statement Choose between two alternative actions depending on a test (on the values of variables). • Syntax if (Expression) Action1elseAction2 • If Expression is true thenexecute Action1otherwiseexecute Action2 • Example if(v == 0) cout << "v is 0"; else cout << "v is not 0";
? It’s common in everyday life … if <it's sunny>{ <go to beach with sun block> } else{ <go to beach with umbrella> }
Example: Absolute Value (1st ) // program to read number & print its absolute value #include <iostream> using namespace std; int main(){ int value; int absvalue; cout << "Enter integer: "; cin >> value; if (value < 0) absvalue = -value; else absvalue = value; cout << "The absolute value is " << absvalue << endl; return 0; }
When the action is more than one statement … Put multiple action statements within braces if <it's raining> { <take umbrella> <wear raincoat> } else { <take sunbathing stuff> }
Example: Absolute Value (2nd) // program to read number & print its absolute value #include <iostream> using namespace std; int main(){ int value; int absvalue; // absolute value cout << "Enter integer: "; cin >> value; if (value < 0) { absvalue = -value; cout << "The input value is negative and its absolute value is " << absvalue << endl; } else { absvalue = value; cout << "The input value is positive and its absolute value is " << absvalue << endl; } return 0; }
Summary of the conditional if-else Statement A if (cond1) Belse C D A A B or C D D =
Nested if-else Statements • Nested means that one complete statement is inside another if cond1 { A; if cond2 { B; } else { C } else { D }
Example double score; cin >> score; if(score >= 90.0) cout << "Grade = A" << endl; else if(score >= 80.0) cout << "Grade = B" << endl; else if(score >= 70.0) cout << "Grade = C" << endl; else if(score >= 60.0) cout << "Grade = D" << endl; else cout << "Grade = F" << endl;