您好,欢迎来到九壹网。
搜索
您的当前位置:首页c语言选择题精选

c语言选择题精选

来源:九壹网
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)charC)char< int <1ong int=float=double D)char=int =1ong int<=float若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)'\\018' D)'\\\\0'

'\\\\' '\\017' '\\f' '101'

'\\n' '\\\"' 'xab' 'xlf' *18、B

下面四个选项中,均是不合法的转义字符的选项是

A)'\\'' B)'\\1011' C)'\\011' 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 '\\01' 01177 '\\0' '\\0xa' 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~21474837 *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)整型变量的输出格式符只有%d一种

B)%x 是格式符的一种,它可以适用于任何一种类型的数据

C)%x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的 D)%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度 *50、D

若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是: A) scanf(\" %d%lx,%le\

B) scanf(\"%2d * %d%lf\"&x,&y,&z ); C) scanf(\"%x %* d%o\

D) scanf(\"%x%o%6.2f\ *51、A

已有如下定义和输入语句 ,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是 int a1,a2; char c1,c2;

scanf(\"%d%c%d%c\A)10A 20B< CR> B)10 A 20 B C)10A20 D)10A20 B。 *52、B

已有定义int x; f1oat y;且执行scanf(\"%3d%f\语句,若从第一列开始输入数据12345 678(回车),则x 的值为

A)12345 B)123 C) 45 D) 345 *53、B

已有定义int x; f1oat y;且执行scanf(\"%3d%f\语句,若从第一列开始输入数据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\scanf(\"%c%c\

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= %d\\n ,f,a); }

Input number: 4.5 2

A )scanf(\"%d,%f\ B)scanf(\"%f,%d\C)scanf(\"%d%f\ D)scanf(\"%f%d\*56、B

根据定义和数据的输入方式,输入语句的正确形式为: 已有定义: float fl,f2; 数据的输入方式:4.52 3. 5

A)scanf(\"%f,%f\ B)scanf(\"%f%f\

C)scanf(\"%3.2f%2.1f\*57、D

阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为: main()

{int x,y,z

scanf(\"%d%d%d\ printf(\"x+y+z=%d\\n ,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\B)scanf(\"%d%f\

C)scanf(\"%d%f\

D)scanf(\"%d%3.1f\十y=%4.2f\*59、D

以下说法正确的是:

A)输入项可以为一实型常量,如scanf(\"%f\

B)只有格式控制,没有输入项,也能进行正确输入,如scanf(\"a=%d,b=%d\"); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数, 如scanf(\"%4.2f\

D)当输入数据时,必须指明变量的地址,如scanf(\"%f\*60、A

根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为: main()

{char ch1 ,ch2 ,ch3; 输入语句

printf(\"%c%c%c\ 输入形式: A B C 输出形式: A B

A) scanf(\"%c%c%c\ B) scanf(\"%c,%c,%c\ C) scanf(\"%c %c %c\ D) scanf(\"%c%c\*61、D

有输入语句: scanf(\"a= %d,b= %d,c=%d\为使变量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='\\0'; C)ch='7'+'9'; D) ch=5+9; *、B

已知ch是字符型变量,下面正确的赋值语句是

A) ch= '123'; B) ch= '\\xff'; C) ch= '\\08'; 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)< B)十 C)&& D)!= *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已知x =43,ch='A',y=0则表达式(x > = y && ch<'B'&&!Y) 的值是 A)0 B)语法错 C)1 D)\"假\" *76、C

若希望当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\ ,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\

D)if(X下列运算符中优先级最低的是:

A)?: B)&& c)+ D) != *84、B

