计算机类二级C

C语言循环结构选择题

43 题含答案C
共 43 题返回本类
1单选题1 / 43
若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for (j=0;j<4;j++){...}
查看答案
A. 20
2单选题2 / 43
设i,j,k均为int型变量,则执行完下面的for循环后,k的值为
for(i=0,j=10;i<=j;i++,j--) k=i+j;
查看答案
B. 10
3单选题3 / 43
当执行以下程序段时
x=-1;
do { x=x*x;} while( !x);
查看答案
A. 循环体将执行一次
4单选题4 / 43
若输入字符串:abcde<回车>,则以下while循环体将执行多少次。
while((ch=getchar())!='e') printf("*");
查看答案
B. 4
5单选题5 / 43
有以下程序段
int k=0;
while (k=1) k++;
while循环执行的次数是
查看答案
A. 无限次
7单选题7 / 43
以下for循环是(    )。
for(x=0,y=0;(y!=123) && (x<4);x++)
查看答案
C. 执行4次
8单选题8 / 43
C语言中while 和do-while 循环的主要区别是(    )。
查看答案
A. do-while的循环体至少无条件执行一次
9单选题9 / 43
以下叙述正确的是(    )。
查看答案
B. 只能在循环体内和switch语句体内使用break语句
10单选题10 / 43
对下面程序段,描述正确的是(    )。
for(t=1;t<=100;t++)
{ scanf("%d",&x);
if (x<0) continue;
printf("%d\n",t);
}
查看答案
D. 最多允许输出100个非负整数
11单选题11 / 43
在下列选项中,没有构成死循环的程序段是
查看答案
D. int s=36;
while (s) --s;
12单选题12 / 43
以下程序的输出结果是
main( )
{ 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); }
查看答案
D. 3
13单选题13 / 43
以下程序的输出结果是(    )。
#include <stdio.h>
main()
{
int i;
for(i=1;i<=5;i++)
if(i%2)
printf("*");
else continue;
printf("#");
printf("$\n");
}
查看答案
A. ***#$
14单选题14 / 43
以下程序段的输出结果是(    )。
int k,j,s;
for(k=2;k<6;k++,k++)
{ s=1;
for(j=k;j<6;j++)
s+=j;}
printf("%d\n",s);
查看答案
D. 10
15单选题15 / 43
以下程序段的输出结果是(    )。
int k,n,m;
n=10;m=1;k=1;
while (k<=n) {m*=2;k+=4;}
printf("%d\n",m);
查看答案
C. 8
16单选题16 / 43
设有如下程序段:
int i=0, sum=1;
do
{ sum+=i++;}
while(i<6);
printf("%d\n", sum);
上述程序段的输出结果是(    )。
查看答案
B. 16
17单选题17 / 43
以下程序的输出结果是(    )。
#include <stdio.h>
main( )
{ int count,i=0;
for(count=1; count<=4; count++)
{i+=2; printf("%d",i);}
}
查看答案
C. 2468
18单选题18 / 43
下面程序的输出结果是(    )。
main( )
{ unsigned int num,k;
num=26;k=1;
do {
k*=num%10;
num/=10;
} while(num);
printf("%d\n", k);
}
查看答案
B. 12
19单选题19 / 43
阅读以下程序:
main( )
{ int x;
for(x=5;x>0;x--)
if (x--<5) printf("%d,",x);
else printf("%d,",x++); }
程序运行后的输出结果是(    )。
查看答案
B. 4,3,1,
20单选题20 / 43
以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
main( )
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while (________ )
{ if (x>amax) amax=x;
if (______) amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
查看答案
D. x>=0
x>amin              x<amin
21单选题21 / 43
下面程序是计算n个数的平均值,请填空。
main( )
{ int i,n;
float x,avg=0.0;
scanf("%d",&n);
for(i=0;i<n;i++)
{ scanf("%f",&x);
avg=avg+______; }
avg=________;
printf("avg=%f\n",avg);
}
   
查看答案
B.  
22单选题22 / 43
在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为
#include <stdio.h>
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");
}
查看答案
B. abcDEF
23单选题23 / 43
运行以下程序后,如果从键盘上输入: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;
}
printf("m=%d\n",m);
}
查看答案
C. m=1
24单选题24 / 43
下面程序的输出结果是(    )。
main( )
{ int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}
查看答案
D. 10 10 9 1
25单选题25 / 43
有如下程序
main( )
{ int n=9;
while(n>6) {n--;printf("%d",n);}
}
该程序段的输出结果是
查看答案
B. 876
26单选题26 / 43
函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*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);
}
查看答案
C. 1.0/(i*i)
27单选题27 / 43
设有以下程序
main( )
{ int n1,n2;
scanf("%d",&n2);
while (n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为(    )。
查看答案
B. 8921
28单选题28 / 43
以下函数的功能是:求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);
}
查看答案
C. x
29单选题29 / 43
下面程序的运行结果是(    )。
main( )
{ int a,b;
a=-1;
b=0;
do {
++a;
++a;
b+=a;
} while(a<9);
printf("%d\n",b);
}
查看答案
D. 25
31单选题31 / 43
下面程序的运行结果是(    )。
main( )
{ int m=7,n=5,i=1;
do
{ if (i%m==0);
if (i%n==0)
{ printf("%d\n",i); break;}
i++;
} while(i!=0);
}
查看答案
C. 5
32单选题32 / 43
下面程序的运行结果是(    )。
main( )
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
查看答案
B. 3
33单选题33 / 43
以下程序的输出结果是(    )。
#include <stdio.h>
main( )
{
int num=0;
while (num<=2)
{ num++;
printf( "%d\n",num); }
}
  
