资源描述:
《C语言分支结构程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章分支结构程序一.if语句功能:判断合法表达式的值,值为非0,执行语句。(一)if的三种形式1.if的第一种形式if(表达式)语句;解释:如果表达式为真,则执行语句,否则不执行语句if(a>b)printf(“%d”,a);2.if的第二种形式if(表达式)语句1;else语句2;解释:如果表达式为真,则执行语句1,否则执行语句2if(a>b)printf(“%d”,a);elseprintf(“%d”,b);功能是求a和b的最大值注意:不要误认为上面是两个语句(if语句和else语句)。它们都属于同一个if语句。else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使
2、用。例:#includemain(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d”,a,b,c,d);}程序输出【】A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错#includemain(){inta,b,k;scanf("%d,%d",&a,&b);k=a;if(amain(){inta=1,b=2,c=
3、3,d;if(a==b)d=1;elsed=c;printf("%d",d);}#includemain(){inta,b;a=3;b=5;if(a>b)a++;elseb++;}输出的结果,a不变,b变。1.if的第三种形式if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;…..else语句n;if(score>=90)a++;elseif(score>=80)b++;elseif(score>=70)c++;elseif(score>=60)d++;elsee++;#includemain(){intx=2,y;
4、if(x<0)y=0;elseif(x<10)y=1/x;elsey=1;printf("%d",y);}/*程序的输出结果为:*/1.注意事项(1)if后的表达式必须用小括号括起来,表达式可以是关系表达式或逻辑表达式等任意合法的表达式if(3)printf(“OK!”);(2)所有的语句都应该是单条语句,如果不是,需要用大括号括起来组成复合语句(考点)#includemain(){inta=5,b=2;if(amain(){inta=-1,b=
5、1,k;if((++a<0)&&(b--<=0))printf("%d,%d",a,b);elseprintf("%d,%d",b,a);}/*程序的输出结果为:*/#includemain(){inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d",a,b,c);}/*程序的输出结果为:*/#includemain(){floata,b,t;scanf("%f,%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%-5.2f,%-5.2f",a,b)
6、;}/*运行时输入3.6,-3.2,问:输出结果为:*/(一)if的嵌套if()if()语句1;else语句2;elseif()语句3;else语句4;else和if的配对原则:else总是和它上面的最近的未配对的if配对。y=-1(x<0)0(x=0)1(x>0)下面哪一个不符合题目要求?(1)if(x<0)y=-1;elseif(x==0)y=0;elsey=1;(2)if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;(3)y=1;if(x!=0)if(x>0)y=1;elsey=-1;(4)y=-1;if(x>=0)if(x>0)y=1;elsey=0;二.swit
7、ch语句1.一般形式switch(表式达){case常量表达式1:语句1;case常量表达式2:语句2;case常量表达式3:语句3;。。。case常量表达式n-1:语句n-1;default:语句n;}2.求解过程:计算表达式的值,并与各个常量表达式相比较,若相等则执行其后的语句,依次执行,若都不等则执行default后的语句3.说明:1)表达式的值必须为整型或字符型,若不是,则需先转换成整型或