内容正文:
第四章
选择结构
第四章
选择结构
一、理论测试题(每小题12分,其中输出格式占2分,共60分)
1. 写出下列程序的运行结果
共include"stdio.h'
int mainO)
int a-3,b-5,c-7,d-6,x;
if(a<b)
if(c<d)x-1;
else if(a<c)
if(b<d)x-2;
elsex-3;
elsex-6;
elsex-7;
printf(“%dn”,x)
1
2.执行下列程序,输入2时,输出的结果是
共include"stdio.h"
int mainO)
iint k;
scanf(“%d”,&.m);
switch(m)
(case 1:printf(“%d”,m十十);
case2:printf(“%d”,m+十);
case3:printf(“%d”,m十+);
case 4:printf(“%d”,m十十);break;
default:printf(“end!”);
printf(“
”);
)
3. 若运行如下程序是输入:6
10/<回车>,则程序的运行结果是
#include"stdio.h"
int main()
(float x,y;
char c;
doubler;
scanf(“%f%f%c”,&.x,&.y,8.c)
switch(c)
(case'十':r-x十y;break;
case'-':r-x-y;break;
case'*':r-x*y;break;
case'':r-xy;break;
printf(“%f”,r);
.9.
单招零距离·计算机专业综合测试卷·下册
)
4. 阅读下列程序,则运行结果
#include<stdio. h
int mainO)
(int k-6,n-0;
do
(switch(k)
(case1:
case3:n+-1;k--;break;
default:n-0;k--;
case2:
case 4:n+-2;k--;break;
)
printf(”%3d",n);
while(k>0&.&.n 5);
printf("
"):
)
5. 阅读下列程序,则运行结果
#include stdio.h>
int mainO)
(chars]-" ABC!DAC$ 0BG”;
int k;char c;
for(k-1;(c=s[k])!-o;k十十)
(switch(c)
case'A':putcharC%):continue
case'B':十+k;break;
default:putchar( *');
case'C':putchar( &.);continue
)
putchar();
continue;
putcharC!);
)
。_{2
6. 阅读下列程序,则运行结果
#include<stdio.h
int mainO)
intx,y--4,z-5;
if ((z-y)0)x-4;
else if (y=-0)x-5;
elsex-6;
printf("\t%d\t%d
”,x,z);
if (z-(y--0))x-5;
x-4;
printf(“t%dt%d
”,x,z);
if(x=z=y)x-4;
printf("t%dt%dn”,x,z);
·10·
第四章
选择结构
二、技能测试题(第1、2题10分,第3、4题各30分,共80分)
1. 程序填空题;跟据输入的三角形的三条边,判断是否能组成三角形,若可以则输出它的
面积和三角形的类型。请填空。
共 include”math.h”
int mainO)
i float a,b,c;
floats,area;
scanf(“%f%f%f”,&.a,&.b,&.c);
if(
)(1)
{s-(a+b十c)/2;
area=aqrt(s*(s一a)*(s-b)×(s一c));
printf(“%f”,area);
if((2)
printf(“等边三角形”;)
else if(⊙
(3))
printf(“等腰三角形”):
else if((a*a+b*b==c*c)) l(a*a+c*c=-b*b)l l(b*b+c*c==a*a))
printf(“直角三角形”);
elseprintf(“一般三角形”):
elseprintf(“不能组成三角形”)
。
2. 程序填空题:函数fun的功能是进行数字字符转换。若形参ch中是数字字符0~9;
则0转换成9,1转换成8,2转换成7...9转换成0;若是其他字符则保持不变;并将转换后
的结果作为函数值返回。(10分)
共include<stdio.h>
char fun(char ch)
( if(ch>一o&.&.
return'9-(ch-(2));
returnch;
int main()
1 charcl,c2;
printf("
The result:
"):
cl-2;c2-fun(c1);
printf("cl-%c c2-%cn”,cl,c2);
cl-8;c2-fun(cl):
printf("cl-%cc2-%cn”,cl,c2);
cl-a';c2-fun(cl);
printf("cl-%cc2-%cn”,cl,c2)
)
3. 程序改错题:函数fun的功能是计算下列分段函数的值
,11.
单招零距离·计算机专业综合测试卷·下册
(x×x十x
x<0且x-3
f(x)-x×x+5x
0<x10且x去2及x去3
x×x+x-1
其它
#include"stdio. h"
float fun(float x)
)
关 关 关 关 ¥ 关 关FOUND关 关 ¥ 苦 关¥ ¥ 关 关
float y
关 关关$关 关$ 关 关 关 *$ 关 FOUND关$ 关 关$关 关 关$ 关 关$关
if (x<0|lx!--3.0)
y-x*x十x;
else if(x =0&.8. x<10.0 &.8.x!-2.0 &8.x!=3.0)
y-x*x十5*x;
else
y-x*x十x-1;
关关 关 关 ※ 关*关FOUND*关关¥※关苦*¥$
returnx;
int mainO)
float x,f:
printf("Input x-");
scanf("%f”,&.x);
f-fun(x);
printf(”x=%f,f(x)=%fn”,x,f$)
4. 程序设计题;从键盘输入一个年、月、日,请输出这个日期是这一年中的第几天?
共include"stdio. h"
int mainO)
__
关英关※关关关*)*** program**¥*关****关关关
.12. 1.(1)&f
(2)(f-32)∗5.0/9
2.(1)srand((unsigned)time(NULL))
(2)n=rand()%100+1
3.(1)longk=1;
(2)num/=10;
(3)}while(num);或 while(num! =0)
4.(1)#definePI3.1416
(2)scanf("%f",&r);
(3)printf("%.2f",area);
5.if(ch>='0'&&ch<=’9’)
return'9'- (ch-‘0’);
returnch;
6.x=rand()%900+100;
gw=x%10;
sw=x/10%10;
bw=x/100;
y=gw∗gw+sw∗sw+bw∗bw;
第四章 选择结构
一、理论测试题
1.6
2.234
3.0.600000
4.2 4 5
5.%#∗&∗&∗&%∗&&∗&
6.4 -4
4 0
4 -4
二、技能测试题
1.(1)a+b>c&&b+c>a&&a+c>b
(2)a==b&&b==c
(3)a==b||a==c||b==c
2.(1)ch<='9'
(2)'0'
3.(1)floaty;
(2)if(x<0&&x! =-3.0)
(3)returny;
4.intyear,month,day,days=0;
printf("请输入年月日:
");
scanf("%d-%d-%d",&year,&month,
&day);
switch(month-1)
{case11:days+=30;
case10:days+=31;
case9:days+=30;
case8:days+=31;
case7:days+=31;
case6:days+=30;
case5:days+=31;
case4:days+=30;
case3:days+=31;
case2:if(year%4==0&&year%100! =0|
|year%400==0)
days+=29;
else
days+=28;
case1:days+=31;
}
days+=day;
printf("%d-%d-%d是这一年中第%d天.\
n",year,month,day,days);
第五章 循环结构(一)
一、理论测试题
1.64,3,16,3
2.s=5,p=11
3.27,63,5
4.3,1,3,3,
5.①1 ②p∗=j ③pow(x,2∗i-1)/p ④-f
二、技能测试题
1.(1)a%i==0&&b%i==0&&c%i==0
(2)i%a==0&&i%b==0&&i%c==0
2.(1)for(a=100;a<=10000;a++)
(2)if(a%i==0)sum1+=i;
(3)if(sum1==a&&a<b)
3.longsum=0,num1,num,sum1,newnum;
printf("请从键盘上输入一个长整数:");
scanf("%ld",&num);
printf("num=%ld\t",num);
num1=num;
while(num1)
{sum=sum∗10+num1%10;
num1/=100;
}
newnum=0;
sum1=sum;
while(sum1)
2
单招零距离计算机专业综合测试卷下册