Beruflich Dokumente
Kultur Dokumente
Outline
1.
Control Structures
2.
Relational Operator
3.
4.
5.
switch Structures
6.
7.
Exercises
1. Control Structures
statement1
false
expression
true
statement2
statement
.
.
.
statement2
statement1
statementN
true
false
b. Selection
a. Sequence
expression
expression
c. Repetition
otherwise
wages = (rate * 40) + 1.5 * (rate * (hours - 40))
2. Relational Operator
2. Relational Operator
Operator
Description
==
Equal to
!=
Not equal to
<
Less than
<=
>
Greater than
>=
Expression
Value
8 < 15
true
6 != 6
false
false
true
Expression
Value
Explanation
< a
true
R > T
false
+ < *
false
6 <= >
true
Expression
Value
Hello < Hi
true
false
Air < An
true
Hello == hello
false
true
Operator
Description
not
&&
and
||
or
Expression
!(Expression)
true (nonzero)
false (0)
false (0)
true (1)
Expression
Value
!(A > B)
true
!(6 <= 7)
false
Expression1
Expression2
true (nonzero)
true (nonzero)
true (1)
true (nonzero)
false (0)
false (0)
false (0)
true (nonzero)
false (0)
false (0)
false (0)
false (0)
Expression
Value
true
false
Expression2
Expression1 || Expression2
true (nonzero)
true (nonzero)
true (1)
true (nonzero)
false (0)
true (1)
false (0)
true (nonzero)
true (1)
false (0)
false (0)
false (0)
Expression
Value
true
false
(A <= a) || (7 != 7)
true
Precedence
!, +, - (unary operators)
First
*, /, %
Second
+, -
Third
Fourth
==, !=
Fifth
&&
Sixth
||
Seventh
= (assignment operator)
last
Precedence
!, +, - (unary operators)
First
*, /, %
Second
+, -
Third
Fourth
==, !=
Fifth
&&
Sixth
||
Seventh
= (assignment operator)
last
Example
(17 < 4 * 3 + 5) || (8 * 2 == 4 * 4) && !(3 + 3 == 6)
= (17 < 12 + 5) || (16 == 16) && !(6 == 6)
= (17 < 17) || true && !(true)
= false || true && false
= false || false (because true && false is false)
= false
int legalAge;
int age;
bool b;
legalAge = 21;
legalAge = (age >= 21); // legalAge = 1 if age >= 21, otherwise legalAge = 0
b = true;
b = (age >= 21); // b = true if age >= 21, otherwise b = false
if (expression)
statement
expression
false
true
statement
Comments
double score;
cin >> score;
if (score >= 60)
grade = p;
double score;
cin >> score;
if score >= 60
grade = p;
double score;
cin >> score;
if (score >= 60);
grade = p;
Examples
score
Output
50
Failing
70
Passing
Failing
false
expression
statement2
true
statement1
if (expression)
statement1
else
statement2
// Syntax error
In a nested if statement, C+
if
else
cout << "The grade is F." << endl;
GPA
3.95
3.6
1.8
Output
Deans Honor List.
Current GPA below graduation requirement.
See your academic advisor.
if(month == 1)
cout << "January" << endl;
if(month == 2)
cout << "February" << endl;
if(month == 3)
cout << "March" << endl;
if(month == 4)
cout << "April" << endl;
if(month == 5)
cout << "May" << endl;
if(month == 6)
cout << "June" << endl;
If month is 1, both programs will display January. But, only the first if of the
first program will be evaluated. The others will be ignored. However, in the
second program all the if statements will be evaluated.
Grade
Coefficient
4.0
3.0
2.0
1.0
0.0
Grade
Coefficient
4.0
3.0
2.0
1.0
0.0
Grade
Less than 60
60 score < 70
70 score < 80
80 score < 90
score 90
int score;
cin >> score;
switch(score / 10)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
grade = 'F';
break;
case 6:
grade = 'D';
break;
case 7:
grade = 'C';
break;
case 8:
grade = 'B';
break;
case 9:
grade = 'A';
break;
default:
cout << "The score is invalid" << endl;
}
Certain types of errors that are very difficult to catch may occur in
a program (for example division by zero).
7. Exercises
after
the
C++
code
int alpha;
cin >> alpha;
switch(alpha)
{
case 1:
case 2:
alpha = alpha + 2;
break;
case 4:
alpha++;
case 5:
alpha = 2 * alpha;
case 6:
alpha = alpha + 5;
break;
default:
alpha--;
}
7. Exercises
int beta;
cin >> beta;
switch(beta)
{
case 3:
beta = beta + 3;
break;
case 1:
beta++;
break;
case 5:
beta = beta + 5;
case 4:
beta = beta + 4;
}
7. Exercises
7. Exercises