k:
c
c:
a);
}
A)4B)3C)2D)1
*96、
执行以下程序段后、变量a,b,c的值分别是-。
intx=10,y=9;
inta,b,c;
a=(--x==y++)?
--x:
++y;
b=x++;
c=y;
A)a=9,b=9,c=9B)a=8,b=8,c=10
C)a=9,b=10,c=9D)a=1,b=11,c=10
*97、
若w,x,y,z,m均为int型变量,则执行下面语句后的m值是:
w=1;x=2;y=3;z=4;
m=(ww:
x;
m=(mm:
y;
m=(mm:
Z;
A)1B)2C)3D)4
*98、
若w=1,X=2,y=3,z=4,则条件表达式ww:
yy:
z的值是:
A)4B)3C)2D)1
*99、
执行以下程序段后的输出结果是
intw=3,z=7,x=10;
printf("%d\n",x>10?
x+100:
x-10);
printf("%d\n",w++||z++);
printf("%d\n",!
w>z);
printf("%d\n",w&&z);
A)0B)1C)0D)0
*100、
设有程序段
intk=10;
while(k=0)k=k—1;
则下面描述中正确的是
A)while循环执行10次B)循环是无限循环
C)循环体语句-次也不执行D)循环体语句执行-次
*101、
有以下程序段
intx=0,s=0;
while(!
x!
=0)s+=++x;
printf("%d",s);
则
A)运行程序段后输出0B)运行程序段后输出1
C)程序段中的控制表达式是非法的D)程序段执行无限次
*102、
下面程序段的运行结果是:
x=y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
A)20,7B)6,12C)20,8D)8,20
*103、
下面程序段的运行结果是
a=1;b=2;c=2;
while(a
printf("%d,%d,%d",a,6,c);
A)1,2,0B)2,1,0C)1,2,1D)2,1,1
*104、
下面选择中正确的赋值语句是(设chara[5],*p=a;)()。
(A)p="abcd";(B)a="abcd";
(C)*p="abcd";(D)*a="abcd";
*105、
下面程序的功能是将从键盘输入的-对数,由小到大排序输出。
当输入-对相等数时结束循环,请选择填空:
#indude
main()
{inta,b,t;
scanf("%d%d",&a,&b);
while(【1】)
{if(a>b)
{t=a;a=b;b=t;}
printf("%d,%d",a,b);
scahf("%d%d",&a,&b);人
}
【1】A}!
a=bB}a!
=bC}a==bD}a=b
*106、
下面程序的功能是从键盘输入的-组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空:
#indude"stdio.h"
main()
{intm=0,n=0;
charc;1
while((【1】)!
='\n')
{if(c>='A'&&C<='Z')m++;
if(c>='a'&&c<='z')n++;}
printf("%d\n",mn:
m);}
1】A)c=getchar()B)getchar()C)c=getchar()D)scanf("%c",c)
*107、
下面程序的功能是将小写字母变成对应大写字母后的第二个字母。
其中y变成A,z变成B.请选择填空。
#include"stdio.H"
main()
{charc;
while((c=getchar())!
='\n')
{if(c>='a'&&c<='z')
c-=30;
if(c>'z'&&c<='z'+2)
【2】;}
printf("%c",c)
}
【2】A)c='B'B)c='A'C)c-=26D)c=c+26
*108、
下面程序的功能是在输入的-批正整数中求出最大者,输入0结束循环,请选择填空。
#include
main()
{inta,max=0;
scanf("%d",&a)
while(【1】)
{if(maxscanf("%d",&a);)
printf("%d",max);}
【1】A}a==oB}AC}!
A==1D}!
a
*109、
下面程序的运行结果是。
#include
main()
{intnum=0;
while(num<=2)
{num++
printf("%d\n",num);}
}
A)1B)1C)1D)1
222
33
4
*110、
以下程序段
x=-1;
do
{x=x*x;}
while(!
x);
A)是死循环B)循环执行二次
C)循环执行-次D)有语法错误
*111、
以下描述中正确的是:
A)由于do-while循环中循环体语句只能是-条可执行语句,所以循环体内不能使用复合语句
B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do-while循环体中,-定要有能使while后表达式值变为零("假")的操作
D)do-while循环中,根据情况可以省略while
*112、
若有如下语句
intx=3;
do{printf("%d\n",x-=2);}while(!
(--x));
则上面程序段
A)输出的是1B)输出的是1和-2
C)输出的是3和0D)是死循环
*113、
下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。
#include
main()
{intn,sum=0;
n=2345
do{sum=sum+(n%10)*(n%10)};
n=【2】;
}while(n);
printf("sum=%d",sum);}
【2】A)n/1000B)n/100C)n/10D)n%10
*114、
下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。
请选择填空。
#include
main()
{1ongintnum;
scanf("%ld",&num);
do{if(【1】)printf("%ld",num);
scanf("%ld",&num);
}while(!
num==0);}
【1】A)numB)num>0==0C)!
num==0D)!
num!
=0
*115、
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。
请选择填空。
#include
main()
{inti=0,j,k;
do{i++;k=316-13*i;}
while(【1】);j=k/11;
printf("316=13*%d十11*%d",i,j);
}
【1】A)k/11B)k%11C)k/11==0D)k/11==0
*116、
下面程序的运行结果是:
#indude
main()
{inty=10;
do{y--;}
while(--y);
printf("%d\n",y--);
}
A)-1B)1C)8D)0
*117、
若运行以下程序时,从键盘输入ADescriptor(CR)表示回车),则下面程序的运行结果是:
#include
main()
{charc;
intv0=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':
vl+=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=7B)v0=8,v1=4,v2=8
C)v0=11,v1=4,v2=11D)v0=12,vl=4,v2=12
*118、
下面程序的运行结果是:
#include
main()
{inta==1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("a=%d,b=%d\n",a,b);
}'
A)a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=9
*119、
下面有关for循环的正确描述是:
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
*120、
对for(表达式1;;表达式3)可理解为:
A)for(表达式1;0;表达式3)
B)for(表达式1;1;表达式3)
C)for(表达式1;表达式1;表达式3)
D)for(表达式1;表达式3;表达式3)
*121、
若i为整型变量,则以下循环执行次数是:
for(i=2;i==0;)printf("%d",i--);
A)无限次B)0次C)1次D)2次
*122、
以下for循环的执行次数是:
for(x=0,y-0;(y=123)&&(x<4);x++);
A)是无限循环B)循环次数不定C)执行4次D)执行3次
*123、
以下不是无限循环的语句为:
A)for(y=0,x=1;x>++y;x=i++)i=x;
B)for(;;x++=i);
C)while
(1){x++;}
D)for(i=10;;i--)sum+=i;
*124、
下面程序段的运行结果是:
for(y=1;y<10;)y=((x=3*y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=27
*125、
下面程序段的运行结果是
for(x=3;x<6;x++)printf((x%2)?
("**%d"):
("##%d\n"),x);
A)**3B)##3C)##3D)**3##4
##4**4**4##5**5
**5##5
*126、
下列程序段不是死循环的是
A)inti=100;C)intk=0;
whiLe
(1)do{++k;}while(k>=0);
{i=i%100+1;
if(i>100)break;D}ints=36;
}while(s);--s
B)for(;;);
*127、
执行语句for(i=1;i++<4;);后变量i的值是
A)3B)4C)5D)不定
*128、
下面程序的功能是计算:
至50中是7的倍数的数值之和,请选择填空。
#include•
main()
{inti,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
*129、
下面程序的功能是计算1至10之间的奇数之和及偶数之和。
请选择填空;
#include
main()
{inta,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{a+=i;
[1];
c+=b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",c-11),
}
[1]A)b=i--B)b=i+1C)b=i++D)b=i-1
*130、
下面程序的运行结果是:
#include
main()
{inti;
for(i=1;i<=5;i++)
switch(i%5)
{case0:
printf("*");break;
case1:
printf("#");break;
default:
printf("\n");
case2:
printf("&");
}
A}#&&&*B}#&C}#D}#&
&&
&&
*
*131、
下面程序的运行结果是:
#include
main()
{intx,i;
for(j-1;i<=100;i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf("%d",x);
}
}
A)3981B)4284C)2668D)2870
*132、
下面程序段的功能是计算1000!
的末尾含有多少个零。
请选择填空。
(提示:
只要算出1000!
中含有因数5的个数即可
for(k=0,i=5;i<=1000;i+=5)
while(【1】){k++;m=m/5;}
【1】A)m%5==0B)m=m%5==0C)m%5==0D)m%5!
=0
*133、
下面程序的运行结果是:
#include
main()
{inti,b,k=0;
for(i=1;i<=5;i++)
{b=i%2;
while(b-->=0)k++;
}
printf("%d,%d",k,b);
}
A)3,-1B)8,-1C)3,0D)8,-2
*134、
以下正确的描述是。
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时,只能使用goto语句
*135、
下面程序段:
for(t=1;t<=100;t++)
{scanf("%d",&x);
if(x<0)continue;
printf("%3d",t);}
A)当x<0时整个循环结束
B)x>=0时什么也不输出
C)printf函数永远也不执行
D)最多允许输出100个非负整数
*136、
下面程序段:
x=3;
do
{y=x--;
if(!
y){printf("x");continue;}
printf("#");
}while(1<=x<=2);
A)将输出##B)将输出##*
C)是死循环D)含有不合法的控制表达式
*137、
以下描述正确的是
A)goto语句只能用于退出多层循环
B)switch语句中不能出现continue语句
C)只能用continue语句来终止本次循环
D)在循环中break语句不能独立出现
*138、
与下面程序段等价的是:
for(n=100;n<=200;n