Introduction to C++ Programming Language Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea
CHAPTER 5 SELECTION - MAKING DECISION
Making Decision Serial execution of code boring! inefficient! not very useful! ex) movie vs. computer game It would be nice to be able to change which statements ran and when, depending on the circumstances. The selection statements They provide a means to conditionally execute sections of code.
Logical Data Simple yes/no decision can do everything! In computer science, we use true/false How to determine true/false? Logical data and logical operator If logical data satisfies something, we consider it’s true. Otherwise, it’s false.
True and False for the Arithmetic Scale In C++ If a value is zero, it can be used as the logical value false. If a value is not zero, it can be used as the logical value true. Zero <===> False Nonzero <===> True
Arithmetic Scale Example int a = 4; true char name = 3 true int b = 0; false bool isRunning = false; false 4 true 0 false
Logical Operator And True and true true True and false false Operator in C++ && Or True or false true False or false false Operator in c++ || Not Not true false Operator in C++ !
Usage int a = 4, b = 0; a && b false a || b true !a false
Logical Operators Truth Table
Short-Circuit Methods for “and” and “or”
Relational Operators
Logical operator complements
Two-way decision logic
Two-way decision logic : “if...else” logic flow
A simple if...else statement
Compound statements in an if...else
Complemented if...then statements
A null else statement
A null if statement
else is always paired with the most recent, unpaired if Nested if statements else is always paired with the most recent, unpaired if
Dangling else
Dangling else solution
Conditional expression
switch decision logic
switch statement
switch flow
switch results
A switch with break statements
The else…if for Program 5-9
Comparison between if and switch