以下if语句语法正确的是一一一。 A)if(x>0) printf(\"%f\

else printf(\"%f\ B) if (x>0)

{x=x+y;printf(\"%f\ else printf(\"f\ C) if(x>0)

{x=x+y; prinrf(\"%f\ else printf(\"%f\ D) if(x > 0)

{ x = x +y;printf(\"%f\ else printf(\"%f\*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(\" %d\\n\ e1se printf(\"%d\\n\ }

A)4 B)5 C)6 D)7 *87、B

当a=1,b=3,c=5,d=4 ,执行完下面一段程序后x 的值是 : if(aelse 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 (xif(ok2) a=10; a=-1:

printf( \"%d\\n\ }

A) 1 B) 0 C)一1 D)值不确定 *、B

以下程序的输出结果是: main()

{int x= 2,y= 一1,z=2; if (xif(y<0) z= 0; else z+ =1; printf(\"%d\\n\ }

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\ else scanf(\"%d\ D)if(x< y){x++ ;y十十;} *92、B

请阅读以下程序:

#i nclude main() {float a,b scanf(\"%f\

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(\"%f\\n\ }

若运行时输入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\

y=x > 12?x+10: x一12; printf(\"%d\\n\ }

A)0 B)22 C)12 *95、D

以下程序的运行结果是: main()'

{int k= 4,a=3,b=2,c=;

printf(\"\\n %d\\n\ }

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=(wm= (mA)1 B )2 C)3 D)4 *98、D

0)10 若w=1,X = 2,y= 3,z=4,则条件表达式w执行以下程序段后的输出结果是 int w=3, z=7,x =10;

printf(\"%d\\n\ x+100:x 一10); printf(\"%d\\n\ printf(\"%d\\n\ printf(\"%d\\n\

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\ 则

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(aA)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\

A) 20,7 B)6,12 C) 20,8 D)8,20

*103、C

【题5.6】下面程序段的运行结果是 if n=0;

while(n++<=2); printf(\"%d\

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\while( 【1】 ) {if(a>b)

{t=a;a=b;b=t;}

printf(\"%d,%d\scahf(\"%d%d\人 }

【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(\"%d\\n\ m1】 A) c=getchar() B) getchar() C)c=getchar() D) scanf(\"%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\ }

【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\ while(【1】)

{if(maxprintf(\"%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 (\"%d\\n\ }

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(\" %d\\n\ 则上面程序段

A)输出的是 1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 *113

下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。 #i nclude main()

{int n,sum=0; n=2345

do{ sum=sum+(n%10)*n%10}; n=【2】; }while(n);

printf(\"sum=%d\

【2】 A) n/1000 B)n/100 C) n/10 D) n%10 *114、B

下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空。

# include main()

{1ong int num; scanf(\"%ld\

do { if( 【1】) printf(\"%ld\ scanf(\"%ld\ }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\ }

【1】A)k/11 B) k%11 C) k/11==0 D) k/11== 0

*116、D

下面程序的运行结果是:

#indude main()

{int y=10; do{y--;} while(--y);

printf(\"%d\\n\ }

A)一1 B) 1 C)8 D) 0 *117、D

若运行以下程序时,从键盘输入ADescriptor(CR)表示回车),则下面程序的运行结果是:

#include 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=%d\\n\ }

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 main()

{int a==1,b=10; do

{b-=a;a++;}while(b--<0); printf(\"a=%d,b=%d\\n\ } '

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\

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\

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\"):(\" ##%d\\n\"),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=i%100+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 · main()

{int i,sum= 0; for(i=1;i<=50;i++) if([1]) sum+=i;

printf(\"%d\ } 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(\"偶数之和=%d\\n\ printf(\"奇数之和=%d\\n\}

[1] A )b=i-- B) b=i+1 C) b=i++ D)b=i-1 *130、B

下面程序的运行结果是:

#i nclude 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 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\ }

}

A)39 81 B)42 84 C)26 68 *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\ }

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\

if(x<0) continue;

28 D) 70 printf(\"%3d\ 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)含有不合法的控制表达式 *137、C

以下描述正确的是

A) goto语句只能用于退出多层循环 B) switch语句中不能出现continue语句 C) 只能用continue语句来终止本次循环 D) 在循环中break语句不能出现 *138、C

与下面程序段等价的是:

for(n=100;n<= 200; n++) {if (n%3==0) continue; printf(\"%4d\

A) for(n=100;(n%3)&& n<=200;n++) printf(\"%4d\ B) for(n=100;(n%3)|| n<=200;n++) printf(\"%4d\ C) for(n=100;n<=200;n++)if(n%3!=0)printf(\"%4d\ D) for(n=100;n<=200; n++) {if(n%3) printf(\"%4d\ else continue; break;} *139、B

下面程序的运行结果是: #i nclude { int k=0;

char c='A'; do

{switch(c++) {case 'A':k++;break; case 'B':k--;

case 'C':k+=2;break; case 'D':k=k%2;continue;

case 'E':k=k*10;breab; default:k=k/3;} k++;}

while(c<'G')

printf(\"k=%d\

A)k=3 B)k=4 C)k=2 D)k=0 *140、B

若运行以下程序时,从键盘输入3.6,2.4,(表示回车),则下面程序的运行结果是: #indude # include main()

{float x,y,z;

scanf(\"%f%f\ z=x/y; while(1)

{if(fabs(z)>1.0) {x=y;y=z;z=x/y;} else break;} printf(\"%f\

A) 1.5 B)1.6 C) 2.0 D) 2.4 *141、B

下面程序的运行结果是: #i nclude \"stdio.h\" main() {int a,b;

for(a=1,b=1;a<=100;a++) {if (b>=20) break;

if(b%3==1) {b+=3;continue;} b-=5;}

printf(\"%d\\n\

A) 7 B) 8 C)9 D) 10 *142、B

下面程序的运行结果是: #i nclude \"stdio.h\" main() {int i;

