资源描述:
《c语言之第五章选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、复习顺序结构编程练习:键盘输入4个数,求平均值。参考代码:#includevoidmain(){floata,b,c,d,av;scanf("%f,%f,%f,%f",&a,&b,&c,&d);av=(a+b+c+d)/4;printf("av=%.2f",av);}第五章选择结构程序设计教学目标与要求:掌握关系运算符和关系表达式和逻辑运算符和逻辑表达式。能够熟练掌握和运用if语句、switch语句,能设计出具有判断能力的程序,重点学会设计程序的算法。单分支、双分支、多分支选择其一例:if(x
2、>y)z=x;elsez=y;例:if(x>y&&x>z)max=x;5.1关系运算符与关系表达式1、关系运算符假值用0表示,非0都为真;关系运算符与优先级:<<=>>=(高)==!=(低)结合性:左到右2、关系表达式赋值运算关系运算算术运算(高)例:c>a+b等价于c>(a+b)a=b>c等价于a=(b>c)5.2逻辑运算符与逻辑表达式1、逻辑运算符:&&逻辑与
3、
4、逻辑或!逻辑非(单目运算)2、优先级逻辑非高算术运算关系运算&&和
5、
6、赋值运算低例:(a>b)&&(x>y)等效a>b&&x>y3、逻辑运算符的运算规
7、律ab!aa&&ba
8、
9、b真真假真真真假假假真假真真假真假假真假假例:条件:3030例:条件:字符c是小写字母表达为:c<=‘z’&&c>=‘a’5.3if语句1、格式(1)格式一:if(表达式)语句1[else语句2]说明:if、else语句后语句可是复合语句,要用用{}。例1:a、b两个数,输出较大数。例2:a、b两个数,按由小到大次序输出。练习:编程求x绝对值源程序:voidmain(){floata,b,t;scanf("%f,%f",&a,&b);if(a>b){}p
10、rintf("a=%f,b=%f",a,b);}t=a;a=b;b=t;(2)格式二if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…else语句n#includevoidmain(){intscore;scanf("%d",&score);if(score>=90)printf("score=%dA等",score);elseif(score>=80)printf("score=%dB等",score);elseif(score>=70)printf
11、("score=%dC等",score);elseif(score>=60)printf("score=%dD等",score);elseprintf("score=%dE等",score);}例3:学生成绩分等级。90-100“A”,80-89“B”,70-79“C”,60-69“D”,0-60“E”.C5_cjfd.c2、if语句的嵌套if()if()语句1else语句2elseif()语句3else语句4说明:多个嵌套的结果,else存在匹配的问题:else总是与最近的尚未匹配的if匹配。如i
12、f和else数目不同,可用{}确定配对关系。程序1:voidmain(){floatx,y;scanf(“%f”,&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf(“x=%fy=%f”,x,y);}例4:有一函数:-1(x<0)y=0(x=0)1(x>0)输入任意x,求y.-1(x<0)y=0(x=0)1(x>0)程序2:voidmain(){floatx,y;scanf(“%f”,&x);if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;pri
13、ntf(“x=%fy=%f”,x,y);}-1(x<0)y=0(x=0)1(x>0)程序3:voidmain(){floatx,y;scanf(“%f”,&x);y=-1;if(x!=0)if(x>0)y=1;elsey=0;printf(“x=%fy=%f”,x,y);}练习:给一个不多于5位的正整数,判断是几位数。xt5_7.c参考代码:voidmain(){intnum,place;printf("请输入一个整数(0-99999)");scanf("%d",&num);if(num>9999)plac
14、e=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf("place=%d",place);}3、条件运算符if语句中,表达式真假时,都给同一变量赋值,可用条件运算符。格式为:表达式1?表达式2:表达式3例:if(a>b)max=a;