资源描述:
《第4讲 选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4讲选择结构程序设计1引例:从键盘输入一个小写字母,要求在屏幕上输出对应的大写字母。#includemain(){charlowchar,upchar;lowchar=getchar();upchar=lowchar-32;putchar(upchar);}分析左边程序中存在的问题如何来避免不合理的输入?(对上一讲程序进行优化)2引例—通过输入提示避免不合理输入#includemain(){charlowchar,upchar;printf(“Pleaseinputasmallcharacter:”);lowc
2、har=getchar();upchar=lowchar-32;putchar(upchar);}有输入的地方增加提示信息。3引例—通过判断输入值避免程序的错误执行#includemain(){charlowchar,upchar;printf(“Pleaseinputasmallcharacter:”);lowchar=getchar();upchar=lowchar-32;putchar(upchar);}通过在此处对得到的输入字符进行判断,以避免错误的操作编程提示:数据有效性判断是程序设计常用的方法4本讲主要内容2.if选择
3、结构3.switch多分支选择结构第4章4.1--4.5重点:条件运算及条件表达式if条件语句结构的使用本讲小结4.选择结构程序举例1.条件表达式及条件运算5关系表达式和关系运算(1)1.1关系运算—关系运算符<(小于)、>(大于)、==(等于)、!=(不等于)>=(大于等于)、<=(小于等于)关系表达式的值是一个逻辑值:真或假1(非0)表示真0表示假课堂练习:写出下面表达式的等价表达式a=ka<(b+c)i!=(j>=k)6课堂练习:设有i=1,j=2,k=3,则下面表达式的值为多少?i>ji==k>j关系表达式和关系运算(2)
4、1.1关系运算—关系表达式关系表达式的一般形式表达式1关系运算符表达式2关系表达式的结果为1(真)或0(假)。值为0等价于i==(k>j),值为1课堂练习:变量x的取值范围为0≤x≤20,在C语言中如何表示此关系式?0<=x<=20正确吗?7课堂练习:求下面逻辑表达式的值:2>1&&4&&7<3+!0逻辑表达式和逻辑运算(1)1.2逻辑运算—逻辑运算符与逻辑表达式&&(逻辑与)、
5、
6、(逻辑或)、!(逻辑非)逻辑表达式的一般形式:P1逻辑运算符P2逻辑运算符P2或等价于((2>1)&&4)&&(7<(3+(!0)))值为08逻辑表达式和逻辑运算(2)
7、1.2逻辑运算—逻辑运算的重要规则a&&b:当a为0时,不管b为何值,结果为0利用这个性质,在计算连续的逻辑与运算时,若有运算分量的值为0,则不再计算后继的逻辑与运算分量,并以0作为逻辑与算式的结果。课堂练习:有下面定义的语句和逻辑表达式:inta=0,b=10,c=0,d=0a&&b&&(c=a+10,d=100)逻辑表达式执行后,a,b,c,d的值各为多少?a=0,b=10c=0,d=0验证上述说法是否正确?9逻辑表达式和逻辑运算(3)1.2逻辑运算—逻辑运算的重要规则(续)a
8、
9、b:当a为1时,不管b为何值,结果为1利用这个性质,在计算连续的
10、逻辑或运算时,若有运算分量的值为1,则不再计算后继的逻辑或运算分量,并以1作为逻辑或算式的结果。课堂练习:有下面定义的语句和逻辑表达式:inta=0,b=10,c=0,d=0a
11、
12、b
13、
14、(c=a+10,d=100)逻辑表达式执行后,a,b,c,d的值各为多少?a=0,b=10c=0,d=010课堂练习课堂练习:用关系表达式或逻辑表达式写出下列条件:①判断年份year是否为闰年。②判断ch是否为小写字母③判断m能够被n整除④判断a是否为整数⑤判断ch既不是字母也不是数字字符(year%4==0&&year%100!=0)
15、
16、year%400==0ch
17、>='a'&&ch<='z'm%n==0(int)a==a!((ch>='A'&&ch<='Z')
18、
19、(ch>='a'&&ch<='z')
20、
21、(ch>='0'&&ch<='9'))11条件表达式和条件运算1.3条件运算条件运算的一般形式:表达式1?表达式2:表达式3条件运算的运算规则是先求表达式1的值,如果表达式1的值非0(为真),则求表达式2,并以表达式2的值为条件运算的结果(不再计算表达式3)。如果表达式1的值为0(为假),则求表达式3,并以表达式3的值做为条件运算的结果返回主菜单12if选择结构(1)if选择结构单分支双分支多分支if(表达式
22、)语句if(表达式)语句1else语句2if(表达式1)语句1elseif(表达式2)语句2…elseif(表达式m)语句