第5章选择结构程序设计 5.2逻辑运算符和逻辑表达式 ☆优先次序 ■!-〉&& &&和山低于关系运算符,!高于算术运算符。 高 算术运算符 关系运算符 &&和 赋值运算符低 例如 (a>b)&&(x>y) 相当于a>b&&xy (a==b)||(x=y) (! (a>b) Ia a>b
-6- 第5章 选择结构程序设计 5.2 逻辑运算符和逻辑表达式 v 优先次序 !-> && -> || &&和||低于关系运算符,!高于算术运算符。 例如: (a>b) && (x>y) 相当于 a>b && x>y (a==b) || (x==y) a==b || x==y (!a) || (a>b) !a || a>b ! 高 算术运算符 关系运算符 && 和 || 赋值运算符 低
第5章选择结构程序设计 5.2逻辑运算符和逻辑表达式 逻辑表达式 ☆逻辑表达式的构成 <逻辑量><逻辑运算符〉<逻辑量〉 逻辑量:逻辑常量(非零的数值或0)、关系表达式 令逻辑表达式的值 逻辑值,即"1″或"0″。 例如:设a=4,b=5,c=6则 a 0 a&&b c-allb b-a&&c>a‖a+b<c 逻辑常量可以是0和非0的整数,也可以是字符型、实型或指针型
-7- 第5章 选择结构程序设计 5.2 逻辑运算符和逻辑表达式 逻辑表达式 v 逻辑表达式的构成 <逻辑量> <逻辑运算符> <逻辑量> 逻辑量:逻辑常量(非零的数值或0)、关系表达式。 v 逻辑表达式的值 逻辑值,即 "1"或"0" 。 例如:设a=4, b=5, c=6 则 !a 0 a&&b 1 c-a||b 1 !b||c 1 b-a && c>a || a+b < c 1 逻辑常量可以是0和非0的整数,也可以是字符型、实型或指针型
第5章选择结构程序设计 5.2逻辑运算符和逻辑表达式 ◆逻辑表达式的求解说明 逻辑表达式的求解中,并不是所有的逻辑运算符都被执行, 只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执 行该运算符 ◆例如: l a & b & c 当a为假时,表达式值为假,不必判断b和c 当a为真,b为假时,表达式值为假,不必判断c ib 当a为真时,表达式值为真,不必判断b和c 当a为假,b为真时,表达式值为真,不必判断c 设a=1,b=2,c=3,d=4,m=n=1,则: (m=ab)&&(n=c>d)后
-8- 第5章 选择结构程序设计 5.2 逻辑运算符和逻辑表达式 v 逻辑表达式的求解说明 逻辑表达式的求解中,并不是所有的逻辑运算符都被执行, 只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执 行该运算符。 v 例如: a && b && c Ø当a为假时,表达式值为假,不必判断b和c。 Ø当a为真,b为假时,表达式值为假,不必判断c。 a || b || c Ø当a为真时,表达式值为真,不必判断b和c。 Ø当a为假,b为真时,表达式值为真,不必判断c。 设a=1, b=2, c= 3, d = 4, m=n=1,则: (m=a>b) && (n=c>d) 后 m = ? n = ?
第5章选择结构程序设计 5.3if语句 if语句的三种形式 ☆if(表达式)语句 例如: if(x>0)y=x+10; ☆if(表达式)语句1ese语句2 例如 if(x>0)y=x+10; else y x+100: ☆if(表达式1)语句1 e Ise if(表达式2)语句2 ese if(表达式m)语句m else语句
-9- 第5章 选择结构程序设计 5.3 if语句 if语句的三种形式 v if(表达式) 语句 例如: if(x>0) y = x+10; v if (表达式) 语句1 else 语句2 例如: if(x>0) y = x+10; else y = x+100; v if(表达式1) 语句1 else if(表达式2) 语句2 … else if(表达式m) 语句m else 语句
第5章选择结构程序设计 5.3if语句 例如: int score: char L. if(score>90) L=A Ise if(score>80)L='B' else if(score>70)L='C' else if(score>60)L='D' ese L=E 说明 表示条件的表达式一般为关系表达式或逻辑表达式 ■当表达式的值为非零数值类型(整型、实型、字符型、指针 型数据)时,按″真"处理。 ■if与else配对使用,可以只有if,不能只有else。 ■语句1,…,语句n可以是一个语句也可以是复合语句。 ■当某种情况下的处理语句有多条时,必须用花括号("{}") 将其括起来成为一个复合语句。 C语句以分号(";")结束。 10
-10- 第5章 选择结构程序设计 5.3 if语句 例如: int score; char L; if(score>90) L='A'; else if(score>80) L='B'; else if(score>70) L='C'; else if(score>60) L='D'; else L='E'; v 说明 表示条件的表达式一般为关系表达式或逻辑表达式。 当表达式的值为非零数值类型(整型、实型、字符型、指针 型数据)时,按"真"处理。 if与else配对使用,可以只有if,不能只有else。 语句1, …, 语句n可以是一个语句也可以是复合语句。 当某种情况下的处理语句有多条时,必须用花括号("{}") 将其括起来成为一个复合语句。 C语句以分号(" ; ")结束