for(i=1;i<=5;i++) {if (i%2) printf(\"*\"); else continue; printf(\"#\"); }

printf(\"#\");}

A) *#*#$ B) #*#*#*$ C) *#*#$ *143、A

下面程序的运行结果是:

D)#*#*$ main()

{int i,j,a=0; for (i=0;i<2;i++) { for (j=0;j<=4;j++) {if (j%2) break; a++;} a++;}

printf(\"%d\\n\}

A) 4 B) 5 C) 6 D) 7 *144、C

在c语言中,引用数组元素时,其数组下标的数据类型允许是__.

A)整型常量 B)整型表达式 C)整型常量或整型表达式 D)任何类型的表达式 *145、D

以下对一维整型数组a的正确说明是__。

A) int a(10); B)int n= 10,a[n];

c) int n; D) #define SIZE 10; scanf(\"%\ int a[SIZE]; int a[n]; *146、D

若有说明:int a[10];则对a数组元素的正确引用是__。

A)a[10] B) a[3.5] C) a[5] D) a[10-10] *147、A

在C语言中,一维数组的定义方式为:,类型说说明符 数组名__。 A) [常量表达式] B) [整形表达式] c)[ 整型常量]或[整型表达式] D)[整型常量] *148、C

以下能对一维数组a进行正确初始化的语句是__。

A) int a[10]=(0,0,0,0,0) B)int a[10]={}

C) int a[]={0}; D) int a[10]={10*1}; *149、C

以下对二维数组a的正确说明是__。

A) int a[3][]; B) floatf a(3,4); C) double a[1][4]; D) float a(3)(4); *150、C

若有说明:int a[3][4]; 则对a数组元素的正确引用是__。

A) a[2][4] B) a[1,3] C) a[1+1][0] D) a(2)(1); *151、D

若有说明:int a[3][4];则对a数组元素的非法引用是__。

A) a[0][2*1] B) a[1][3] C)a[4-2][0] D)a[0][4] *152、B

以下能对二维数组a进行正确初始化的语句是__。

A) int a[2][]={{1,0,1},{5,2,3}};

B) int a[][3]={{1,2,3},{4,5,6}};

C] int a [2][4]={{1,2,3},{4,5},{6}}; D] int a[][3={{1,0,1},{},{1,1}}; *153、C

以下不能对二维数组a进行正确初始化的语句是__。 A) int a[2][3]={0};

B) int a[][3]={{1,2,3},{4,5,6}}; C] int a[2][4]={{1,2,3},{4,5}{6}}; D] int a[][3]={{1,0,1},{},{1,1}}; *154、D

若有说明: int a[3]「4」={0};则下面正确的叙述是 A」只有元素a[0][0]可得到初值0 B」此说明语句不正确:。

C」数组a中各元素都可得到初值,但其值不一定为0。 D」数组a中每个元素均可得到初值0 *155、D

若有说明:int a[]「4」={0,0};则下面不正确的叙述是__。 A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1

C)因为二维数组0中第二维大小的值除以初值个数的商为1,故数组a行 数为1

D)只有元素a[0]「0」和a[0]「1」可得初值0,其余元素均得不到初值0 *156、B

若有说明:int a[3]「4」;则数组a各元素 A」可在程序的运行阶段得到初值0

B」可在程序的编译阶段得到初值0 C」不能得到确定的初值

D」可在程序的编译或运行阶段得初值0 *157、C

以下各组选项中,均能正确定义二维实型数组a的选项是 A)float a[3][4]; B)float a(3,4); float a[][4]; float a[3][4];

float a[3][]={{1},{0}}; float a[][]={{0},{0}};

C)float a[3][4]; D)float a[3][4]; static float a[][4]={{0},{0}}; float a[3][]; auto float a[][4]={{0},{0},{0}}; float a[][4] *158、A

下面程序(每行程序前面的数字表示行号) 1 main() 2 {

3 int a[3]={3*0}; 4 int i;

5 for(i=0;i<3;i++) scanf(\"%d\ 6 for(i=1;i++) a[0]=a[0]+a[i] 7 printf(\"%d\\n\A}没有错误 B)第3行有错误

C)第5行有错误 D)第7行没有错误 *159、C

下面程序一一一(每行程序前面的数字表示行号)。 1 main() 2 {

3 float a[10]={0.0}; 4 int i

5 for(i=0;i<3;i++) scanf(\"%d\6 for(i=0;i<10;i++) a[0]=a[0]+a[i]; 7 printf(\"%d\\n\8 }

A)没有错误 B)第3行有错误 C)第5行有错误 D)第7行有错误 *160、D

下面程序有错的行是 1 main() 2 {

3 int a[3]={1}; 4 int i;

5 scanf(\"%d\

6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 printf(\"a[0]=%d\\n\ 8 }

A)3 B)6 C)7 D)5 *161、D

下面程序(每行程序前面的数字表示行号) 1 main() 2 {

3 int a[3]={0}; 4 int i;

5 for(i=0;i<3;i++)scanf(\"%d\

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务