第3章2--循环结构 - 参考答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <stdio.h>
main( )
{
int num=0;
while (num<=2)
{ num++;
printf( "%d\n",num); }
}
A) 1 B)1 C) 1 D) 1
2 2 2
3 3
4
C
33、以下程序运行后的输出结果是( )。
#include <stdio.h>
main( )
}
printf("m=%d\n",m);
}
A) m=3 B) m=2
C) m=1 D) m=0
C
23、下面程序的输出结果是( )。
main( )
{ intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}
A) 10 1 9 2 B) 9 8 7 6
A) 5B)4
C) 6 D) 1
B
5、有以下程序段
int k=0;
while (k=1) k++;
while循环执行的次数是
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行一次
A
6、语句while(!e);中的条件!e等价于( )。
A)e==0 B) e!=1
C) e!=0 D) ~e
A
7、以下for循环是( )。
{ int s=0,k;
for(k=7;k>=0;k--)
{switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break; }
}
printf("s=%d\n",s);
else printf("%d,",x++); }
程序运行后的输出结果是( )。
A) 4,3,1B)4,3,1,
C) 5,4,2 D) 5,3,1,
B
20、下面程序是计算n个数的平均值,请填空。
main( )
{ int i,n;
float x,avg=0.0;
scanf("%d",&n);
for(i=0;i<n;i++)
}
A)s=5 B)s=1
C)s=3 D)s=7
D
34、以下程序运行后的输出结果是( )。
#include <stdio.h>
main( )
{ int i,j;
for(i=4;i>=1;i--)
{ printf("*");
for(j=1;j<=4-i;j++)
printf("*");
printf("\n");
请填空,完成求π的功能。
#include <math.h>
main( )
{ double s=0.0; long int i,n;
scanf("%ld",&n);
for(i=1;i<=n;i++)
s=s+_______ ;
s=(sqrt(6*s));
printf("s=%e",s);
}
A) 1/i*i B) 1.0/i*i
for(k=2;k<6;k++,k++)
{ s=1;
for(j=k;j<6;j++)
s+=j;}
printf("%d\n",s);
A) 1 B) 9
C) 11D)10
D
15、以下程序段的输出结果是( )。
int k,n,m;
n=10;m=1;k=1;
while (k<=n) {m*=2;k+=4;}
1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for (j=0;j<4;j++){...}
A)20 B) 25
C) 24 D) 30
A
2、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为
for(i=0,j=10;i<=j;i++,j--) k=i+j;
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;
} } printf("\n");
}
从第一列开始输入以下数据,<CR>代表一个回车符。
2473<CR>程序的输出结果是( )。
A) B)
C)D)
A
36、当从键盘上输入字符“”下面程序的
}
A) i++ B) x++
C) x D) i
C
28、下面程序的运行结果是( )。
main( )
{ int a,b;
a=-1;
b=0;
do {
++a;
++a;
b+=a;
} while(a<9);
printf("%d\n",b);
}
A) 34 B) 24
C) 26 D) 25
D
29、执行下面程序段后,k的值是( )。
#include <stdio.h>
main( )
{ int count,i=0;
for(count=1; count<=4; count++)
{i+=2; printf("%d",i);}
}
A) 20 B) 246
C)2468 D) 2222
C
18、下面程序的输出结果是( )。
main( )
{ unsigned int num,k;
}
}
A)* B)****C)* D)****
** ***** ****
*** *****
*****
A
35、有以下程序
#include <stdio.h>
main()
{ int c;
while ((c=getchar())!='\n')
{ switch(c-'2')
{ case 0:
case 1: putchar(c+4);
C) 1.0/(i*i) D) 1.0/(n*n)
C
26、设有以下程序
main( )
{ int n1,n2;
scanf("%d",&n2);
while (n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为( )。
{ scanf("%f",&x);
avg=avg+______; }
avg=________;
printf("avg=%f\n",avg);
}
A) iB)x
avg/i avg/n
C) x D) i
avg/x avg/n
B
21、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,
则输出为
#include <stdio.h>
for(t=1;t<=100;t++)
{ scanf("%d",&x);
if (x<0) continue;
printf("%d\n",t);
}
A)当x<0时,整个循环结束
B)当x>=0时,什么也不输出
C) printf函数永远也不执行
D)最多允许输出100个非负整数
D
11、在下列选项中,没有构成死循环的程序段是
main( )
{ char ch;
while((ch=getchar( ))!='\n')
{ if (ch>='A' && ch<='Z') ch=ch+32;
else if (ch>='a' && ch<'z') ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A) ABCdef B) abcDEF
A) 892B) 8921
C) 89 D) 921
B源自文库
27、以下函数的功能是:求x的y次方,请填空。
main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
main()
{
int i;
for(i=1;i<=5;i++)
if(i%2)
printf("*");
else continue;
printf("#");
printf("$\n");
}
A)***#$ B) #*#*#*$
C) *#*#*#$ D) **#*$
A
14、以下程序段的输出结果是( )。
int k,j,s;
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue;} }
printf("%d\n",a); }
A) 101 B) 6
C) 4D)3
D
13、
以下程序的输出结果是( )。
#include <stdio.h>
int i,j,k;
for(i=0,j=10;i<j;i++,j--)
k=i+j;
A) 9 B) 11
C) 8 D) 10
D
30、下面程序的运行结果是( )。
main( )
{ int m=7,n=5,i=1;
do
{ if (i%m==0);
if (i%n==0)
{ printf("%d\n",i); break;}
输出结果是( )。
main( )
{ char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{ scanf("%c",&s);
switch(s)
{ default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++; }
num=26;k=1;
do {
k*=num%10;
num/=10;
} while(num);
printf("%d\n", k);
}
A) 2B)12
C) 60 D) 18
B
19、阅读以下程序:
main( )
{ int x;
for(x=5;x>0;x--)
if (x--<5) printf("%d,",x);
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
printf("%d\n",m);
A) 4 B) 16
C)8 D) 32
C
16、设有如下程序段:
int i=0, sum=1;
do
{ sum+=i++;}
while(i<6);
printf("%d\n", sum);
上述程序段的输出结果是( )。
A) 11B)16
C) 22 D) 15
B
17、以下程序的输出结果是( )。
i++;
} while(i!=0);
}
A) 7 B) 6
C) 5 D) 4
C
31、下面程序的运行结果是( )。
main( )
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
A) 4 B) 3
C) 5 D) 6
B
32、以下程序的输出结果是( )。
C) 10 9 9 0 D) 10 10 9 1
D
24、有如下程序
main( )
{ int n=9;
while(n>6) {n--;printf("%d",n);}
}
该程序段的输出结果是
A) 987 B) 876
C) 8765 D) 9876
B
25、函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)
A) 12B)10
C) 11 D) 9
B
3、当执行以下程序段时
x=-1;
do { x=x*x;} while( !x);
A)循环体将执行一次
B)循环体将执行两次
C)循环体将执行无限次
D)系统将提示有语法错误
A
4、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。
while((ch=getchar())!='e') printf("*");
A) int i=100;
while (1)
{ i=i%100+1;
if (i>100) break;
}
B) for( ; ; );
C) int k=1000;
do {++k;} while (k>=1000);
D)int s=36;
while (s) --s;
D
12、以下程序的输出结果是
main( )
D) do-while的循环体不能是复合语句
A
9、以下叙述正确的是( )。
A) continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
B
10、对下面程序段,描述正确的是( )。
for(x=0,y=0;(y!=123) && (x<4);x++)
A)无限循环B)循环次数不定
C)执行4次D)执行3次
C
8、C语言中while和do-while循环的主要区别是( )。
A)do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循环控制条件严格
C) do-while允许从外部转到循环体内
C) abc D) DEF
B
22、运行以下程序后,如果从键盘上输入:65 14<回车>,
则输出结果为
main( )
{ int m,n;
printf("Enter m,n:");
scanf("%d%d",&m,&n);
while (m!=n)
{ while (m>n) m-=n;
while (n>m) n-=m;
main( )
{
int num=0;
while (num<=2)
{ num++;
printf( "%d\n",num); }
}
A) 1 B)1 C) 1 D) 1
2 2 2
3 3
4
C
33、以下程序运行后的输出结果是( )。
#include <stdio.h>
main( )
}
printf("m=%d\n",m);
}
A) m=3 B) m=2
C) m=1 D) m=0
C
23、下面程序的输出结果是( )。
main( )
{ intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}
A) 10 1 9 2 B) 9 8 7 6
A) 5B)4
C) 6 D) 1
B
5、有以下程序段
int k=0;
while (k=1) k++;
while循环执行的次数是
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行一次
A
6、语句while(!e);中的条件!e等价于( )。
A)e==0 B) e!=1
C) e!=0 D) ~e
A
7、以下for循环是( )。
{ int s=0,k;
for(k=7;k>=0;k--)
{switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break; }
}
printf("s=%d\n",s);
else printf("%d,",x++); }
程序运行后的输出结果是( )。
A) 4,3,1B)4,3,1,
C) 5,4,2 D) 5,3,1,
B
20、下面程序是计算n个数的平均值,请填空。
main( )
{ int i,n;
float x,avg=0.0;
scanf("%d",&n);
for(i=0;i<n;i++)
}
A)s=5 B)s=1
C)s=3 D)s=7
D
34、以下程序运行后的输出结果是( )。
#include <stdio.h>
main( )
{ int i,j;
for(i=4;i>=1;i--)
{ printf("*");
for(j=1;j<=4-i;j++)
printf("*");
printf("\n");
请填空,完成求π的功能。
#include <math.h>
main( )
{ double s=0.0; long int i,n;
scanf("%ld",&n);
for(i=1;i<=n;i++)
s=s+_______ ;
s=(sqrt(6*s));
printf("s=%e",s);
}
A) 1/i*i B) 1.0/i*i
for(k=2;k<6;k++,k++)
{ s=1;
for(j=k;j<6;j++)
s+=j;}
printf("%d\n",s);
A) 1 B) 9
C) 11D)10
D
15、以下程序段的输出结果是( )。
int k,n,m;
n=10;m=1;k=1;
while (k<=n) {m*=2;k+=4;}
1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for (j=0;j<4;j++){...}
A)20 B) 25
C) 24 D) 30
A
2、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为
for(i=0,j=10;i<=j;i++,j--) k=i+j;
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;
} } printf("\n");
}
从第一列开始输入以下数据,<CR>代表一个回车符。
2473<CR>程序的输出结果是( )。
A) B)
C)D)
A
36、当从键盘上输入字符“”下面程序的
}
A) i++ B) x++
C) x D) i
C
28、下面程序的运行结果是( )。
main( )
{ int a,b;
a=-1;
b=0;
do {
++a;
++a;
b+=a;
} while(a<9);
printf("%d\n",b);
}
A) 34 B) 24
C) 26 D) 25
D
29、执行下面程序段后,k的值是( )。
#include <stdio.h>
main( )
{ int count,i=0;
for(count=1; count<=4; count++)
{i+=2; printf("%d",i);}
}
A) 20 B) 246
C)2468 D) 2222
C
18、下面程序的输出结果是( )。
main( )
{ unsigned int num,k;
}
}
A)* B)****C)* D)****
** ***** ****
*** *****
*****
A
35、有以下程序
#include <stdio.h>
main()
{ int c;
while ((c=getchar())!='\n')
{ switch(c-'2')
{ case 0:
case 1: putchar(c+4);
C) 1.0/(i*i) D) 1.0/(n*n)
C
26、设有以下程序
main( )
{ int n1,n2;
scanf("%d",&n2);
while (n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为( )。
{ scanf("%f",&x);
avg=avg+______; }
avg=________;
printf("avg=%f\n",avg);
}
A) iB)x
avg/i avg/n
C) x D) i
avg/x avg/n
B
21、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,
则输出为
#include <stdio.h>
for(t=1;t<=100;t++)
{ scanf("%d",&x);
if (x<0) continue;
printf("%d\n",t);
}
A)当x<0时,整个循环结束
B)当x>=0时,什么也不输出
C) printf函数永远也不执行
D)最多允许输出100个非负整数
D
11、在下列选项中,没有构成死循环的程序段是
main( )
{ char ch;
while((ch=getchar( ))!='\n')
{ if (ch>='A' && ch<='Z') ch=ch+32;
else if (ch>='a' && ch<'z') ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A) ABCdef B) abcDEF
A) 892B) 8921
C) 89 D) 921
B源自文库
27、以下函数的功能是:求x的y次方,请填空。
main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
main()
{
int i;
for(i=1;i<=5;i++)
if(i%2)
printf("*");
else continue;
printf("#");
printf("$\n");
}
A)***#$ B) #*#*#*$
C) *#*#*#$ D) **#*$
A
14、以下程序段的输出结果是( )。
int k,j,s;
{ int a,b;
for(a=1,b=1;a<=100;a++)
{ if (b>=10) break;
if (b%5==1) { b+=5; continue;} }
printf("%d\n",a); }
A) 101 B) 6
C) 4D)3
D
13、
以下程序的输出结果是( )。
#include <stdio.h>
int i,j,k;
for(i=0,j=10;i<j;i++,j--)
k=i+j;
A) 9 B) 11
C) 8 D) 10
D
30、下面程序的运行结果是( )。
main( )
{ int m=7,n=5,i=1;
do
{ if (i%m==0);
if (i%n==0)
{ printf("%d\n",i); break;}
输出结果是( )。
main( )
{ char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{ scanf("%c",&s);
switch(s)
{ default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++; }
num=26;k=1;
do {
k*=num%10;
num/=10;
} while(num);
printf("%d\n", k);
}
A) 2B)12
C) 60 D) 18
B
19、阅读以下程序:
main( )
{ int x;
for(x=5;x>0;x--)
if (x--<5) printf("%d,",x);
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
printf("%d\n",m);
A) 4 B) 16
C)8 D) 32
C
16、设有如下程序段:
int i=0, sum=1;
do
{ sum+=i++;}
while(i<6);
printf("%d\n", sum);
上述程序段的输出结果是( )。
A) 11B)16
C) 22 D) 15
B
17、以下程序的输出结果是( )。
i++;
} while(i!=0);
}
A) 7 B) 6
C) 5 D) 4
C
31、下面程序的运行结果是( )。
main( )
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
A) 4 B) 3
C) 5 D) 6
B
32、以下程序的输出结果是( )。
C) 10 9 9 0 D) 10 10 9 1
D
24、有如下程序
main( )
{ int n=9;
while(n>6) {n--;printf("%d",n);}
}
该程序段的输出结果是
A) 987 B) 876
C) 8765 D) 9876
B
25、函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)
A) 12B)10
C) 11 D) 9
B
3、当执行以下程序段时
x=-1;
do { x=x*x;} while( !x);
A)循环体将执行一次
B)循环体将执行两次
C)循环体将执行无限次
D)系统将提示有语法错误
A
4、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。
while((ch=getchar())!='e') printf("*");
A) int i=100;
while (1)
{ i=i%100+1;
if (i>100) break;
}
B) for( ; ; );
C) int k=1000;
do {++k;} while (k>=1000);
D)int s=36;
while (s) --s;
D
12、以下程序的输出结果是
main( )
D) do-while的循环体不能是复合语句
A
9、以下叙述正确的是( )。
A) continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
B
10、对下面程序段,描述正确的是( )。
for(x=0,y=0;(y!=123) && (x<4);x++)
A)无限循环B)循环次数不定
C)执行4次D)执行3次
C
8、C语言中while和do-while循环的主要区别是( )。
A)do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循环控制条件严格
C) do-while允许从外部转到循环体内
C) abc D) DEF
B
22、运行以下程序后,如果从键盘上输入:65 14<回车>,
则输出结果为
main( )
{ int m,n;
printf("Enter m,n:");
scanf("%d%d",&m,&n);
while (m!=n)
{ while (m>n) m-=n;
while (n>m) n-=m;