一、选择题
1. 该程序的输出结果是多少?(单选)
m=37;n=13;
while(m!=n)
{
while(m>n)
m=m-n;
while(n>m)
n-=m;
}
printf("m=%d\n",m);
输出结果为:
A. m=13 B. m=11 C. m=1 D. m=2
2. 该程序的输出结果是多少?(单选)
for(i=0;i<5;i++)
{
for(j=1;j<10;j++)
if(j==5)
break;
if(i<2)
continue;
if(i>2)
break;
printf("%d,",j);
}
printf("%d\n",i);
输出结果为:
A. 10,3 B. 5,2 C. 5,3 D. 10,2
3. 该程序的输出结果是什么?(单选)
#include <stdio.h>
void main()
{
int n;
n=0;
while(n<8)
{
switch(n%3)
{
case 2:
putchar('2');
case 1:
putchar('i');
break;
case 0:
putchar('H');
}
n++;
}
}
A. Hi2Hi2Hi B. Hi2 C. Hi2iHi2i D. Hi2iHi2iHi
4. 该程序的输出结果是多少?(单选)
#include <stdio.h>
main()
{
int i,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2)
continue;
x++;
}
}
printf("x=%d\n",x);
}
A. x=4 B. x=8 C. x=6 D. x=12
5. 若k为整型,以下while循环执行___次.(单选)
k=2;
while(k=0)
printf("%d",k),k--;
printf("\n");
A. 无限次 B. 0次 C. 1次 D. 2次
6. 下面这个程序的输出是什么?(单选)
#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
A. y=0 B. while构成死循环 C. y=1 D. y=-1
7. 圆周率pi的近似率可用下面的公式求得:
pi*pi/6 约等于 1/(1*1) +1/(2*2) +...+1/(n*n)
由以上公式可知,若n取值10000,则最后一项的值为1E-4,认为可达到精度要求。 以下程序用来求pi的近似值。请填空。(其中函数sqrt(a)用于求a的平方根)(单选)
#include <stdio.h>
#include <math.h>
main()
{
long i;
float pi;
pi=0.0;
for(i=1;i<=10000;i++)
pi+=___;
pi=sqrt(6.0*pi);
printf("pi=%10.6lf\n",pi);
}
A. 1/i*i B. 1/(i*i) C. 1.0/i*i D. 1.0/(i*i)
8. 下面这个程序执行后i和s的值为多少?(单选)
#include <stdio.h>
void main()
{
int i,s;
i=0;s=0;
while(i<10);
{ s+=(i++);
printf("%d\n",s);
}
printf("i=%d\n",i);
}
A. i值为9,s值为45 B. i值为10,s值为45
C. i值为10,s值为36 D. 程序陷入了死循环
9.设有程序段
int k=10;
while (k=0) k= k—1;
则下面描述中正确的是
A. while循环执行10次 B. 循环是无限循环
C. 循环体语句一次也不执行 D. 循环体语句执行一次
10.下面程序段的运行结果是:
x = y= 0;
while(x<15) y++,x + = ++y;
printf("%d,%d",y,x);
A. 20,7 B. 6,12 c) 20,8 D. 8,20
11.下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空:
#indude <Stdio.h>
main()
{int a,b,t;
scanf("%d%d",&a,&b);
while( ________ )
{if(a>b)
{t=a;a=b;b=t;}
printf("%d,%d",a,b);
scanf("%d%d",&a,&b);
}
}
A. !a=b B. a!=b C. a= =b D. a=b
12.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空:
#indude "stdio.h"
main()
{int m=0,n=0;
char c; 1
while((_____)!='\n')
{ if(c>='A' && C<='Z') m++ ;
if(c>='a' && c<='z') n++;
}
printf("%d\n", m<n? n:m);
}
A. c=getchar() B. getchar() C. c=getchar() D. scanf("%c",c)
13.下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z 变成B.请选择填空。
#include "stdio. H"
main()
{ char c;
while((c=getchar())!='\n')
{if(c>= 'a'&& c<='z')
c - = 30;
if(c>'z' && c<='z'+ 2)
_________;
}
printf(" %c",c)
}
A. c='B' B. c='A' C. c-=26 D. c=c+26
14.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
#include <stdio.h>
main()
{int a,max= 0;
scanf("%d",&a)
while(_____)
{if(max<a max= a;
scanf("%d",&a);
}
printf("%d" ,max );
}
A. a==o B. A C. !A = = 1 D. !a
15.若运行以下程序时,从键盘输入ADescriptor<CR>(CR)表示回车),则下面程序的运行结果是:
#include<stdio. h>
main()
{ char c;printf函数输出整数时不能使用
int v0=0.v1=0,v2=0;
do{
switch(c=getchar())
{ case 'a':case 'A' :
case 'e':case ' E' :
case 'i':case 'I' :
case 'o':case 'O' :
case 'u':case 'U' :v1+=1;
default:v0+=1;v2+=1 ;} ;
}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
A. v0=7,v1=4,v2=7 B. v0=8,v 1=4,v2=8
C. v0= 11,v1=4,v2=11 D. v0=12,vl=4,v2=12
16.以下for循环的执行次数是:
for (x=0,y=0; (y=123)&&(x<4); x++);
A. 是无限循环 B. 循环次数不定 C. 执行4次 D. 执行3次
17.下面程序段的运行结果是:
for (y= 1;y<10;) y=((x=3* y,x+1),x-1);
printf ("x=%d,y=%d",x,y);
A. x=27,y=27 B. x=12,y=13 C. x=15,y=14 D. x=y=27
18.下面程序的功能是计算:至50中是7的倍数的数值之和,请选择填空。
#include<stdio. h> ·
main()
{int i,sum= 0;
for(i=1;i<=50;i++)
if([1]) sum+=i;
printf("%d",sum);
}
A. (int)(i/7)==i/7 B. (int)i/7==i/7 C. i%7= 0 D. i%7==0
19.下面程序的运行结果是:
#include <stdio.h>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论