EECE 230 Chapter 4- Control Structures I, Spring 2012

American University of Beirut · Introduction to Programming · 25 pages

All EECE 230 files
EECE 230 Chapter 4- Control Structures I, Spring 2012, page 1

Stuck on a question? A tutor can walk you through it.

EECE 230 Chapter 4- Control Structures I, Spring 2012, page 2 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 3 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 4 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 5 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 6 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 7 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 8 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 9 EECE 230 Chapter 4- Control Structures I, Spring 2012, page 10

Showing the first 10 of 25 pages. Download the PDF to see all of it.

More EECE 230 files

Show the text of this chapter
Chapter 4: Control Structure 1 C++ Programming: Program Design Including Data Structures, Second Edition 2 Objectives In this chapter you will: • Learn about control structures • Examine relational and logical operators • Explore how to form and evaluate logical (Boolean) expressions • Discover how to use the selection control structures if, if...else, and switch in a program C++ Programming: Program Design Including Data Structures, Second Edition 3 Control Structures • A computer can proceed: − In sequence − Selectively (branch) - making a choice − Repetitively (iteratively) - looping • Some statements are executed only if certain conditions are met • A condition is represented by a logical (Boolean) expression that can be true or false • A condition is met if it evaluates to true C++ Programming: Program Design Including Data Structures, Second Edition 5 Relational Operators • Relational operators: − Allow comparisons − Require two operands (binary) − Return 1 if expression is true, 0 otherwise • Comparing values of different data types may produce unpredictable results − For example, 8 < '5' should not be done • Any nonzero value is treated as true C++ Programming: Program Design Including Data Structures, Second Edition 8 Comparing string Types • Relational operators can be applied to strings • Strings are compared character by character, starting with the first character • Comparison continues until either a mismatch is found or all characters are found equal • If two strings of different lengths are compared and the comparison is equal to the last character of the shorter string − The shorter string is less than the larger string C++ Programming: Program Design Including Data Structures, Second Edition 9 string Comparison Example • Suppose we have the following declarations: − string str1 = "Hello"; − string str2 = "Hi"; − string str3 = "Air"; − string str4 = "Bill"; C++ Programming: Program Design Including Data Structures, Second Edition 10 Logical (Boolean) Operators • Logical (Boolean) operators enable you to combine logical expressions • Three logical (Boolean) operators: − ! - not − && – and − || - or • Logical operators take logical values as operands and yield logical values as results • ! is unary; && and || are binary operators • Putting ! in front of a logical expression reverses its value C++ Programming: Program Design Including Data Structures, Second Edition 11 C++ Programming: Program Design Including Data Structures, Second Edition 12 Precedence of Operators • Relational and logical operators are evaluated from left to right • The associativity is left to right • Parentheses can override precedence C++ Programming: Program Design Including Data Structures, Second Edition 13 C++ Programming: Program Design Including Data Structures, Second Edition 14 One-Way (if) Selection • The syntax of one-way selection is: if(expression) statement • Statement is executed if the value of the expression is true • Statement is bypassed if the value is false; program goes to the next statement C++ Programming: Program Design Including Data Structures, Second Edition 15 C++ Programming: Program Design Including Data Structures, Second Edition 16 Two-Way (if…else) Selection • Two-way selection takes the form: if(expression) statement1 else statement2 • If expression is true, statement1 is executed otherwise statement2 is executed C++ Programming: Program Design Including Data Structures, Second Edition 18 Compound (Block of) Statement • Compound statement (block of statements): { statement1; statement2; . . . statementn; } • A compound statement is a single statement C++ Programming: Program Design Including Data Structures, Second Edition 19 Nested if • Nesting: one control statement in another • An else is associated with the most recent if that has not been paired with an else • For example: if(score >= 90) cout<<"The grade is A"<<endl; else if(score >= 80) cout<<"The grade is B"<<endl; else cout<<"The grade is F"<<endl; C++ Programming: Program Design Including Data Structures, Second Edition 20 Conditional Operator (?:) • Conditional operator (?:) takes three arguments (ternary) • Syntax for using the conditional operator: expression1 ? expression2 : expression3 • If expression1 is true, the result of the conditional expression is expression2. Otherwise, the result is expression3 C++ Programming: Program Design Including Data Structures, Second Edition 21 switch Structures • Switch structure: alternate to if-else • Switch expression is evaluated first • Value of the expression determines which corresponding action is taken • Expression is sometimes called the selector C++ Programming: Program Design Including Data Structures, Second Edition 22 switch Structures (continued) • Expression value can be only integral • Its value determines which statement is selected for execution • A particular case value should appear only once C++ Programming: Program Design Including Data Structures, Second Edition 24 switch Structures (continued) • One or more statements may follow a case label • Braces are not needed to turn multiple statements into a single compound statement • The break statement may or may not appear after each statement • switch, case, break, and default are reserved words C++ Programming: Program Design Including Data Structures, Second Edition 25 switch Statement Rules (continued) • When value of the expression is matched against a case value, − Statements execute until break statement is found or the end of switch structure is reached • If value of the expression does not match any of the case values − Statements following the default label execute If no default label and no match the entire switch statement is skipped • A break statement causes an immediate exit from the switch structure