查看答案
C.  
34单选题34 / 43
以下程序运行后的输出结果是(    )。
#include <stdio.h>
main( )
{ 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);
}
查看答案
D. s=7
35单选题35 / 43
以下程序运行后的输出结果是(    )。
#include <stdio.h>
main( )
{ int i,j;
for(i=4;i>=1;i--)
{ printf("*");
for(j=1;j<=4-i;j++)
printf("*");
printf("\n");
}
}
  
查看答案
A.  
36单选题36 / 43
有以下程序
#include <stdio.h>
main()
{ int c;
while ((c=getchar())!='\n')
{ switch(c-'2')
{ case 0:
case 1: putchar(c+4);
case 2: putchar(c+4);break;
case 3: putchar(c+3);
default: putchar(c+2);break;
} } printf("\n");
}
从第一列开始输入以下数据,<CR>代表一个回车符。
2473<CR> 程序的输出结果是(    )。
查看答案
A. 668977
37单选题37 / 43
当从键盘上输入字符“12134211”下面程序的
输出结果是(    )。
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++; }
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
查看答案
C. v1=5,v2=8,v3=6,v4=1
38单选题38 / 43
运行以下程序后,如果从键盘上输入china#<回车>,
则输出结果为
#include <stdio.h>
main( )
{ int v1=0,v2=0;
char ch;
while ((ch=getchar( ))!='#')
switch(ch)
{ case 'a':
case 'h':
default: v1++;
case 'o': v2++;
}
printf("%d,%d\n",v1,v2);
}
查看答案
C. 5,5
39单选题39 / 43
下列程序的输出结果是(    )。
main( )
{ int i, j, m=0, n=0;
for(i=0; i<2; i++)
for(j=0; j<2; j++)
if (j>=i) m=1; n++;
printf("%d \n",n);
}
查看答案
C. 1
40单选题40 / 43
下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。
#include <stdio.h>
main( )
{ int a,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{ a+=i;
______;
c+=b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",c-11);
}
查看答案
D. b=i+1
41单选题41 / 43
下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。
#include <stdio.h>
main( )
{ int i,j;
for(i=0;______; i++)
{ j=i*10+6;
if (_______) continue;
printf("%d",j);
}
}
   
查看答案
C.  
42单选题42 / 43
要输出下面的图形,请完善程序。
   
 
#include <stdio.h>
main( )
{ int i,j,k;
for(i=1;i<=6;i++)
{
for(j=1;j<=20-2*i;j++)
printf(" ");
for(k=1;________;k++)
printf("%2d",i);
________________
}
}
查看答案
C. k<=i
printf("\n");
43单选题43 / 43
要输出下面的图形,请完善程序。
  
#include <stdio.h>
main( )
{ int i,j,k;
for(i=1;i<=5;i++)
{
for(j=1;j<=20-3*i;j++)
printf(" ");
for(k=1;_________;k++)
printf("%3d",k);
for(__________;k>0;k++)
printf("%3d",k);
printf("\n");
}
}
查看答案
D. k<=i
k=i-1
← 上一卷下一卷 →