10关系运算符逻辑运算符if标准语句教学课件.pptx
选择结构程序设计简单选择结构引入案例本节课程目标1.1.关系表达式关系表达式2.2.逻辑表达式逻辑表达式3.3.流程图流程图4.4.选择结构程序设计选择结构程序设计( (重点重点 难点难点) )必备(背)英语单词复习:include stdio.h math.h main printf scanf putchar getchar int float char define新词:if else 一、关系运算符和关系表达式1.关系运算符及其优先次序 (小于) (大于) = (大于或等于) = (等于) != (不等于)优先级相同(高)优先级相同(高)优先级相同(低)优先级相同(低)说明:关系运算符的优先级低于算术运算符关系运算符的优先级高于赋值运算符例 ca+b ab!=c a=bc/c(a+b)/(ab)!=c/a=(bc6结合方向:自左向右关系表达式的值:是逻辑值“真”或“假”,用1和0表示例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc/表达式值1/表达式值1/表达式值0/d=1/f=02、关系表达式7例 若a=0; b=0.5; x=0.3; 则 a=x278在C中是允许的,值为0例 int i=1, j=7,a; a=i+(j%4!=0); 则a=2关系运算二、逻辑运算符和逻辑表达式1.逻辑运算符及其优先次序(1)& (逻辑与) 两个条件都为真时,结果为真(2)| (逻辑或) 一个条件为真时,结果即为真(3)! (逻辑非) 结果与条件相反优先次序:!(非)-&(与)-|(或)逻辑运算符中的“&”和“|”低于关系运算符,“!”高于算 术运算符逻辑运算符示例1、高&帅2、英国人|德国人3、!非洲裔ab!a!ba&ba|b真假真假假假真真逻辑运算真值表C语言中,操作数: 0表示“假”, 非0表示“真”, 运算结果: 0表示“假”, 1表示“真”,真假假假假假真真假假真真真假真真2.逻辑运算符和表达式(1)11! & | 高低l优先级:l结合方向:! :从右向左& :从左向右| :从左向右例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|83)&2|(8b)&(n=cd)/结果m=0,n=12.逻辑运算符和表达式(逻辑运算符和表达式(3)小练习1、int x=5,y=6,z=7;x=y 表达式的值为?x=y 表达式的值为?x=z 表达式的值为?xy=1 表达式的值为?2、 整型变量a,如何通过逻辑表达式表示a满足在0100之间? 3、字符变量ch,如何通过逻辑表达式判断用户输入的是26个英文字母中的一个? 用逻辑表达式来表示闰年的条件能被4整除,但不能被100整除。能被100整除,又能被400整除。答答 (year%4=0&year%100!=0)|year%400=0案案 值为真(1)是闰年,否则为非闰年。三、流程图流程图:用一些约定的几何图形来描述算法。用某种图框表示某种操作,用箭头表示算法流程起始框输入输出框判断选择框处理框流程线连接点注释框16顺序结构ABab三、流程图共 110 页 第 17 页 提出问题根据学生分数判断是否及格?如何判断图片相等如何解决?自然语言:如果 那么 否则C语言:分支语句18选择结构ABabpYN当p为“真”当p为“假”流程图共 110 页 第 19 页 if语句格式格式1:if (条件) 语句1;格式2:if (条件) 语句1; else 语句2; if语句的执行流程流程1: 流程2:表达式执行语句成立不成立表达式执行语句2执行语句1成立不成立分支条件 五、if语句释义 连连看1:如果第一次点击和第二次点击的是同一种动物,那么两个动物消失。If(第一次是小猪&第二次是小猪) 两个小猪消失连连看2:如果第一次点击和第二次点击的是同一种动物,则两个动物消失,否则的话不变。If(第一次是小猪&第二次是小猪) 两个小猪消失Else 两个动物不变共 110 页 第 21 页 1:连连看第一次输入&第二次输入不变消失成立不成立if语句中进行条件判断的“表达式”必须用( )括起来且不可省略#includemain()char ch1,ch2;scanf(%c和%c,&ch1,&ch2);if(ch1= =ch2) printf(小动物消失);else printf(小动物不变);共 110 页 第 22 页 2:求a和b两数中较大的一个。ab?max=bmax=a成立不成立if语句中进行条件判断的“表达式”必须用( )括起来且不可省略#include main( ) int a,b,max; printf(“请输入 a 和 b:); scanf(%d%d,&a, &b); if ( ab ) max=a; /*如果ab,则将a=max */ else max=b; /* 否则, b=max */ printf(The max of a and b : %dn, max);小结及常见错误调试1、注意条件表达式2、关系运算符优先级高于逻辑运算符3、if语句后面没有分号总结1.if语句的基本形式(1)if (表达式) 语句表达式语句真(非0)假(0)总结(2)if(表达式) 语句1 else 语句2 条件条件 语句语句1 语句语句2YN共 110 页 第 26 页六、选择语句提高练习 main( ) int a,b; printf(“输入被除数和除数: ); scanf(%d%d, &a, &b); if (b!=0) printf(%dn, a/b); else printf(“除数不能为0.n);B=0?printf 不能为 0求商 打印非 001:从键盘输入被除数a和除数b,求商。六、选择语句提高练习2 2 、输入、输入两个实数,按代数值由小到大的顺序输出这两个数两个实数,按代数值由小到大的顺序输出这两个数。ynabT=aA=bB=t#include#include main() main()float float a,b,ta,b,t; ;scanfscanf(%(%f,%f,&a,&bf,%f,&a,&b););if(ab)if(ab)t=a;t=a;a=b;a=b;b=t;b=t;printfprintf( (%5.2f,%5.2f%5.2f,%5.2fn n,a,b,a,b);); 六、选择语句提高练习3 3、输入、输入一个字符,判别它是否大写字母,如果是,将它一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得转换成小写字母;如果不是,不转换。然后输出最后得到的字符。到的字符。 #include #include void main ( ) void main ( ) char char chch; ; scanfscanf(%c,& (%c,& chch);); chch= =( (chch=A& =A& chch=Z)?(ch+32):=Z)?(ch+32):chch; ; printfprintf(%c(%cn,chn,ch);); 如果字符变量ch的值为大写字母,则条件表达式的值为(),即相应的小写字母。如果ch的值不是大写字母,则条件表达式的值为,即不进行转换。