1、第3章 分支程序设计,关系表达式逻辑表达式If 语句Switch语句,关系表达式,关系表达式用来实现比较关系运算符 , =, =, =, , != 优先级:高于赋值运算符,低于算术运算符。 关系运算符内部:=和 !=较低 结合性:左结合关系表达式 用关系运算符将二个表达式连接起来称为关系表达式 关系表达式的结果是: true 或 false,eg. x y,a b = c d 都是合法的关系表达式,注意:-2 -1 6 - 2,(5 + 3) (6 2),第3章 逻辑思维及分支程序设计,关系表达式逻辑表达式If语句Switch语句,逻辑表达式,逻辑表达是用于实现更复杂的判断逻辑运算符 & (a
2、nd) | (or) ! (not) 优先级: ! 关系运算符 & |逻辑表达式 由逻辑运算符连接起来的表达式,其结果为“真(true)”或“假(false)”,逻辑表达式须注意,C+中,参加逻辑运算的对象可为任意类型的数据,0为假,非0 为真。 5 % 2 & p p 5 3 & 2 | 8 b) & (n = c d) a = 1, b = 2, c = 2, d = 4, m = 1, n = 1. 问执行后m,n的值分别为多少?,m=0, n=1,第3章 逻辑思维及分支程序设计,关系表达式逻辑表达式If语句Switch语句,条件检查与if语句,if语句的格式 if (条件测试) 语句
3、if (条件测试) 语句1 else 语句2条件测试为true时所执行的程序块叫做then子句,条件为false时执行的语句叫做else子句。 eg. if (grade = 60) cout = 60) cout “passed”; else cout year; result = (year % 4 = 0 ,if语句的嵌套,if语句的then子句或else子句是if语句,称为if语句的嵌套歧义性:if 语句可以没有else子句,如if (x 100) if (x 90) 语句1 else if (x80) 语句2 else 语句3 else 语句4;配对原则:每个else子句是和在它之前
4、最近的一个没有else子句的if语句配对。,缩进对齐,可以清晰地表示出层次 ,便于程序员阅读,if (x 100) if (x 90) 语句1 else if (x y) ? x : y;?:运算符用于输出。例如,想输出一个布尔变量flag的值,如果直接用 cout flag; 那么当flag为“真”时,输出为1;当flag为“假”时,输出为0。 如果我们想让flag为“真”时输出true,为“假”时输出false,可以用if 语句 if (flag) cout “true”; else cout “false”; 看上去太罗嗦。但如果用?:运算符只需要一行 cout ( flag ? tru
5、e : false ) = 90: cout = 80: cout = 70: cout = 60: cout D; break; default: cout E; ,表达式=成绩/10,switch(score / 10) case 10: case 9: cout A; break; case 8: cout B; break; case 7: cout C; break; case 6: cout D; break; default: cout result1; if (num1 + num2 = result1) cout result1; if (num1 - num2 = result1) cout result1; if (num1 * num2 = result1) cout you are rightn;else cout result1; cout result2; if (num1 / num2 = result1) ,该程序的缺陷,每次执行只能出一道题减法可能出现负值除法可能出现除0结果太单调,小结,本章主要介绍了计算机实现逻辑思维的机制。主要包括两个方面:如何表示一个逻辑判断如何根据逻辑判断的结果执行不同的处理逻辑判断关系表达式实现逻辑表达式根据逻辑判断执行不同的处理if语句switch语句,