第5童 选择结构程序设计
第5章选择结构程序设计 本章内容 1.关系运算符和关系表达式 2.逻辑运算符和逻辑表达式 3.i语包 4. switch语包 5.程序举例
-2- 第5章 选择结构程序设计 本 章 内 容 1. 关系运算符和关系表达式 2. 逻辑运算符和逻辑表达式 3. if语句 4. switch语句 5. 程序举例
第5章选择结构程序设计 5.1关系运算符和关系表达式 关系运算符及其优先次序 ◆6种关系运算符: atb 相当于c>(a+b) 关系运算符 a>b==c 相当于(a>b)=c a=b>c 相当于a=(b>c) 赋值运算符|低
-3- 第5章 选择结构程序设计 5.1 关系运算符和关系表达式 关系运算符及其优先次序 v 6种关系运算符: >= == != v 优先次序 前4种运算符的优先级相同,后2种相同。前4种高于后2种。 关系运算符的优先级低于算术运算符。 关系运算符的优先级高于赋值运算符。 例如: c>a+b 相当于 c>(a+b) a>b==c 相当于 (a>b)==c a=b>c 相当于 a=(b>c) 算术运算符 高 关系运算符 赋值运算符 低
第5章选择结构程序设计 5.1关系运算符和关系表达式 a关系表达式 ☆关系表达式的构成 b)==c 表达式的值为1 b+cb>c f值为0
-4- 第5章 选择结构程序设计 5.1 关系运算符和关系表达式 a关系表达式 v 关系表达式的构成 关系表达式是用关系运算符将两个表达式连接起来的式子。 表达式:算术表达式、关系表达式、逻辑表达式、赋值表达式、 字符表达式。 v 关系表达式的值 逻辑值,即"真"或"假" , "1"或"0" 。 例如:a=3, b=2, c=1, 则: a>b 表达式的值为1 (a>b)==c 表达式的值为1 b+cb d值为1 f=a>b>c f值为0
第5章选择结构程序设计 5.2逻辑运算符和逻辑表达式 逻辑运算符及其优先次序 ☆C语言提供3种逻辑运算符: ☆逻辑运算"真值表 设a和b为逻辑值 la l b a&&b a a_110 b10 011 000 110 00
-5- 第5章 选择结构程序设计 5.2 逻辑运算符和逻辑表达式 逻辑运算符及其优先次序 v C语言提供3种逻辑运算符: && || ! v 逻辑运算"真值表" 设a和b为逻辑值 a b !a !b a&&b a||b 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 0
第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逻辑运算符和逻辑表达式 逻辑表达式 ☆逻辑表达式的构成 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语句以分号(" ; ")结束