《选择结构的程序设计.doc》由会员分享,可在线阅读,更多相关《选择结构的程序设计.doc(5页珍藏版)》请在三一文库上搜索。
1、实验4 选择结构的程序设计 一、实验目的1掌握关系表达式和逻辑表达式的正确书写形式。2熟练掌握if语句的各种形式。3掌握switch语句的正确使用方法。4结合程序,掌握一些简单的算法。 二、实验要求1通过调试简单程序,学会正确使用关系表达式、逻辑表达式。 2通过编程,掌握if与switch语句。 三、实验内容1. 通过下列程序,掌握:(1)“=”与“= =”的区别。(2)数学区间的表达。试编程序,求下列函数的值。main() int x,y; scanf(“%d”,&x); while (x3|x-3)scanf(“%d”,&x); if (0x & x=3) y=x*x+1; else if
2、 (x= =0) y=0;else y= -x*x+1; printf(“x=%d,y=%dn”,x,y);运行上述程序,分别输入下列测试数据,观测其执行结果。 -3,-1,0,2,3。请问,是否可将第七至八行改为: if (0xx; b=yz;printf(“%d%d”,a,b);/* No. 2 */int a=1,b=3,c=5,d=4,x;if(ab) if (cd) x=1; else if (ac) if(bd) x=2; else x=3; else x=6; else x=7; printf(“%dn”,x);将上述两个程序段分别扩充为两个完整的程序。运行这两个程序,将运行结果
3、与阅读程序段时的计算结果作比较。3. 分别用if 语句和switch语句编写程序,求下列分段函数的值。本题用下列两种方法来解,请读者作比较。 /* 第一种方法 */main() float a; double x,y; scanf (“%f%lf”,&a,&x); while (x=7.5) scanf (“%f%lf”,&a,&x); if (0.5=x & x1.5) y=a*x*x; else if (1.5=x & x3.5) y=exp(a*x);else if (3.5=x & x7.5)y=sin(a+x)*sin(a+x); printf(“y=%7.3fn”,y); /* 第
4、二种方法 */main() float a; double x,y; int t; scanf (%f%lf,&a,&x); while (x=7.5) scanf (%f%lf,&a,&x); t=(int)(x+0.5); switch (t) case 1 : y=a*x*x; break; case 2: case 3: y=exp(a*x); break; case 4: case 5: case 6: case 7 : y=sin(a+x)*sin(a+x); break; printf(y=%7.3fn,y); 4编写程序,输入一个整数,判断它能否被3、5、7整除,并输出下列信息
5、之一: (1)能同时被3、5、7整除; (2)能被其中两个数(要指出哪两个)整除; (3)能被其中一个数(要指出哪一个)整除;(4)不能被3、5、7任一个整除。本题介绍两种方法,请读者作比较。 /* 第一种方法 */main() int x; scanf(“%d”,&x); if(x%3= =0) & (x%5= =0) & (x%7= =0) printf(“%d can be divided by 3,5,7n”,x); else if (x%3= =0) & (x%5= =0) printf(“%d can be divided by 3,5n”,x); else if (x%3= =0
6、) & (x%7= =0) printf(“%d can be divided by 3,7n”,x); else if (x%5= =0) & (x%7= =0) printf(“%d can be divided by 5,7n”,x); else if (x%3= =0) printf(“%d can be divided by 3n”,x); else if (x%5= =0) printf(“%d can be divided by 5n”,x); else if (x%7= =0) printf(“%d can be divided by 7n”,x); else printf(“
7、%d cannot be divided by 3,5,7n”,x); /* 第二种方法 */main() int x; scanf(“%d”,&x); if(x%3= =0) if (x%5= =0) if (x%7= =0) printf(“%d can be divided by 3,5,7n”,x); else printf(“%d can be divided by 3,5n”,x); else if (x%7= =0) printf(“%d can be divided by 3,7n”,x); else printf(“%d can be divided by 3n”,x); else if (x%5= =0) if (x%7= =0) printf(“%d can be divided by 5,7n”,x); else printf(“%d can be divided by 5n”,x); else if (x%7= =0) printf(“%d can be divided by 7n”,x); else printf(“%d cannot be divided by 3,5,7n”,x); 四、实验思考题编写程序,键盘输入4个数,要求按其数值的大小,由小到大按顺序输出。