c语言程序设计商店销售拐点题,[转载]C语言编程题精选2

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)含有不合法的控制表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值