making decisions. 4.1 relational operators used to compare numbers to determine relative order...
TRANSCRIPT
![Page 1: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/1.jpg)
Making Decisions
![Page 2: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/2.jpg)
4.14.1Relational Operators
![Page 3: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/3.jpg)
Relational OperatorsRelational OperatorsUsed to compare numbers to
determine relative orderOperators:
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to
== Equal to
!= Not equal to
![Page 4: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/4.jpg)
Relational ExpressionsRelational ExpressionsBoolean expressions – true or falseExamples:
12 > 5 is true7 <= 5 is false
if x is 10, then x == 10 is true, x != 8 is true, and x == 8 is false
![Page 5: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/5.jpg)
Relational ExpressionsRelational ExpressionsCan be assigned to a variable:
result = x <= y;Assigns 0 for false, 1 for trueDo not confuse = and ==
![Page 6: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/6.jpg)
4.24.2The if Statement
![Page 7: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/7.jpg)
The The ifif Statement StatementAllows statements to be
conditionally executed or skipped over
Models the way we mentally evaluate situations: ◦"If it is raining, take an umbrella."◦"If it is cold outside, wear a coat."
![Page 8: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/8.jpg)
Flowchart for Evaluating a Flowchart for Evaluating a DecisionDecision
![Page 9: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/9.jpg)
Flowchart for Evaluating a Flowchart for Evaluating a DecisionDecision
![Page 10: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/10.jpg)
The The ifif Statement StatementGeneral Format:
if (expression)statement;
![Page 11: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/11.jpg)
The if Statement-What The if Statement-What HappensHappensTo evaluate:if (expression)
statement;If the expression is true, then statement is executed.
If the expression is false, then statement is skipped.
![Page 12: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/12.jpg)
ifif Statement in Program Statement in Program 4-24-2
Continued…
![Page 13: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/13.jpg)
ifif Statement in Program Statement in Program 4-24-2
![Page 14: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/14.jpg)
Flowchart for Program 4-2 Flowchart for Program 4-2 Lines 21 and 22Lines 21 and 22
![Page 15: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/15.jpg)
ifif Statement Notes Statement NotesDo not place ; after (expression)Place statement; on a separate
line after (expression), indented:if (score > 90)
grade = 'A';Be careful testing floats and doubles for equality
0 is false; any other value is true
![Page 16: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/16.jpg)
4.34.3Expanding the if Statement
![Page 17: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/17.jpg)
Expanding the Expanding the ifif StatementStatementTo execute more than one statement
as part of an if statement, enclose them in { }:if (score > 90)
{
grade = 'A';
cout << "Good Job!\n";
} { } creates a block of code
![Page 18: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/18.jpg)
4.44.4The if/else Statement
![Page 19: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/19.jpg)
The The if/elseif/else statement statementProvides two possible paths of
executionPerforms one statement or block
if the expression is true, otherwise performs another statement or block.
![Page 20: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/20.jpg)
The The if/elseif/else statement statementGeneral Format:
if (expression)statement1; // or
blockelse
statement2; // or block
![Page 21: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/21.jpg)
if/elseif/else-What Happens-What HappensTo evaluate:
if (expression) statement1;else statement2;
If the expression is true, then statement1 is executed and statement2 is skipped.
If the expression is false, then statement1 is skipped and statement2 is executed.
![Page 22: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/22.jpg)
The The if/elseif/else statement and statement and Modulus Operator in Program Modulus Operator in Program 4-84-8
![Page 23: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/23.jpg)
Flowchart for Program 4-8 Flowchart for Program 4-8 Lines 14 through 18Lines 14 through 18
![Page 24: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/24.jpg)
Testing the Divisor in Testing the Divisor in Program 4-9Program 4-9
Continued…
![Page 25: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/25.jpg)
Testing the Divisor in Testing the Divisor in Program 4-9Program 4-9
![Page 26: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/26.jpg)
4.54.5Nested if Statements
![Page 27: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/27.jpg)
Nested Nested ifif Statements StatementsAn if statement that is nested
inside another if statementNested if statements can be
used to test more than one condition
![Page 28: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/28.jpg)
Flowchart for a Nested Flowchart for a Nested ifif StatementStatement
![Page 29: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/29.jpg)
Nested Nested ifif Statements StatementsFrom Program 4-10
![Page 30: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/30.jpg)
Nested Nested ifif Statements StatementsAnother example, from Program
4-1
![Page 31: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/31.jpg)
Use Proper Indentation!Use Proper Indentation!
![Page 32: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/32.jpg)
4.64.6The if/else if Statement
![Page 33: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/33.jpg)
The The if/else if if/else if StatementStatementTests a series of conditions until
one is found to be trueOften simpler than using nested if/else statements
Can be used to model thought processes such as:
"If it is raining, take an umbrella, else, if it is windy, take a hat, else, take sunglasses”
![Page 34: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/34.jpg)
if/else if if/else if FormatFormatif (expression)
statement1; // or blockelse if (expression)
statement2; // or block . . // other else ifs .
else if (expression) statementn; // or block
![Page 35: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/35.jpg)
The The if/else if if/else if Statement Statement in Program 4-13in Program 4-13
![Page 36: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/36.jpg)
Using a Trailing Using a Trailing elseelse to to Catch Errors in Program 4-14Catch Errors in Program 4-14The trailing else clause is
optional, but it is best used to catch errors.
This trailing else catches invalid test scores
![Page 37: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/37.jpg)
4.74.7Flags
![Page 38: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/38.jpg)
FlagsFlagsVariable that signals a conditionUsually implemented as a bool
variableCan also be an integer
◦The value 0 is considered false◦Any nonzero value is considered true
As with other variables in functions, must be assigned an initial value before it is used
![Page 39: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/39.jpg)
FlagFlagIts just a conceptual ideaIs a regular variableUsed in different ways but typically to
control the flow in the program---which “branch” to take.
Here is an example in psuedo code:if( Verbose_flag) { printout diagnostic information }
![Page 40: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/40.jpg)
4.84.8Logical Operators
![Page 41: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/41.jpg)
Logical OperatorsLogical OperatorsUsed to create relational
expressions from other relational expressions
Operators, meaning, and explanation:&& AND New relational expression is true if both
expressions are true
|| OR New relational expression is true if either expression is true
! NOT Reverses the value of an expression – true expression becomes false, and false becomes true
![Page 42: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/42.jpg)
Logical Operators-Logical Operators-ExamplesExamples
int x = 12, y = 5, z = -4; (x > y) && (y > z) true
(x > y) && (z > y) false
(x <= z) || (y == z) false
(x <= z) || (y != z) true
!(x >= z) false
![Page 43: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/43.jpg)
The logical The logical &&&& operator in operator in Program 4-15Program 4-15
![Page 44: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/44.jpg)
The logical The logical |||| Operator in Operator in Program 4-16Program 4-16
![Page 45: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/45.jpg)
The logical The logical !! Operator in Operator in Program 4-17Program 4-17
![Page 46: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/46.jpg)
Logical Operator-NotesLogical Operator-Notes! has highest precedence,
followed by &&, then ||If the value of an expression can
be determined by evaluating just the sub-expression on left side of a logical operator, then the sub-expression on the right side will not be evaluated (short circuit evaluation)
![Page 47: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/47.jpg)
4.94.9Checking Numeric Ranges with Logical Operators
![Page 48: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/48.jpg)
Checking Numeric Ranges Checking Numeric Ranges with Logical Operatorswith Logical OperatorsUsed to test to see if a value falls inside a
range:if (grade >= 0 && grade <= 100) cout << "Valid grade";
Can also test to see if value falls outside of range:
if (grade <= 0 || grade >= 100) cout << "Invalid grade";
Cannot use mathematical notation:if (0 <= grade <= 100) //doesn’t work!
![Page 49: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/49.jpg)
4.104.10Menus
![Page 50: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/50.jpg)
MenusMenusMenu-driven program: program
execution controlled by user selecting from a list of actions
Menu: list of choices on the screen
Menus can be implemented using if/else if statements
![Page 51: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/51.jpg)
Menu-Driven Program Menu-Driven Program OrganizationOrganizationDisplay list of numbered or
lettered choices for actionsPrompt user to make selectionTest user selection in expression
◦if a match, then execute code for
action◦if not, then go on to next expression
![Page 52: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/52.jpg)
4.114.11Validating User Input
![Page 53: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/53.jpg)
Validating User InputValidating User InputInput validation: inspecting input
data to determine whether it is acceptable
Bad output will be produced from bad input
Can perform various tests:◦Range ◦Reasonableness ◦Valid menu choice◦Divide by zero
![Page 54: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/54.jpg)
Input Validation in Program Input Validation in Program 4-194-19
![Page 55: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/55.jpg)
4.124.12Comparing Characters and Strings
![Page 56: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/56.jpg)
Comparing CharactersComparing CharactersCharacters are compared using their
ASCII values'A' < 'B'
◦The ASCII value of 'A' (65) is less than the ASCII value of 'B'(66)
'1' < '2'◦The ASCII value of '1' (49) is less than the
ASCI value of '2' (50)Lowercase letters have higher ASCII
codes than uppercase letters, so 'a' > 'Z'
![Page 57: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/57.jpg)
Relational Operators Relational Operators Compare Characters in Compare Characters in Program 4-20Program 4-20
![Page 58: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/58.jpg)
Comparing Comparing stringstring ObjectsObjectsLike characters, strings are
compared using their ASCII values
string name1 = "Mary";string name2 = "Mark";
name1 > name2 // truename1 <= name2 // falsename1 != name2 // true
name1 < "Mary Jane" // true
The characters in each string must match before they are equal
![Page 59: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/59.jpg)
Relational Operators Relational Operators Compare Strings in Program Compare Strings in Program 4-214-21
![Page 60: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/60.jpg)
4.134.13The Conditional Operator
![Page 61: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/61.jpg)
The Conditional OperatorThe Conditional OperatorCan use to create short if/else
statementsFormat: expr ? expr : expr;
x<0 ? y=10 : z=20;
First Expression:Expression to betested
2nd Expression:Executes if firstexpression is true
3rd Expression:Executes if the firstexpression is false
![Page 62: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/62.jpg)
The Conditional OperatorThe Conditional OperatorThe value of a conditional
expression is◦The value of the second expression if
the first expression is true◦The value of the third expression if
the first expression is falseParentheses () may be needed
in an expression due to precedence of conditional operator
![Page 63: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/63.jpg)
The Conditional Operator in The Conditional Operator in Program 4-22Program 4-22
![Page 64: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/64.jpg)
4.144.14The switch Statement
![Page 65: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/65.jpg)
The The switchswitch Statement StatementUsed to select among statements
from several alternativesIn some cases, can be used
instead of if/else if statements
![Page 66: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/66.jpg)
switchswitch Statement Format Statement Format
switch (expression) //integer{ case exp1: statement1;case exp2: statement2;...case expn: statementn;default: statementn+1;
}
![Page 67: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/67.jpg)
The The switchswitch Statement in Statement in Program 4-23Program 4-23
![Page 68: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/68.jpg)
switchswitch Statement Statement RequirementsRequirements1) expression must be an integer
variable or an expression that evaluates to an integer value
2) exp1 through expn must be constant integer expressions or literals, and must be unique in the switch statement
3) default is optional but recommended
![Page 69: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/69.jpg)
switchswitch Statement-How it Statement-How it WorksWorks1) expression is evaluated2) The value of expression is
compared against exp1 through expn.
3) If expression matches value expi, the program branches to the statement following expi and continues to the end of the switch
4) If no matching value is found, the program branches to the statement after default:
![Page 70: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/70.jpg)
breakbreak Statement StatementUsed to exit a switch statementIf it is left out, the program "falls
through" the remaining statements in the switch statement
![Page 71: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/71.jpg)
breakbreak and and defaultdefault statements in Program 4-25statements in Program 4-25
Continued…
![Page 72: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/72.jpg)
breakbreak and and defaultdefault statements in Program 4-25statements in Program 4-25
![Page 73: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/73.jpg)
Using Using switchswitch in Menu in Menu SystemsSystemsswitch statement is a natural
choice for menu-driven program:◦display the menu◦then, get the user's menu selection◦use user input as expression in switch statement
◦use menu choices as expr in case statements
![Page 74: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/74.jpg)
4.154.15More About Blocks and Scope
![Page 75: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/75.jpg)
More About Blocks and More About Blocks and ScopeScopeScope of a variable is the block in
which it is defined, from the point of definition to the end of the block
Usually defined at beginning of function
May be defined close to first use
![Page 76: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/76.jpg)
Inner Block Variable Inner Block Variable Definition in Program 4-29Definition in Program 4-29
![Page 77: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/77.jpg)
Variables with the Same Variables with the Same NameNameVariables defined inside { } have
local or block scopeWhen inside a block within
another block, can define variables with the same name as in the outer block. ◦When in inner block, outer definition
is not available◦Not a good idea
![Page 78: Making Decisions. 4.1 Relational Operators Used to compare numbers to determine relative order Operators: > Greater than < Less than >= Greater than](https://reader030.vdocuments.net/reader030/viewer/2022032415/56649f015503460f94c16cfa/html5/thumbnails/78.jpg)
Two Variables with the Same Two Variables with the Same Name in Program 4-30Name in Program 4-30