第5章选结构程序设计 (1)双分支语句形式上相当于单分支语句扩展else 分支而来,else分支称为else子句,else子句不能单独存在。 (2)在其它高级语言中特别强调else子句前不能有分号, C语言中else子句前必有分号。 (3)选择体如为多条语句同样必须采用复合语句 (4)可采用条件运算等价实现,从而以表达式的形式参 与运算 例如,上例中三个双分支i语句用条件运算描述: ①(x>0)? printf("x大于0"): printf("x小于等于0) ②(a=b)? printf("a等于b"): printf("a不等于b") ③(x>y)?max=x:max=y
第5章 选择结构程序设计 (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章选结构程序设计 (5)单分支if语句可认为是双分支if语句缺省else子句 的特殊情况,一条双分支i语句可用两条单分支i语句实现。 例如,前例中三条双分支语句改用单分支语句实现: ①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章 选择结构程序设计 (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章选结构程序设计 x+1x>1 例5-2计算y,y= x-1x≤1 /*程序5-2,求函数值* maint float x; float printf("请输入x:"); scanf ("%of. &x if (x>1) x+1 else printf ("x=%6.2f, y=%6.2A\",*, y); 输入数据:1.2 运行结果:x=120,y=2.00
第5章 选择结构程序设计 例 5 – 2 计算 1 1 1 1 , + − = x x x x y y /*程序5 - 2, 求函数值*/ main( ) {float x; float y; 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章选结构程序设计 例5-3输入两个数,求两个数的最大值、最小值 数据分析: 输入量:两个数x、y, float 输出量:最大值max、最小值min,foat 算法分析 ①输入两个数x ②比较两个数x、y大 如果xy,max=x,miny 如果xy,max=y,min=x ③输出最大值max、最小值min
第5章 选择结构程序设计 例 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章选结构程序设计 /程序5-3,求两个数的最大值、最小值 maIn() float X, y; float max. min printf("请输入两个数x,y:"); scanf ("%f, %f",&x, &y); imax=x; mIny, else max-y mIn-x printf ("max=%6.2f, min=%6.2f\n",max, min); 输入数据:1.2,254 运行结果:max=254,min=1.20
第5章 选择结构程序设计 /*程序5 - 3, 求两个数的最大值、最小值*/ main( ) { float x, y; float max, 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.20