清华大学出版社 TSINGHUA UNIVERSITY PRESS 第五章 选物很存做
第五章
清华大学出版社 TSINGHUA UNIVERSITY PRESS 本章要点 ■关系表达式 逻辑表达式 ■选择结构程序设计(if、 switch)
⚫ 本章要点 ◼ 关系表达式 ◼ 逻辑表达式 ◼ 选择结构程序设计(if、switch)
清华大学出版社 TSINGHUA UNIVERSITY PRESS §5.1关系运算符和关系表达式 ()关系运算符及其优先次序 =(大于或等于) 5.==(等于 6.!=(不等于) 优先级相同(低) 说明:左结合 优先级:算术运算符关系运算符赋值运算符 语言程序设计(第三版)‖httplccf.tsinghua.edu.cn3
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 3 §5.1 关系运算符和关系表达式 (一)关系运算符及其优先次序 1. (大于) 4. >= (大于或等于) 5. == (等于) 6. != (不等于) 优先级相同(高) 优先级相同(低) 说明:左结合 优先级:算术运算符 关系运算符 赋值运算符
清华大学出版社 TSINGHUA UNIVERSITY PRESS (二)关系表达式 用关系运算符将两个表达式连接起来的式子,当关 系式成立时返回1,不成立时返回0 例:a+b>b+c,(a=3)>(b=5,a>b==,a=b>c,5>3>2 语言程序设计(第三版)‖http:/iCcf.tsinghua.edu.cn4
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 4 (二) 关系表达式 用关系运算符将两个表达式连接起来的式子,当关 系式成立时返回1,不成立时返回0 例:a+b>b+c, (a=3)>(b=5), a>b= =c,a=b>c,5>3>2
清华大学出版社 TSINGHUA UNIVERSITY PRESS §5.2逻辑运算符和逻辑表达式 (一)逻辑运算符及其优先次序 逻辑非)&&逻辑与)‖(逻辑或) 结合方向:左结合 优先次序:!算术运算符关系运算符&& 语言程序设计(第三版)‖http:/iCcf.tsinghua.edu.cn5
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 5 §5.2 逻辑运算符和逻辑表达式 (一)逻辑运算符及其优先次序 !(逻辑非) &&(逻辑与) || (逻辑或) 结合方向:左结合 优先次序:! 算术运算符 关系运算符 && ||
清华大学出版社 TSINGHUA UNIVERSITY PRESS 二)逻辑表达式 用逻辑运算符将若干表达式连接起来的式子,表达式值 为真时返回1,否则返回0 如a=4b=5,c=6时 a值为0a&&b值为1叫b值为1 ab值为14&&02值为15>3&&8-y;a<b&&a<cla<0: 注:判断一个量时非零理解为真,零理解为假。 语言程序设计(第三版)‖http:/iCcf.tsinghua.edu.cn6
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 6 (二)逻辑表达式 用逻辑运算符将若干表达式连接起来的式子,表达式值 为真时返回1,否则返回0。 如a=4,b=5,c=6时: !a值为0 a&&b值为1 a||b值为1 !a||b值为1 4&&0||2值为1 5>3&&8y; a<b&&a<c||a<0; 注:判断一个量时非零理解为真,零理解为假
清华大学出版社 TSINGHUA UNIVERSITY PRESS 注意: 在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 1)a&&b&&c只有a为真时,才需要判断b的值,只有a和b都为 真时,才需要判断c的值 2)abl只要a为真,就不必判断b和c的值,只有a为假,才判 断b。a和b都为假才判断C 例m=a>b)&&(n=c>d) 当a=1b=2,C=3d=4m和n的原值为1时,表达式执行后 m值为0,而n的值仍为1 语言程序设计(第三版)‖http:/iCcf.tsinghua.edu.cn7
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 7 注意: 在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为 真时,才需要判断c的值。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才 判 断b。a和b都为假才判断c 例:(m=a>b)&&(n=c>d) 当a=1,b=2,c=3,d=4,m和n的原值为1时,表达式执行后 m值为0,而n的值仍为1
清华大学出版社 TSINGHUA UNIVERSITY PRESS §5.3if语句 If语句的三种基本形式 f() r()f(s>85)g=A S else if(s>75)1g=Bi1 cC。d s2, else if(s>60)1g=Cih else else ig=D'il S3 S 注(1)else子句是i诘句的一部分,不可单独使用 (2)else与if之间只能间隔“一条”语句(复合语句算一条 语言程序设计(第三版)‖http:/iCcf.tsinghua.edu.cn8
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 8 §5.3 if语句 一.If语句的三种基本形式 if ( ) { s1; s2; } else { s3; s4; } if (s>85){g=‘A’;} else if(s>75){g=‘B’;} else if(s>60){g=‘C’;} else {g=‘D’;} 注(1)else子句是if语句的一部分,不可单独使用 (2)else与if之间只能间隔“一条”语句(复合语句算一条) if( ) { s1; s2; }
清华大学出版社 TSINGHUA UNIVERSITY PRESS 例51’输入一个年份判断它是否闰年 例5.2输入三个数a,b,c,要求按由小到大的顺序输出。 语言程序设计(第三版)‖httplccf.tsinghua.edu.cn9
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 9 例5.2 输入三个数a,b,c,要求按由小到大的顺序输出。 例5.1’ 输入一个年份判断它是否闰年
清华大学出版社 TSINGHUA UNIVERSITY PRESS 二I语句的嵌套 fx>=0) if0语句1 if(x>0)y=1 else语句2 else else y if0语句3 else else语句4 匹配规则 else总是与它上面最近的未配对的语句配对,配对后 可看作“一条”语句 语言程序设计(第三版)‖http:/iCcf.tsinghua.edu.cn10
C语言程序设计(第三版) http://ccf.tsinghua.edu.cn 10 二.If语句的嵌套 if(x>=0) if(x>0) y=1; else y=0; else y=-1; 匹配规则: else总是与它上面最近的未配对的if语句配对,配对后 可看作“一条”语句 if( ) if() 语句1 else 语句2 else if() 语句3 else 语句4