C语言期中试题Word文件下载.docx
《C语言期中试题Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言期中试题Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
printf("
*"
);
break;
case1:
#"
default:
\n"
case2:
&
"
}return0;
}
A.#&
*
B.#&
&
C.#
*
D.#&
3.下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。
#include<
intmain()
{intx,y,z,I,result=532;
for(x=1;
x<
10;
x++)
for(y=1;
y<
y++)
for(;
z<
z++)
{i=100*x+10*y+z+100*y+10*z+z;
if()
printf(“x=%d,y=%d,z=%d\n”,x,y,z);
}
return0;
A1.z=xB1.z=1C1.z=0D1.z=y
A2.i/result==1B2.i=resultC2.i!
=resultD2.i==result
4.以下正确的描述是。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循坏体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出,只能使用goto语句
5.在下面的程序中,。
{intt,x;
for(t=1;
t<
=100;
t++)
{scanf("
%d"
&
x);
if(x<
0)continue;
%3d"
t);
return0;
A.当x<
0时整个循环结束
B.x>
=0时什么也不输出
C.printf函数永远也不执行
D.最多允许输出100个非负整数
6.与下面程序段等价的是。
for(n=100;
n<
=200;
n++)
{if(n%3==0)continue;
printf(“%4d”,n);
A.for(n=100;
(n%3)&
n++)printf(“%4d”,n);
B.for(n=100;
(n%3)||n<
C.for(n=100;
n++)if(n%3!
=0)printf(“%4d”,n);
D.for(n=100;
n++)
{if(n%3)printf(“%4d”,n);
elsecontinue;
break;
7.下面程序的运行结果是。
{inta,b;
for(a=1,b=1;
a<
a++)
{if(b>
=20)break;
if(b%3==1){b+=3;
continue;
b-=5;
printf(“%d\n”,a);
A.7B.8C.9D.10
二、填空题
1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
请填空。
intn=0,c;
c=getchar();
while()
{if()n++;
c=getchar()
2.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计买完所需的天数,请填空。
{intday=0,x1=1020,x2;
while
{x2=;
x1=x2;
day++;
printf(“day=%d\n”,day);
3.当运行以下程序时,从键盘键入right?
<
回车>
,则下面程序的运行结果是。
{charc;
while((c=getchar())!
='
?
'
)putchar(++c);
putchar('
\n'
4.下面程序的运行结果是。
{inta=2,s=0,n=1,count=1;
while(count<
=7){n=n*a;
s=s+n;
++count;
s=%d\n"
s);
5.当运行以下程序时,从键盘输入“China#<
”,则下面程序的运行结果是。
{intv1=0,v2=0;
charch;
while((ch=getchar())!
#'
)
switch(ch)
{case'
a'
:
case'
h'
v1++;
o'
v2++;
%d,%d\n"
v1,v2);
6.下面程序段中循环体的执行次数是。
a=10;
b=0;
do{b+=2;
a-=2+b;
}while(a>
=0);
7.下面程序段的运行结果是。
x=2;
do{printf(“*”);
x--;
}while(!
x==0);
8.下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印5个数,请填空。
{inti=1,j=0;
do
{if
{printf(“%4d”,i);
j++;
ifprintf(“\n”);
i=i+1;
}while(i<
1000);
9.当运行以下程序时,从键盘输入“12345-1<
{intk=0,n;
n);
k+=n;
}while(n!
=-1);
k=%dn=%d\n"
k,n);
10.下面程序的运行结果是。
{inti=0,x=0,y=0;
{++i;
if(i%2!
=0){x=x+i;
i++;
y=y+i++;
}while(i<
=7);
x=%d,y=%d\n"
x,y);
11.下面程序段是找出整数的所有因子。
{intx,i;
scanf("
i=1;
;
)
{if(x%i==0)printf("
i);
i++;
}return0;
12.鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空完成程序。
for(x=1;
=30;
x++)
{y=30-x;
if()printf(“%d,%d\n”,x,y);
13.下面程序段的运行结果是。
for(a=1,i=-1;
-1<
=i<
1;
{a++;
printf(“%2d”,a);
printf(“%2d”,i);
14.下面程序的功能是1-3+5-7+……-99+101的值。
{inti,t,s=0,q=1;
i<
=101;
i+=2)
{t=;
s=s+t;
q=;
%d\n"
15.以下程序的功能是根据公式e=1+1/1!
+1/2!
+1/3!
+……,求e的近似值,精度要求为10-6。
doublee,n;
;
n=1.0;
i++)
{n/=i;
e+=n;
e=%f\n"
e);
16.下面程序的运行结果是。
switch(i%2)
i+=2;
17.下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数。
{intn=0,i,j,k;
=9;
for(k=0;
k<
=8;
if(k!
=i)
for(j=0;
j<
j++)
if()
{printf("
i*100+j*10+k);
n++;
}
n=%d\n"
n);
18.下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数。
{intn,k=1,s=0,m;
for(n=1;
n<
n++)
{k=1;
s=0;
while()
{k*=m%10;
s+=m%10;
if(k>
s)printf("
%5d"
三、编程题
1.打印出以下图形(10’)
********
**s*u*s*
********
2.有三个数a、b、c,由键盘输入,输出其中第二大的数。
(12’)
3.编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
(15’)
4.输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。
5.有一口深度为h米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬m米,夜里则顺井壁向下滑n米,若青蛙从某个早晨开始向外爬,试编写一个函数:
对于任意指定的h,m,n值(均为自然数),计算青蛙多少天能够爬出井口?