预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共66页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

5.1if语句图5-1例如:(1)如果x>0,输出x。if(x>0)printf(″x=%f″,x);(2)如果a等于b,输出″a=b″。if(a==b)printf(″%s″,″a=b″);说明:(1)条件表达式必须用小括号括起,同时注意区分作为条件的表达式与作为数值的表达式。(2)if语句中要选择执行的语句称为选择体,选择体从语法上只能是一条语句,如果选择体需多条语句描述,必须采用复合语句。例如:如果x>0,求x的平方根。(1)将结果放入变量y中;(2)输出x的平方根。if(x>0){y=sqrt(x);printf(″平方根=%f″,y);}(3)不管选择体多么复杂,包含多少条语句,if语句逻辑上是一条语句,后面的双分支if语句、多分支if语句、switch语句、循环语句均是逻辑上的一条语句。例5–1计算y,。提示:x等于1函数无定义。程序如下:/*程序5-1,求函数值*/main(){floatx;floaty;printf(″请输入x:″);scanf(″%f″,&x);if(x!=1){y=(x+1)/(x-1);printf(″x=%6.2f,y=%6.2f\n″,x,y);}}输入数据:1.2运行结果:x=1.20,y=11.005.1.2双分支if语句例如:(1)如果x>0,输出x大于0,否则输出x小于等于0。if(x>0)printf(″x大于0″);elseprintf(″x小于等于0″);(2)如果a等于b,输出a等于b,否则输出a不等于b。if(a==b)printf(″a等于b″);elseprintf(“a不等于b″);(3)求两个数x、y的最大值max。if(x>y)max=x;elsemax=y;(4)判断整数i的奇偶性。if(i%2==0)printf(″偶数\n″);elseprintf(″奇数\n″);(1)双分支if语句形式上相当于单分支if语句扩展else分支而来,else分支称为else子句,else子句不能单独存在。(2)在其它高级语言中特别强调else子句前不能有分号,C语言中else子句前必有分号。(3)选择体如为多条语句同样必须采用复合语句。(4)可采用条件运算等价实现,从而以表达式的形式参与运算。例如,上例中三个双分支if语句用条件运算描述:①(x>0)?printf(″x大于0″):printf(″x小于等于0″)②(a==b)?printf(″a等于b″):printf(″a不等于b″)③(x>y)?max=x:max=y(5)单分支if语句可认为是双分支if语句缺省else子句的特殊情况,一条双分支if语句可用两条单分支if语句实现。例如,前例中三条双分支if语句改用单分支if语句实现:①if(x>0)printf(″x大于0″);if(x<=0)printf(″x小于等于0″);②if(a==b)printf(″a等于b″);if(a!=b)printf(″a不等于b″);③if(x>y)max=x;if(x<=y)max=y;例5-2计算y的值,y的表达式为/*程序5-2,求函数值*/main(){floatx;floaty;printf(″请输入x:″);scanf(″%f″,&x);if(x>1)y=x+1;elsey=x-1;printf(″x=%6.2f,y=%6.2f\n″,x,y);}输入数据:1.2运行结果:x=1.20,y=2.00例5–3输入两个数,求两个数的最大值、最小值。数据分析:输入量:两个数x、y,float输出量:最大值max、最小值min,float算法分析:①输入两个数x、y②比较两个数x、y大小如果x>y,max=x,min=y如果x<y,max=y,min=x③输出最大值max、最小值min/*程序5-3,求两个数的最大值、最小值*/main(){floatx,y;floatmax,min;printf(″请输入两个数x,y:″);scanf(″%f,%f″,&x,&y);if(x>y){max=x;min=y;}else{max=y;min=x;}printf(″max=%6.2f,min=%6.2f\n″,max,min);}输入数据:1.2,2.54运行结果:max=2.54,min=1.205.1.3多分支if语句图5-2例5–4计算y,例5–5将百分制成绩转成五级记分(A、B、C、D、E)。说明:(1)多分支if语句中,else子句总是与最近的if配套。(2)通过加花括号、加注释来明确else与if的配套关系。(3)多分支if语句可用多条单分支、