循环结构程序设计练习题内含答案文档格式.docx
- 文档编号:21401824
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:14
- 大小:82.32KB
循环结构程序设计练习题内含答案文档格式.docx
《循环结构程序设计练习题内含答案文档格式.docx》由会员分享,可在线阅读,更多相关《循环结构程序设计练习题内含答案文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
while(!
x!
=0)s+=++x;
printf("
%d"
s);
则
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为(C)。
for(i=0,j=10;
i<
=j;
i++,j--)k=i+j;
A.6B.9C.10D.11
9、C语言中,break;
语句可以用于循环语句和(B)语句中。
A.ifB.switchC.forD.while
10、for(i=0;
=15;
i++)printf("
i);
循环结束后,i的值为(C)。
A.14B.15C.16D.17
11、有以下程序(B)
{charb,c;
inti;
b='
a'
;
c='
A'
for(i=0;
6;
i++)
{if(i%2)putchar(i+b);
elseputchar(i+c);
}printf("
\n"
程序运行后的输出结果是()
A.ABCDEFB.AbCdEfC.aBcDeFD.abcdef
12、与语句“while(!
x)”等价的语句是(A)。
A.while(x==0)B.while(x!
=0)C.while(x==1)D.while(x!
=1)
13、下述程序段中,while循环执行次数是(A)。
(分情况这题有问题);
intk=0;
while(k=1)k++
A.无限次B.有语法错误,不能执行
C.一次也不执行D.执行一次
14、以下程序中,while循环的次数是(b)。
#include<
stdio.h>
voidmain()
{inti=0;
while(i<
10){if(i<
1)continue;
if(i==5)break;
i++;
}}
A.1B.死循环,不能确定次数C.6D.10
15、下面程序段
intk=2;
while(k=0){printf(“%d”,k);
k--;
则下面描述中正确的是。
A)while循环执行10次B)循环是无限循环
C)循环题语句一次也不执行D)循环体语句执行一次
16、以下程序段的循环次数是B。
for(i=2;
i==0;
)printf(“%d”,i--);
A)无限次B)0次C)1次D)2次
17、下面程序的输出结果是B。
main()
{charc='
A'
intk=0;
do{
switch(c++){
case‘
k++;
break;
B'
k--;
C'
k+=2;
D'
k%=2;
continue;
E'
k*=10;
default
:
k/=3;
k++;
}while(c<
'
G'
);
printf(“k=%d”
k)
J
A)k=3
B
)
k=4C
k=2D)k=0
19.下面程序的输出结果是。
B
{intx=9;
for(;
x>
0;
x--){
if(x%3==0){
23.下述语句执行后,变量k的值是
while(k++<
10)intk=1;
A)10B)11C)9D)无限循环,值不定
24.下面程序的输出结果是。
B(太麻烦不做了哎,还是
作罢!
!
)main()
{intk=0,m=0,i,j;
for(i=0;
2;
i++){
for(j=0;
j<
j++)k++;
k-=j;
m=i+j;
printf(“k=%d,m=%”d,k,m);
A)k=0,m=3B)k=0,m=5C)k=1,m=3D)k=1,m=5
25.下面for循环语句。
Binti,k;
for(i=0,k=-1;
k=1;
i++,k++)printf(“***”);
A)判断循环结束的条件非法B)是无限循环
C)只循环一次D)一次也不循环
26.语句while(!
E);
括号中的表达式!
E等价于A。
A)E==0B)E!
=1C)E!
=0D)E==1
27.以下是死循环的程序段是。
A
A)for(i=1;
;
){
if(i++%2==0)continue;
if(i++%3==0)break;
B)i=32767;
do{if(i<
0)break;
}while(++i);
C)for(i=1;
)if(++I<
10)continue;
D.i=1;
while(i--);
28.执行语句for(i=1;
i++<
4;
后变量i的值是B。
A)3B)4C)5D)不定
29.以下程序段。
Ax=-1;
do
{x=x*x;
}while(!
x);
A)是死循环B)循环执行2次C)循环执行1次D)有语法错误
30.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填
空。
C
main(){inta,max=0;
seanf(“%d,&
a);
,&
}
while(【】){if(max<
a)max=a;
seanf(“%d
printf(“%d,max);
A)a==0B)aC)!
a==1D)!
a
31.以下不是死循环的语句是。
A
A)for(y=9,x=1;
x>
++y;
x=i++)i=x;
B)for(;
x++=i);
C)while
(1){x++;
D)for(i=10;
i--)sum+=i;
32.下面程序段的运行结果是。
(自己算算吧不难!
)x=y=0;
while(x<
15)y++,x+=++y;
printf(“%d,%d,y,x);
A)20,7B)6,12C)20,8D)8,20
33.以下for循环的执行次数是C。
for(x=0,y=0;
(y=123)&
&
(x<
4);
x++);
A)无限循环B)循环次数不定C)4次D)3次
34.若运行以下程序时,输入2473/,则程序的运行结果是main()
{intc;
while((c=getchar())!
='
n'
switch(c-‘2'
case0:
case1:
putchar(c+4);
case2:
putchar(c+4);
case3:
putchar(c+3);
default:
putchar(c+2);
printf(“n”);
A)668977B)668966C)66778777D)6688766读程题:
1.以下程序的输出结果是357。
main()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
i++)printf("
%d"
x[i][2-i]);
2.以下程序的输出结果是0。
main()
{intn[2],i,j;
for(i=0;
2;
i++)n[i]=0;
iv2;
i++)for(j=0;
j++)n[j]=n「i」+1;
printf(”%n”,n[1]);
3.以下程序的输出结果是357。
{inti,a[6]={2,3,4,5,6,7};
i+=2)
printf("
a[i]);
4.以下程序的输出结果是7800
456
20。
{inti,j,a[3][4]={{0,1,2},{3,4,5,6},{7,8}};
{for(j=i;
j<
j++)
%5d"
a[2-i][j]);
5.以下程序的输出结果是」。
{chars[]="
012xy\08s34f4w2"
inti,n=0;
s[i]!
=0;
if(s[i]>
='
0'
s[i]<
=9)n++;
n);
6.写出下面程序运行的结果。
2070
main()
{intx,i;
for(i=1;
=100;
x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)printf(“%d”,x);
}}
7.写出下面程序运行的结果。
3-1——
{inti,b,k=0;
for(i=1;
=5;
i++){b=i%2;
while(b--)k++;
}printf(“%d,%d,k,b);
8.写出下面程序运行的结果。
----1——
{inta,b;
for(a=1,b=1;
a<
a++){
if(b>
=20)break;
if(b%3==1){b+=3;
b-=5;
printf(“%dn”,a);
9.写出下面程序运行的结果。
36
{intk=1,n=263;
do{k*=n%10;
n/=10;
}while(n);
printf(“%dn”,k);
10.写出下面程序运行的结果。
31-1
{inti=5;
do{
switch(i%2){case4:
i--;
case6:
i--;
printf(“%d”,i);
}while(i>
0);
11.写出下面程序运行的结果。
3,1,-1,3,1,-1,main()
{inti,j;
i++,i++){
for(j=4;
j>
j--){
if((j+i)%2){j--;
printf(“%d,”,j);
--i;
j--;
printf(“%d,”,j);
}}}
12.写出下面程序运行的结果。
a=16y=60
{inta=10,y=0;
a+=2;
y+=a;
if(y>
50)break;
}while(a=14);
printf(“a=%dy=%dn”,a,y);
13.写出下面程序运行的结果。
i=6,k=4
{inti,j,k=19;
while(i=k-1){
k-=3;
if(k%5==0){i++;
elseif(k<
5)break;
i++;
printf(“i=%d,k=%dn”,i,k);
14.写出下面程序运行的结果。
1,-2
{inty=2,a=1;
while(y--!
=-1)
do{a*=y;
a++;
}while(y--);
printf(“%d,%dn”,a,y);
15.写出下面程序运行的结果。
2,3
{inti,k=0;
while(k<
i*i){
if(k%3==0)gotoloop;
loop:
printf(“%d,%dn”,i,k);
编程题:
1.输入两个正整数m和n,求其最大公约数和最小公倍数。
2.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
3.求(即求1!
+2!
+3!
+…+19!
+20!
)。
4.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
5.编写程序,求s=1+2+3+……+n,直到累加和大于或等于5000为止,输出s及
n的值。
6.编写程序输出如下图形。
*****
(1)#include"
stdio.h"
{inta,b,num1,num2,temp;
printf("
pleaseinputtwonumbers:
scanf("
%d,%d"
&
num1,&
num2);
if(num1<
num2)/*交换两个数,使大数放在numl上*/
{temp=num1;
num1=num2;
num2=temp;
a=num1;
b=num2;
while(b!
=0)/*利用辗除法,直到b为0为止*/{
temp=a%b;
a=b;
b=temp;
}printf("
gongyueshu:
a);
gongbeishu:
num1*num2/a);
(2)
#include<
iostream>
#include<
string>
usingnamespacestd;
voidmain()
{
charc;
intletters=0,space=0,digit=0,others=0;
cout<
<
"
pleaseinputsomecharacters"
endl;
while((c=getchar())!
\n'
{if(c>
c<
z'
||c>
Z'
)letters++;
elseif(c=='
)space++;
elseif(c>
9'
)digit++;
elseothers++;
其他"
others<
coutvv"
字母"
vvlettersvv"
空格"
space<
数字"
digit<
(2)#include"
{charc;
pleaseinputsomecharacters\n"
while((c=getchar())!
if(c>
letters++;
space++;
digit++;
else
others++;
allinall:
char=%dspace=%ddigit=%dothers=%d\n"
letters,space,digit,others);
(3)#include"
main()
inti,j;
longa,total=0;
for(i=1;
21;
a=1;
for(j=1;
i+1;
a*=j;
total+=a;
total);
(4)#include<
intmain()
intn=0,i=0,j=0,k=0;
//n表示这个三位数,i,j,k分别代表百位,十位,个位.for(n=100;
n<
=999;
n++)
i=n/100;
//i表示百位数
j=(n/10)%10;
//j表示十位数
k=n%10;
//k表示个位数
if(n==(i*i*i+j*j*j+k*k*k))
n);
include<
inti,j,k;
for(j=0;
for(k=0;
k<
k++)
if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))printf("
%d%d%d"
i,j,k);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序设计 练习题 内含 答案