资源描述:
《C语言实验(分支结构程序设计).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验1分支结构程序设计(假期自学用)【实验目的】1.掌握C语言逻辑量的表示方法(以0代表“假”,1代表“真”)。学会正确地使用关系表达式和逻辑表达式。2.掌握用if语句实现选择结构。3.掌握用switch语句实现多分支选择结构。4.掌握选择结构的嵌套。【样例】实验内容:从键盘输入一年份,判断年份是否为闰年。说明:注意程序的输入和输出分别是什么。参考程序如下:#includevoidmain( ){intyear;scanf("%d",&year);/*键盘输入年份值*/if(year
2、%4==0&&year%100!=0
3、
4、year%400==0)printf("Thisyearisaleapyear!");/*如果是则输出是闰年*/elseprintf("Thisyearisnotaleapyear!");/*否则输出不是闰年*/}注意:程序的书写风格,要求或括号对齐,程序采用缩进排列。题目一:完善下列程序并回答问题???实验内容:已知一函数:-1x<0y=0x=01x>0现有4个程序段:A)if(x<0)y=-1;elseif(x==0)y=0;elsey=1;B)y=-1
5、;if(x!=0)if(x>0)y=1;elsey=0;C)y=0;if(x>=0){if(x>0)y=1;}elsey=-1;D)if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;问题:哪个程序段不能实现此函数关系?为什么?请用缩进格式编写完整的程序并上机调试。题目二:运行程序并回答问题voidmain(){inta,b,max,min;scanf("%d%d",&a,&b);if(a>b){max=a;min=b;}else{min=a;max=b;}printf("max=
6、%d,min=%d",max,min);}实验内容:a、此程序的功能是什么?比较两个数的大小,输出最大和最小值。b、请用条件表达式语句(?:)修改程序使之完成相同的功能。Voidmain(){inta,b;scanf("%d%d",&a,&b);(a>b)?printf(“a,b”):printf(max=b,a)}题目三:判断正整数。实验内容:输入一个不大于4位的正整数,判断它是几位数,然后输出各位之积。参考程序:voidmain(){intx,a,b,c,d,n;printf("请输入个不大于
7、4位的正整数X:");scanf("%d",&x);if(x>999)n=4;if(x>99)n=3;if(x>9)n=2;elsen=1;a=x/1000;/*x的个,十,百,千位分别用d,c,b,a表示*/b=(x-a*1000)/100;c=(x-a*1000-b*100)/10;d=x%10;/*最低位可用求余方法计算*/swith(D){case4:printf("%d*%d*%d*%d=%d",a,b,c,d,a*b*d*c);/*abcd四个数相乘=*/break;case3:pri
8、ntf(“%d*%d*%d=%d”,b,c,d,b*c*d);break;case2:printf(“%d*%d=%d”,c,d=c*d);break;case1:printf(“%d”,d);break;}}题目四:实验内容:三个整数a,b,c,由键盘输入这三个数,求三个数中最大的值。main(){inta,b,c;printf(“inputa,b,c:”);scanf(“%d;%d;%d”,&a,&b,&c);if(a
9、eprintf(“max=%d”,b);elseif(ab)?a:b;
10、max=(t>c)?t:c;printf(“max=%d”,max);}问题:可利用此程序,考虑怎样修改求出三个数中的最小值。题目五:????实验内容:先读下面程序,分析if和else是哪两个相互“配对”,重新给程序进行缩排,分出层次。分析程序的执行结果,然后再上机运行,看结果是否一致。main(){intx,y=1,z;if(y!=0)x=5;printf(“x=%dt”,x);if(y==0)x=3;elsex=5;printf(“x=%dt