C语言循环结构程序设计模拟题Word下载.docx
《C语言循环结构程序设计模拟题Word下载.docx》由会员分享,可在线阅读,更多相关《C语言循环结构程序设计模拟题Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
=2)printf("
则执行结果是。
A)1B)2C)0D)无结果
231
342
9.程序段如下
while(k++<
=2);
printf("
last=%d\n"
则执行结果是last=。
A)2B)3C)4D)无结果
10.执行下面的程序后,a的值为。
main()
{inta,b;
for(a=1,b=1;
a<
=100;
{if(b>
=20)break;
if(b%3==1)
{b+=3;
continue;
b-=5;
A)7B)8C)9D)10
11.以下程序的输出结果。
{
intx=3;
do
{printf("
%3d"
x-=2);
}while(--x);
A)1B)303C)1-2D)死循环
12.定义如下变量:
intn=10;
则下列循环的输出结果是。
while(n>
7)
{n--;
n);
A)10B)9C)10D)9
9898
8787
76
13.以下程序的输出结果。
{intn=0;
while(n++<
=1)
%d\t"
A)123B)012C)112D)122
14.以下程序的输出结果是。
{inti;
for(i=1;
i<
=5;
i++)
{if(i%2)printf("
#"
);
elsecontinue;
*"
$\n"
A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$
15.以下程序的输出结果是。
{inta=0,i;
for(i=;
5;
{swich(i)
{case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
a);
A)31B)13C)10D)20
16.以下程序的输出结果是。
#include<
stdio.h>
{inti=0,a=0;
while(i<
20)
{for(;
;
){if((i%10)==0)break;
elsei--;
i+=11;
a+=i;
A)21B)32C)33D)11
17.当输入为"
quert?
"
时,下面程序的执行结果是。
#include<
{charc;
c=getchar();
while((c=getchar())!
='
?
'
)putchar(++c);
A)QuertB)vfsuC)quert?
D)rvfsu?
18.当输入为"
时,下面程序的执行结果是。
{while(putchar(getchar())!
A)quertB)RvfsuC)quert?
D)rvfsu?
19.当输入为"
(2级)
while(c!
)
putchar(c);
A)quertB)RvfsuC)quert?
20.在C语言的循环语句for,while,do-while中,用于直接中断最内层循环的语句是。
A)swichB)continueC)breakD)if
21.若i,j已定义为int型,则以下程序段中循环体的总的执行次数是。
for(i=5;
i;
i--)
for(j=0;
j<
4;
j++)
{}
A)20B)24C)25D)30
22.以下程序的功能是:
按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
{intn,k;
floatscore,sum,ave;
sum=0.0;
for(n=1;
n<
=10;
n++)
{for(k=1;
k<
=4;
k++)
{scanf("
%f"
&
score);
sum+=score};
ave=sum/4.0;
NO%d:
%f\n"
n,ave);
上述程序有一条语句出现在程序的位置不正确。
这条语句是。
A)sum=0.0;
B)sum+=score;
C)ave=sum/4.0;
D)printf("
23.有如下程序段,其执行结果为。
(02~03第一学期试题)
for(n=10;
n>
7;
n--)
printf(“%d\n”,n);
A)10B)9C)10D)9
9898
8787
76
24.循环语句中的for语句,其一般形式如下:
for(表达式1;
表达式2;
表达式3)语句
其中表示循环条件的是。
(01~02第二学期试题)
A)表达式1B)表达式2C)表达式3D)语句
25.定义如下变量:
while(n>
7){n--;
printf(“%d”,n);
A)10B)9C)10D)9
26.下面程序段的运行结果是:
。
(03试题)
x=y=0;
while(x<
15)y++,x+=++y;
printf(“%d,%d”,y,x);
A)20,7B)6,12
C)20,8D)8,20
27.以下程序的运行结果是:
{inta=2,i;
for(i=0;
3;
i++)printf(“%4d”,f(a));
f(inta)
{intb=0,c=3;
b++;
c++;
return(a+b+c);
A)71013B)777
C)7911D)789
28.下面程序的运行结果是:
(往届试题)
main()
{inty=10;
do{y--;
}while(--y);
printf(“%d\n”,y--);
A)-1B)1C)8D)0
29.下面有关for循环的正确描述是。
(04~05第二学期试题)
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
30.以下能正确计算1×
2×
3×
…×
10的程序段是。
A)do{i=1;
s=1;
s=s*i;
}while(i<
=10);
B)do{i=1;
s=0;
C)i=1;
do{s=s*i;
D)i=1;
31.以下程序段。
x=-1;
do{x=x*x;
}while(!
x);
A)是死循环B)循环执行二次
C)循环执行一次D)有语法错误
32.下面程序的运行结果是:
33.定义如下变量和数组:
intI;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面执行语句的结果为:
for(I=0;
I<
I++)
printf(“%3d”,x[I][2-I]);
A)159B)147
C)357D)369
34.以下程序的运行结果是:
。
{intn=4;
while(n--)
printf(“%2d”,--n);
A)20B)31
C)321D)210
35.设有以下程序段,则执行该程序后为:
intx=0,s=0;
while(!
x!
=0)s+=++x;
printf(“%d”,s);
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
36.下面程序的运行结果是:
{intI;
for(I=1;
I<
I++)
switch(I%5)
{case0:
printf(“*”);
break;
case1:
printf(“#”);
default:
printf(“\n”);
case2:
printf(“&
”);
A)#&
*B)#&
C)#D)#&
&
*&
*
二、填空题
1.while语句的特点是
(1),do-while语句的特点是
(2)。
2.将for(表达式1;
表达式2;
表达式3)语句改写为while语句是。
3.break语句的功能是。
4.break语句只能用于
(1)语句和
(2)语句中。
5.continue语句的作用是,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
6.在循环中,continue语句与break语句的区别是:
continue语句只是
(1),break语句是
(2)。
7.循环的嵌套是指。
8.要使以下程序段输出10个整数,请填入一个整数:
for(i=0;
=;
i+=2));
9.goto语句的用途是和。
10.while语句的特点是,do_while语句的特点是。
11.把for(表达式1;
表达式3);
改写为等价的while语句为。
12.语句标号由标识符表示,由,和组成。
第一个字符必须是字母或下划线。
三、程序填空题
1.以下程序的功能是:
从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空。
{floatx,amax,amin;
scanf("
amax=x;
amin=x;
while
(1)
{if(x>
amax)amax=x;
if
(2)amin=x;
\namax=%f\namin=%f\n"
amax,amin);
2.下面程序可求出1~1000的自然数中所有的完数(因子和等于该数本身的数)请填空。
{intm,n,s;
for(m=2;
m<
1000;
m++)
{____
(1)____
=m/2;
if(__
(2)___)s+=n;
if(__(3)___)printf(“%d\n”,m);
}}
3.以下程序的功能是根据
求e的近似值,精度要求为
。
请填空:
{inti=1;
doublee,new;
e=1.0;
new=1.0;
while(
(1))
{new/=(double)i;
e+=new;
(2);
printf(“e=%e\n”,e);
四、读程序写结果题
1.下面程序的输出结果是。
=1);
%d,"
2.下面程序的输出结果是。
(1级)
{ints,i;
for(s=0,i=1;
i++,s+=i);
s);
3.下面程序的输出结果是。
{inti=10,j=0;
{j=j+i;
i--;
while(i>
2);
j);
4.设有以下程序
{intn1,n2;
%d"
n2);
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
n1);
程序运行后,如果从键盘上输入1298,则输出结果为。
5.下面程序的输出结果是。
{ints=0,k;
for(k=5;
k>
=0;
k--)
{swich(k)
{case1:
case5:
s++;
break;
case3:
case4:
case0:
case2:
s+=2;
s=%d\n"
6.下面程序运行结果是:
{intx,i;
for(i=1,x=1;
i<
=50;
i++)
{if(x>
=10)break;
if(x%2==1){x+=5;
continue;
x-=3;
printf(“%d\n”,i);
7.下面程序运行结果是:
#include<
{inti,j;
for(i=4;
i>
=1;
{printf(“*”);
for(j=1;
=4-i;
j++)
printf(“*”);
printf(“\n”);
8.下面程序的运行结果是:
(往届试题)
{inti;
for(i=1;
switch(i%5)
{case0:
printf(“*”);
printf(“#”);
default:
printf(“\n”);
printf(“&
”);
9.下面程序的运行结果是:
_________。
#include<
{inti,j;
for(i=0;
=3;
{for(j=0;
j<
=5;
j++)
{if(i==0||j==0||i==3||j==5)printf(“*”);
elseprintf(“”);
五、编程题
1.编写程序,求两个整数的最大公约数。
2.把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。
3.中国古代数学家张丘建提出的“百鸡问题”:
一只大公鸡值五个钱,一只母鸡值三个钱,三个小鸡值一个钱。
现在有100个钱,要买100只鸡,是否可以?
若可以,给出一个解,要求三种鸡都有。
请写出求解该问题的程序。
4.求100~200间的全部素数。
5.整元换零钱问题。
把1元兑换成1分,2分,5分的硬币,共有多少种不同换法,请编写求解此问题的程序。
6.有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13,...,编写程序求这个数列的前20项之和。
7.编写程序,利用公式e=1+1/1!
+1/2!
+1/3!
+....+1/n!
求出e的近似值,其中n的值由用户输入(用于控制精确度)。
8..一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:
6=1+2+3,6就是完全数,请编写一程序,求出1000以内的整数中的所有完全数。
其中1000由用户输入。
9.编一程序,将2000年到3000年中的所有闰年年份输出并统计出闰年的总年数,要求每10个闰年放在一行输出。
10.请编写一程序,打印出九九乘法口诀表(例:
1*1=1)。
11.请编写一程序,将所有“水仙花数”打印出来,并打印出其总数。
“水仙花数”是一个其各位数的立方和等于该整数的三位数。
12.编写一程序,求1-3+5-7+.........-99+101的值。
13.编写程序,计算1!
+2!
+3!
+.......+n!
的值,其中n的值由用户输入。
14.求sn=a+aa+aaa+aaaa+......+aa.....a的值,其中a是一个数字,例如:
2+22+222+2222+22222(此时n=5)。
n和a的值由键盘输入,请编程实现以上和过程。
15.编写程序,用迭代法求x=√a的近似根。
求平方根的迭代公式为:
Xn+1=(Xn+a/Xn)/2。
要求前后两次求出的x的差的绝对值小于0.00001。
16.一个求从100米高度自由落下,每次落地后又反弹回原来高度的一半,再落下,求它在第10次落地时共经过多少米?
第10次反弹多高?
编写程序求解该问题。
17.若有如下公式:
+
+。
+
试根据上述公式编程计算
的近似值
(精确到10-6)。