计算机软件基础(自考本科程序设计).ppt
文本预览下载声明
二、选择结构程序设计 例题2-8 有如下分段函数: y= -1 0 1 (x0) (x=0) (x0) 试编写通过输入x值,求y值的程序。 二、选择结构程序设计 单分支if语句编程: main() { int x,y; scanf(%d,x); if (x0) y=-1; if (x==0) y=0; if (x0) y=1; printf(x=%d,y=%d\n,x,y); } 二、选择结构程序设计 嵌套if语句编程(1): main() { int x,y; scanf(%d,x); if(x=0) { if(x0) y=-1; else y=0; } else y=1; printf(x=%d,y=%d\n,x,y); } 二、选择结构程序设计 嵌套if语句编程(2): main() { int x,y; scanf(%d,x); if(x0) y=-1; else { if(x==0) y=0; else y=1; } printf(x=%d,y=%d\n,x,y); } main() { int x,y; scanf(%d,x); if(x=0) { if(x0) y=-1; else y=0; } else y=1; printf(x=%d,y=%d\n,x,y); } 二、选择结构程序设计 条件表达式编程: main() { int x,y; scanf(%d,x); y=x0?-1:(x==0?0:1); printf(x=%d,y=%d\n,x,y); } 二、选择结构程序设计 3.5多分支结构的switch语句 语句格式 switch(表达式) { case 常量表达式1:语句组1;break; case 常量表达式2:语句组2;break; …… case 常量表达式n:语句组n;break; default:语句组n+1; } 二、选择结构程序设计 例2-9输入一个学生某门课百分制成绩,输出其成绩等级。等级规定如下:100分——’A’级, 90~99分——’8’级, 80—89分——’C’级, 70~79分——’D’级, 60~69分——’E’级, 60分以下为’F’级。 #include stdio.h void main() {int x,i;char ch; scanf(%d,x); /*输入成绩x*/ i=x/10; /*确定分数段*/ switch(i) { case 10: ch=A; break; /*成绩100分为A级*/ case 9: ch=B; break; /*成绩90~99分为B级*/ case 8: ch=C; break; /*成绩80~89分为C级*/ case 7: ch=D; break; /*成绩70~79分为D级*/ case 6: ch=E; break; /*成绩60~69分为E级*/ default:ch=F; /*成绩小于60分为F级*/ } printf(%d一%c\n,x,ch); /*输出成绩及等级*/ } 例2-10:分析下列程序,写出运行结果。 void main() {int a=1,b=0; switch(a) {case 1 :switch(b) {case 0 :a++;b++; case 1 :a++;break; case 2 :b++; } case 2 : a++;b++;break; default:a++; } printf(a=%d,b=%d\n,a,b); } 二、选择结构程序设计2 二、选择结构程序设计 例2-11输入a、b、C三个数,按由小到大的顺序输出。 分析:排序的结果可让a中存放最小数,b中存人中间数,c中存放最大数。 #include stdio.h void main() {float a,b,c,m; scanf(%f%f%f,a,b,c); if(ab){m=a;a=b;b=m;} if(bc)m=b,b=c,c=m; /*此为逗号表达式语句*/ if(ab)m=a,a=b,b=m; printf(a=%6.2f,b=
显示全部