C语言选择题精选
*1、A
一个C程序的执行是从_____。
A)本程序的main函数开始,到main函数结束√
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
*2、C
以下叙述正确的是:
A)在C程序中,main函数必须位于程序的最前面×
B)C程序的每行中只能写一条语句×
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误×
*3、D
以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
*4、C
C语言规定:在一个源程序中,main函数的位置 。
A)必须在最开始
B)必须在系统调用的库函数的后面
C)可以任意
D)必须在最后
*5、B
一个C语言程序是由
A)一个主程序和若干子程序组成B)函数组成
C)若干过程组成D)若干子程序组成
*6、A
在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为
A)char
B)char=int<1ong int<=float
C)char
D)char=int =1ong int<=float
*7、C
若x,i,j和k都是int型变量,则执行下面表达式后x的值为
x=(i=4,j=16,k=32)
A)4 B)16 C)32 D)52
*8、B
假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:
A)7 B)8 C)6 D)2
*9、A
下列四组选项中,均不是C语言关键字的选项是
A)define B)getc C)include D)while
IF char scanf go
type printf case pow
*10、B
下面四个选项中,均是C语言关键字的选项是
A)auto B)switch C)signed D)if
enum typedef union struct
include continue scanf type
*11、C
下面四个选项中,均是不合法的用户标识符的选项是。
A) A B)float C)b-a D)一123
P_0 1a0 goto temp
do
一A int INT
*12、C
C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符
A)必须为字母B)必须为下划线
C)必须为字母或下划线D)可以是字母,数字和下划线中任一种字符
*13、A
下面四个选项中,均是合法整型常量的选项是:
A)160 B)一0xcdf C)一01 D)一0x48a
一0xffff 01a 986,
012 2e5
011 0xe 0668 0x
*14、D
下面四个选项中,均是不合法的整型常量的选项是:
A)一一0f1 B)一0Xcdf C)一018 D)一0x48eg
一0xffff 017 999
一068
0011 12,456 5e2 03f
*15、B
下面四个选项中,均是不合法的浮点数的选项是
A) 160. B) 123 C)一.18 D)一e3
0.12 2e4.2 123e4 .234
e3 .e5 0.0 1e3
*16、B
下面四个选项中,均是合法浮点数的选项是
A) +le+1 B)-.60 C)
123e D)一e3
5e一9.4 12e-4 1.2e-.4 .8e4
03e2一8e5 +2e一1 5.e一0
*17、A
下面四个选项中,均是合法转义字符的选项是
A)''' B)'' C)' 18' D)'\0'
'\' ' 17' 'f' '101'
'n' '"' 'xab' 'xlf'
*18、B
下面四个选项中,均是不合法的转义字符的选项是
A)''' B)'1011' C)' 11' D)'abc'
'\' '' 'f' '101'
'xf' 'a' '}' 'xlf'
*19、C
下面正确的字符常量是:
A)"a" B)'\'' C)'W' D)''
*20、D
下面四个选项中,均是不正确的八进制数或十六进制数的选项是。
A) 016 B)oabc C)010 D) 0a12
0x8f 017
-0x11 7ff
018 0x8 0x16 -123
*21、C
下面四个选项中,均是正确的八进制数或十六进制数的选项是。
A)一10
B)0abc C)0010 D) 0al2
0x8f一017
一0x11
-0xl23
一011 0xc
0xf1一0x8
*22、D
下面四个选项中、均是正确的数值常量或字符常量的选项是:
A)0.0 B)"a" C)'3'
D)十001
0f 3.9E-2.5 011 0xabcd
8.9e lel0xFFOO 2e2
'&'
'''' 0a 50.
*23、A
下面不正确的字符串常量是。
A)'abc' B)"12'12" C)"0" D)""
*24、C
若有代数式3ae/bc,则不正确的C语言表达式是:
A)
a/b/c*e*3 B)3*a*e/b/c
C)3*a*e/b*c D)a*e/c/b*3
*25、A
已知各变量的类型说明如下:
int k,a,b;
unsigned long w= 5;
double x=1.42;
则以下不符合C语言语法的表达式是:
A) x%(一3) B) w+=-2
C)
k=(a=2,b=3,a十b) D) a十=
a一=(b=4)*(a=3)
*26、A
已知各变量的类型说明如下:
int
i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则以下符合C语言语法的表达式是:
A) a十=a一=(b=
4)*(a=3) B)a=a*3=2
C) x%(一3) D)y=f1oat(i)
*27、D
以下不正确的叙述是
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
*28、D
以下正确的叙述是:
A)在C程序中,每行中只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能被准确无误地表示
D)在C程序中,%是只能用于整数运算的运算符
*29、B
以下符合C语言语法的赋值表达式是
A)d=9+e+f=d+9
B) d=9+e,f=d+9
C)d=9十e,e++,d十9 D)d=9十e++=d十7
*30、A
已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为
A)D B)68 C)不确定的值D)C
*31、D
在C语言中,要求运算数必须是整型的运算符是。
A)
/ B)
++ c)
!= D)%
*32、A
若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为
A) 7 B 8 C)
9 D)
10
*33、D
在C语言中,int、char和short种类型数据在内存中所占用的字节数
A)由用户自己定义B)均为2个字节
C)是任意的D)由所用机器的机器字长决定
*34、A
若有说明语句:char
c='72'则变量c
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明不合法,c的值不确定
*35、A
若有定义:int
a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
A)2·500000 B)2.7500OO C) 3.500000 D) 0.000000。
*36、B
sizeof(float)是:
A)一个双精度型表达式B)一个整型表达式
C)一种函数调用D)一个不合法的表达式
*37、C
设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为
A)int B) float C) double D)不确定
*38、A
下面四个选项中,均是非法常量的选项是。
A)'as' B)'\' c)-0xl8 D)0xabc
-0fff
' 1' 01177 ' '
' xa' 12,456 0xf"a"
*39、D
在C语言中, char型数据在内存中的存储形式是:
A)补码 B)反码
C)原码D)ASCII码
*40、B
设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是一一一。
A)
n=(n*100+0.5)/100.0 B)m=n*100+0.5 ,n= m/100.0
C)
n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0
*41、C
表达式18/4*sqrt(4.0)/8值的数据类型为:
A) int B)float C)double D)不确定
*42、C
设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为:
A) 0~255 B)
0~32767 C) 0~65535 D) 0~2147483647
*43、D
设有说明: char w; int x; f1oat y; double z;则表达式w* x+z一y值的数据类型为:
A)float B)char C)int D)double
*44、D
若有以下定义,则能使值为3的表达式是:
int k= 7,x
=12;
A) x%=(k%=
5)
B) x%=(k一k%5)
C) x%=k-
k%5 D) (x%=k)一(k%=5)
*45、C
设以下变量均为int类型,则值不等于7的表达式是
A) (x= y=
6, x+y,x+1) B)(x= y= 6,x+y,y+1)
C) (x=
6,x+1,y= 6,x+y) D) (y=6,y+l,x = y,x+1)
*46、D
putchar函数可以向终端输出一个:
A)整型变量表达式值
B)实型变量值
C)字符串
D)字符或字符型变量值
*47、B
printf函数中用到格式符%5s
,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
*48、C
printf函数中用到格式符%5s
,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式。
A)从左起输出该字串,右补空格
B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格
D)输出错误信息
*49、D
已有定义
int
a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是:
A)整型变量的输出格式符只有%d一种
B)%x 是格式符的一种,它可以适用于任何一种类型的数据
C)%x 是格式符的一种,其变量的值按十六进制输出,但%8lx
是错误的
D)%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
*50、D
若x
,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:
A) scanf("
%d%lx,%le",&x,&y,&z);
B) scanf("-
* %d%lf"&x,&y,&z
);
C) scanf("%x
%* d%o",&x,&y);
D) scanf("%x%o%6.2f",&x,&y,&z);
*51、A
已有如下定义和输入语句 ,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A)10A 20B<
CR> B)10 A 20 B
C)10A20 D)10A20 B。
*52、B
已有定义int x; f1oat y;且执行scanf("=%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则x 的值为
A)12345 B)123 C) 45 D) 345
*53、B
已有定义int x; f1oat y;且执行scanf("=%f",&x,&y);语句,若从第一列开始输入数据12345 678(回车),则y 的值为:
A)无定值B)45.0000 C) 678.000000 D) 123.00000
*54、D
已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是:
int a1,a2; char c1,c2;
scanf("%d%d",&a1,&a2);
scanf("%c%c",&c1,&c2);
A) 1020AB B)10 20AB
C)10 20 AB D)10
20AB
*55、D
已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为
main()
{int a;float
f;
printf("nInput number:");
输入语句
printf("nf=%f,a= %dn ,f,a);
}
Input number: 4.5 2
A
)scanf("%d,%f",&a,&f);
B)scanf("%f,%d",&f,&a)
C)scanf("%d%f",&a,&f); D)scanf("%f%d",&f,&a);
*56、B
根据定义和数据的输入方式,输入语句的正确形式为:
已有定义: float fl,f2;
数据的输入方式:4.52
3. 5
A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2
);
C)scanf("%3.2f%2.1f",&f1,&f);
D)scanf("%3.2f%2.1f",&f1,&f2);
*57、D
阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为:
main()
{int x,y,z
scanf("%d%d%d",&x,&y,&z
);
printf("x+y+z=%dn
,x+y+z);。
}
A)x
+y+z=48 B)x +y+z=35
C)x
+z=35
D)不确定值
*58、B
阅读
下程序,若运行结果为如下形式,输入输出语句的正确内容是:
main()
{int x; float y;printf("enter x,y :")
输入语句
输出语句
}
输入形式enter x,y: 2 3.4
输出形式x+y=5.40
A)scanf("%d,%f",&x,&y);printf("nx+y=
%4.2f",x+y);
B)scanf("%d%f",&x,&y
);printf("nx+y=%4.2f",x+y);
C)scanf("%d%f",&x,&y);
printf("nx+y=%6.lf",x+y);
D)scanf("%d%3.1f",&x,&y
);printf("nx十y=%4.2f",x+y);
*59、D
以下说法正确的是:
A)输入项可以为一实型常量,如scanf("%f",3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,
如scanf("%4.2f",&f);
D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);
*60、A
根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:
main()
{char ch1 ,ch2 ,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);}
输入形式: A B C
输出形式: A B
A) scanf("%c%c%c",&ch1,&ch2,&ch3);
B) scanf("%c,%c,%c",
&ch1,&ch2,
&ch3);
C) scanf("%c %c
%c",&ch1,&ch2,&ch3);
D) scanf("%c%c",&ch1,&ch2,&ch3);
*61、D
有输入语句: scanf("a= %d,b=
%d,c=%d",&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是
A)132(回车)
B)1,3,2(回车)
C)a=1b=3c=2(回车)
D)a=1,b =3,c
=2(回车)
*62、A
以下能正确地定义整型变量a,b和c
并为其赋初值5的语句是
A)int a=b=
c=
5; B) int a,b, c= 5;
C)a=
5,b=5,c=5; D) a= b= c=5;
*63、A
已知ch是字符型变量,下面不正确的赋值语句是
A)ch='a+b'; B)ch=' '; C)ch='7'+'9'; D) ch=5+9;
*64、B
已知ch是字符型变量,下面正确的赋值语句是
A) ch=
'123'; B) ch=
'xff'; C) ch=
' 8'; D) ch="";
*65、B
若有以下定义,则正确的赋值语句是:
int a,b;float x;
A) a=1,b=2, B)b++; C) a= b=
5 D) b= int(x);
*66、B
设x
、y均为f1oat型变量,则以下不合法的赋值语句是
A)++x; B)y=(x%2)/10;
C) x*=y+8; D)x=y=0;
*67、A
x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)一5;后,x
、y 和之的值是:
A) x=10 B)
x=10 C)
x=10 D)x=10
y=15
y=10 y=10 y=5
z=10
z=10 z=15 z=10
*68、D
逻辑运算符两侧运算对象的数据类型一一一。
A)只能是0或1
B)只能是0或非0正数
C)只能是整型或字符型数据
D)可以是任何类型的数据
*69、C
下关于运算符优先顺序的描述中正确的是一一一。
A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B)逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
*70、B
下列运算符中优先级最高的是一一一。
A)
*71、C
能正确表示"当x
的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是一一一。
A) (x>=1) &&(x<=10) &&(x> =
200) &&(x<=210)
B) (x>=1) ||
(x<=10) ||(x>=200) ||(x<=210)
C) (x>=1) &&(x<=10)||(x>=
200) &&(x<=210)
D) (x
> =1)||(x< =10) && (x> = 200)||(x<=210)
*72、C
表示图中坐标轴上阴影部分的正确表达式是:
/||//|
/||//|
-----------------------------> X
a b c
A)(X<=A)&&(X>=B)&&(X<=C)
B)
(x<
=a)||(b<=x<=c)
C)(x<=a)|| (x> =b) && (x<=c)
D)(x
<
=a)&&(b< = x
< = c)
*73、C
判断char型变量ch是否为大写字母的正确表达式是一一一。
A)' A'
<=ch<='z' B)(ch>
= 'A')&(ch<=' z' )
C)(ch>=' A'
)&&(ch<='z')
D)(' A'
< = ch)AND('z'> = ch)
*74、D
设x,y
和z是int型变量,且x = 3,y= 4,z=
5,则下面表达式中值为0的是
A)'y'&&'y'
B)x
< =y
C)
x||y+z&&y-z
D)
!(x
*75、C
已知x
=43,ch='A',y=0则表达式(x
> = y &&
ch
的值是
A)0 B)语法错C)1 D)"假"
*76、C
若希望当A的值为奇数时,表达式的值为"真",A的值为偶数 表达式的值
为"假"。则以下不能满足要求的表达式是:
A) A%2=
=1 B)!(A%2 = =0) C)!(A%2) D) A%2
*77、B
设有
int a = 1,b=2,c =3, d =4, m=2,
n=2;
执行(m=
a>b)&&(n=c>d)后n的值为:
A)1
B
)2 C)3 D)4
*78、D
判断char型变量c1是否为小写字母 正确表达式为:
A)'
a' <=cl<='
z' B) (cl> =
a)&&(cl<=z)
C)('
a' >=cl)||(' z' < =
cl) D)(c1>='a')&&(cl<='z')
*79、B
以下程序的运行结果是:
#i
nclude "stdio.h"
main() ,,
{int a,b,d= 241;
a=d/100 % 9
b= (一1)&&(一1);
printf("%d,%d",a ,b);
}
A)6,1 B)2,1 C)
6,0 D)2,0
*80、C
执行以下语句后a的值为:
int a,b,c;
a= b= c= 1;
++a||++b&&++c
A)错误B) 0 C) 2 D) 1
*81、A
执行以下语句后b 的值为:
int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z);
A) 6 B) 0 C) 1 D) 4
*82、C
以下不正确的if语句形式是:
A)if(x>y &&
x!=y);
B)if(x=
=y) x+=y
C)if(x !=
y)scanf("%d",&x )else
scanf("%d",&y);
D)if(X
*83、A
下列运算符中优先级最低的是:
A)?: B)&& c)+ D) !=
*84、B
以下if语句语法正确的是一一一。
A)if(x>0)
printf("%f",x)
else printf("%f",- -x);
B)
if (x>0)
{x=x+y;printf("%f",x);}
else printf("f",-x);
C)
if(x>0)
{x=x+y; prinrf("%f",x);};
else printf("%f",-x);
D)
if(x > 0)
{ x = x +y;printf("%f",x)}
else printf("%f",-x);
*85、D
请阅读以下程序:
main()
{int a=5,b=0,c=0;
if(a=b+c) printf("***n ");
e1se printf("$$$n");
以上程序 :
A 有语法错不能通过编译B可以通过编译但不能通过连接
C 输出***
D 输出$$$
*86、C
以下程序的运行结果是 :
main()
{int
m=5;
if(m++> 5) printf("
%dn",m);
e1se printf("%dn",m- - );
}
A)4 B)5 C)6 D)7
*87、B
当a=1,b=3,c=5,d=4 ,执行完下面一段程序后x 的值是 :
if(a
if(c
else
if(a
if(b
else x= 3;
else x=6;
else x=7;
A)1
B)2 C)3 D)6
*88、C
以下程序的输出结果是:
main()
{int a=100,x =10,y=20,okl=5,ok2=0;
if (x
if(y
! =10)
if(!okl) a=1;
else
if(ok2) a=10;
a=-1:
printf( "%dn",a )
}
A) 1 B) 0 C)一1 D)值不确定
*89、B
以下程序的输出结果是:
main()
{int x= 2,y= 一1,z=2;
if
(x
if(y<0) z= 0;
else z+
=1;
printf("%dn",z);
}
A)3 B
)2 C)1 D) 0
*90、B
为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句
总是与( )配对。
A)缩排位置相同的if B)其之前最近的if
C) 之后最近的if D)同一行上的if
*91、B
以下不正确的语句为:
A) if(x>y);
B) if (x= y)
&&(x! = 0) x+=
y;
C) if(x!=
y)scanf("%d",&x); else scanf("%d",&y);
D)if(x< y){x++ ;y十十;}
*92、B
请阅读以下程序:
#i nclude
h>
main()
{float a,b
scanf("%f",&a);
if (a<10.0) b=1.0/x;
else
if((a<0.5)&&(a!=2.0))b=
1.0/(a十2.0);
else if(a<10.0) b= 1.0/x ;
else b=10.0;
printf("%fn",y);
}
若运行时输入2.0(回车),则上面程序的输出结果是:
A)0.000000 B)0.500000 C) 1.
000000 D) 0.250000
*93、B
若有条件表达式(exp) ? a++:b--,则以下表达式中能完全等价于表
达式(exp)的是:
A) (exp==0) B) (exp!=0)
C) (exp== 1) D) (exp!=1)
*94、A
若运行时给变量x 输入12,则以下程序的运行结果是:
main()
{int x,y;
scanf("%d",&x);
y=x
> 12?x+10: x一12;
printf("%dn",y);
}
A)0 B)22
C)12 0)10
*95、D
以下程序的运行结果是:
main()'
{int k= 4,a=3,b=2,c=;
printf("n %dn",k< a ? k:c
:a);
}
A)4 B
)3 C)2 D)1
*96、B
执行以下程序段后、变量a,b,c的值分别是一。
int x=10,y=9;
int a,b,c;
a
=(- -x = = y++)?- -x:++y ;
b =
x ++;
c =
y;
A
)a=9,b= 9,c=
9 B )a=8,b=8,c=10
C
)a=9,b=
10,c=9 D )a=1,b= 11,c=10
*97、A
若w,x,y,z,m均为int型变量,则执行下面语句后的m值是:
w=
1;x = 2;y= 3;z=4;
m=(w
m=
(m
m=(m
A)1
B
)2 C)3
D)4
*98、D
若w=1,X =
2,y= 3,z=4,则条件表达式w
A)4 B)3 C)2
D)1
*99、C
执行以下程序段后的输出结果是
int w=3, z=7,x =10;
printf("%dn",x> 10? x+100:x 一10);
printf("%dn",w++||z++ );
printf("%dn",!w>z);
printf("%dn",w&&z);
A)0 B) 1 C)0 D) 0
*100、C
设有程序段
int k=10;
while (k=0) k= k—1;
则下面描述中正确的是
A) while循环执行10次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句执行一次
*101、B
有以下程序段
int x=0,s=0;
while (! x!=
0) s+=++x;
printf("%d",s);
则
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的D)程序段执行无限次
*102、A
语句while(!E)中的表达式!E等价于:
A) E==0 B) E!=1
C) E!=0 D) E==1
*103、A
下面程序段的运行结果是
a=1;b= 2;c=2;
while(a
printf("%d,%d,%d",a,6,c);
A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1
*102、C
下面程序段的运行结果是:
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
*103、C
【题5.6】下面程序段的运行结果是
if n=0;
while(n++<=2); printf("%d",n);
A) 2 B) 3
C) 4 D)有语法错
*104、B
设有程序段
t=0;
while (printf"*"妻"));
{t++;
if(t<3) break
}
面描述正确的是:
A)其中循环控制表达式与0等价B)其中循环控制表达式与'0'等价
C)其中循环控制表达式是不合法的D)以上说法部不对
*105、B
下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空:
#indude
main()
{int a,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=b B} a!=b C} a=
=b D} a=b
*106、C
下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空:
#indude "stdio.h"
main()
{int m=0,n=0;
char c; 1
while((【1】)!='n')
{ if(c>='A' &&
C<='Z') m++ ;
if(c>='a' &&
c<='z') n++;
}
printf("%dn", m
n:m); }
1】 A)
c=getchar() B) getchar() C)c=getchar() D) scanf("%c",c)
*107、C
下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z 变成B.请选择填空。
#i nclude "stdio. H"
main()
{ char c;
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-=26 D) c=c+26
*108、B
下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
#include
main()
{int
a,max= 0;
scanf("%d",&a)
while(【1】)
{if(max
a;
scanf("%d",&a);
)
printf("%d"
,max );}
【1】A} a==o B}A C} !A = =
1D}!a
*109、C
下面程序的运行结果是。
#i nclude
main()
{
int num=
0;
while(num<= 2)
{num++
printf ("%dn", num);}
}
A)1 B ) 1 C)1
D)1
2 2 2
3 3
4
*110、C
以下程序段
x= -1;
do
{x=x*x;}
while(!x);
A)是死循环B)循环执行二次
C)循环执行一次D)有语法错误
*111、C
以下描述中正确的是:
A)由于do一while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B) do一while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do一while循环体中,一定要有能使while后表达式值变为零("假")的操作
D)do一while循环中,根据情况可以省略while
*112、B
若有如下语句
int x=3;
do {
printf(" %dn",x -=2);} while(!(--x));
则上面程序段
A)输出的是 1 B)输出的是1和-2
C)输出的是3和0 D)是死循环
*113
下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。
#i nclude
h>
main()
{int n,sum=0;
n=2345
do{
sum=sum+(n)*n};
n=【2】;
}while(n);
printf("sum=%d",sum);}
【2】
A) n/1000 B)n/100 C) n/10 D) n
*114、B
下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空。
# include
h>
main()
{1ong int num;
scanf("%ld",&num);
do { if( 【1】)
printf("%ld",num);
scanf("%ld",&num);
}while(!num==0);}
【1】 A) num B) num>0==0 C)!num==0 D) !num!=
0
*115、B
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。请选择填空。
#i nclude
main()
{int i=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/11 B) k C)
k/11==0 D) k/11==
0
*116、D
下面程序的运行结果是:
#indude
main()
{int y=10;
do{y--;}
while(--y);
printf("%dn",y--);
}
A)一1
B)
1 C)8 D) 0
*117、D
若运行以下程序时,从键盘输入ADescriptor(CR)表示回车),则下面程序的运行结果是:
#include
h>
main()
{ char c;
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' :vl+=1;
default:v0+=1;v2+=1 ;} ;
while(c!='n');
printf("v0=%d,v1=%d,v2=%dn",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
*118、B
下面程序的运行结果是:
#i nclude
h>
main()
{int a==1,b=10;
do
{b-=a;a++;}while(b--<0);
printf("a=%d,b=%dn",a,b);
} '
A)a=3,b=11 B
)a=2,b=8 C)a=1, b=一1 D)a=4,b=9
*119、D
下面有关for循环的正确描述是:
A) for循环只能用于循环次数已经确定的情况
B) for循环是先执行循环体语句,后判断表达式
C) 在for循环中,不能用break语句跳出循环体
D) for循环的循环体语句中, 可以包含多条语句,但必须用花括号括起来
*120、B
对for(表达式1;;表达式3)可理解为:
A) for(表达式1; 0;表达式3)
B) for(表达式1;1;表达式3)
C) for(表达式1;表达式1;表达式3)
D) for(表达式1;表达式3;表达式3)
*121、B
若i为整型变量,则以下循环执行次数是:
for (i=2;i==0;) printf("%d",i--
);
A)无限次B)
0次C)
1 次D) 2次
*122、C
以下for循环的执行次数是:
for (x=0,y一0; (y=123)&&(x<4); x++);
A)是无限循环 B)循环次数不定
C)执行4次D)执行3次
*123、A
以下不是无限循环的语句为:
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、C
下面程序段的运行结果是:
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
*125、D
下面程序段的运行结果是
for(x=3;x<6;x++)printf((x
%2)?("**%d"):(" ##%dn"),x);
A)**3 B
)##3 C)##3 D)**3##4
##4 **4
**4##5
**5
**5 ##5
*126、C
下列程序段不是死循环的是
A) int i=100;
C) int k=0;
whiLe (1)
do{++k;} while (k> =0) ;
{i=i0+1;
if (i>100) break; D}
int s=36;
} while (s);--s
B) for(;;);
*127、C
执行语句for(i=1;i++<4;);后变量i的值是
A)3 B
)4 C)5 D)不定
*128、D
下面程序的功能是计算:至50中是7的倍数的数值之和,请选择填空。
#i nclude
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
*129、B
下面程序的功能是计算 1至10之间的奇数之和及偶数之和。请选择填空;
#
include
main()
{int a,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{
a+=i;
[1];
c+=b;
}
printf("偶数之和=%dn",a);
printf("奇数之和=%dn",c-11),
}
[1] A
)b=i-- B) b=i+1 C) b=i++ D)b=i-1
*130、B
下面程序的运行结果是:
#i nclude
h>
main()
{int
i;
for(i=1;i<=5;i++)
switch(i%5)
{case 0:printf("* ");break;
case 1 :printf("#");break;
default :printf("n");
case 2 :printf("&");
}
A}#&&&* B} #& C} # D}#&
& &
& &
*
*131、D
下面程序的运行结果是:
#i nclude
h>
main()
{ int x,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)39 81 B)42 84 C)26 68 D) 28 70
*132、C
下面程序段的功能是计算1000!的末尾含有多少个零。请选择填空。
(提示:只要算出1000!中含有因数5的个数即可
for(k=0,i=5;i<=1000; i+=5)
while(【1】){k++; m=m/5;}
【1】A)m%5==0 B)m=m%5==0 C)m%5==0 D)m%5!=0
*133、D
下面程序的运行结果是:
#i nclude
main()
{int
i,b,k=0;
for(i=1;i< =5;i++)
{b=i%2;
while(b-->=0) k++;
}
printf("%d,%d",k,b);
}
A)3,-1 B )8,-1 C)3,0 D)8,-2
*134、B
以下正确的描述是。
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时, 只能使用goto语句
*135、D
下面程序段:
for (t=1; t<=100;t++)
{scanf("%d",&x);
if(x<0) continue;
printf("=",t);}
A) 当x<0时整个循环结束
B)
x>=0时什么也不输出
C)
printf函数永远也不执行
D)最多允许输出100个非负整数
*136、C
下面程序段:
x=3;
do
{y=x--;
if(!y){
printf("x");continue;}
printf("#");
} while
(1<=x<=2);
A)将输出## B)将输出##*
C)是死循环 D)含有不合法的控制表达式