C语言选择题题库2.docx

上传人:b****6 文档编号:5645988 上传时间:2022-12-30 格式:DOCX 页数:51 大小:56.35KB
下载 相关 举报
C语言选择题题库2.docx_第1页
第1页 / 共51页
C语言选择题题库2.docx_第2页
第2页 / 共51页
C语言选择题题库2.docx_第3页
第3页 / 共51页
C语言选择题题库2.docx_第4页
第4页 / 共51页
C语言选择题题库2.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

C语言选择题题库2.docx

《C语言选择题题库2.docx》由会员分享,可在线阅读,更多相关《C语言选择题题库2.docx(51页珍藏版)》请在冰豆网上搜索。

C语言选择题题库2.docx

C语言选择题题库2

第1章C语言程序设计概述

一.选择题

1.以下叙述中正确的是(A)

A.C语言程序中注释部分可以出现在程序中任意合适的地方

B.花括号“{”和“}”只能作为函数体的定界符

C.构成C语言程序的基本单位是函数,所有函数名都可以由用户命名

D.分号是C语言语句之间的分隔符,不是语句的一部分

2.以下叙述中错误的是(A)

A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意”

C.用户所定义的标识符必须以字母或下划线开头

D.用户所定义的标识符中,大,小写字母代表不同标识

3.下列关于C语言用户标识符的叙述中正确的是(B)

A.用户标识符中可以出现下划线和中划线(减号)

B.用户标识符中不可以出现中划线,但可以出现下划线

C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

4.以下关于C语言标识符的描述中,正确的是(D)

A.标识符可以由汉子组成B.标识符只能以字母开头

C.关键字可以作为用户标识符D.Area与area是不同的标识符

5.以下正确叙述是(C)

A.在C语言中,main函数必须位于文件的开头

B.C语言每行只能写一条语句

C.C语言本身没有输入,输出语句

D.对一个C语言进行编译预处理时,可检查宏定义的语法错误

6.下面说法正确的是(C)

A.C程序由符号构成B.C程序由标识符构成

C.C程序由函数构成D.C程序由C语句构成

7.以下叙述不正确的是(D)

A.一个C源程序可以由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句后面

8.C语言规定:

在一个源程序中,main函数的位置可以任意

9.以下不能定义为用户标识符的是(D)

A.scanfB.VoidC._3comD.int

10.以下不合法的用户标识符是(C)

A。

j2_KEYB.DoubleC.4dD._8_

11.下列四组选项中,均不是C语言关键字的是(A)

A.defineIFtypeB.getccharprintf

C.includescanfcaseD.whilegopow

12.以下不能定义为用户标识符的是(D)

A.MainB._0C._intD.sizeof

13.以下不合法的用户标识符是(C)

A。

j2_KEYB.DoubleC.4d_8_D.main

14.以下选项中合法的用户标识符是(B)

A.longB._2TestC.3DmaxD.A.dat

15.以下选项中不合法的用户标识符是(A)

A.abc.cB.fileC.MainD.Printf

16.以下选项中不合法的用户标识符是(C)

A._12AbB.includeC.3abcD.Int

17.以下叙述正确的是(B)

A.可以把define和if定义为用户标识符

B.可以把define定义为用户标识符,但不能把if定义为用户标识符

C.可以把if定义为用户标识符,但不能define定义为用户标识符

D.define和if都不能定义为用户标识符

18.一个C语言的执行是从(A)

A.本程序的main函数开始,到main函数结束

B.本程序文件中的第一个函数开始,到本程序文件的最后一个函数结束

C.本程序的main函数开始,到本程序文件的最后一个函数结束

D.本程序文件的第一个函数开始,到本程序main函数结束

19.C语言程序的基本单位是语句

20.以下叙述中正确的是(C)

A.程序应尽可能短

B.为了编程的方便,应当根据编程人员的意图使程序的流程随意转移

C.虽然注释会占用较大篇幅,但程序中还是应尽可能详细地注释

D.在VC环境下,运行的程序就是源程序

二填空题

1.C语言程序是由函数构成的,其中并且只有一个主函数。

C语言程序的执行总是由主函数开始,并且在主函数中结束。

2.C语言源程序文件的扩展名是.C经过编译后,生成的扩展名是.OBJ,经过连接后,生成的扩展名是.EXE。

3.C语言的函数体由“{”开始,用符号“}”结束;函数体的前面是变量说明部分,其后是执行语句部分。

4.一个C源程序中至少应包括一个主函数

5.C语言程序的注释是以/*开头,以*/结束的。

注释对程序运行不起任何作用。

第2章数据类型与表达式

一选择题

1.以下选项中不属于C语言的类型的是(D)

A.signedshortintB.unsignedlongint

C.ungnedintD.longshort

2.以下选项中可作为C语言合法整数的是(C)

A.10110BB.0386C.0xffaD.x2a2

3.以下选项中合法的实型常数是(C)

A.5E2.0B.E-3C.2E0D.1.3E

4.以下选项中属于C语言的数据类型是(A)

A.复数型B.逻辑数C.双精度型D.集合型

5.以下选项中合法的字符常量是(B)

A.“B”B.‘\010'C.68D.D

6.下面正确的字符常量是(C)

A.“c”B.‘\\'C.‘W'D.‘’

7.下面不正确的字符串常量是(A)

A.‘abc'B.“12‘12”C.“0”D.“”

8.在C语言中,char型数据在内存中的存储形式是(D)

A.补码B.反码C.原码D.ASCII码

9.以下所列的C语言常量中,错误的是(B)

A.0xFFB.1.2e0.5C.2LD.‘\72'

10.表达式3.6-5/2+1.2+5%2的值是(D)

A.4.3B.4.8C.3.3D.3.8

11.有以下定义语句:

doublea,b;intw;longc;若各变量已正确赋值,则以下选项中在的表达式是(C)

A.a=a+b=b++B.w%((int)a+BC.(c+w)%(int)aD.w=a%b

12.有以下程序

#includemain(){intm=12,n=34;printf(“%d%d,m++,n++);printf(“%d%d\n”,n++,++m);}程序运行后的结果是(C)

A.12353514B.12353513C.12343514D.12343513

13有以下程序:

#includemain(){inta1=3,a2=9;printf(“%d\n”,(a1,a2));}

以下叙述中正确的是(B)

A.格式输出3B.程序输出9C.格式说明符不足,编译出错D.程序运行时产生错误信息

14..有以下程序

#includemain(){intx,y,z;x=y=1;z=x++,y++,++y;printf(“%d,%d,%d\n”,n,y,z);}程序运行后的结果是(C)

A.2,3,3B.2,3,2C.2,3,1D.2,2,1

15.若有定义:

inta=8,b=5,c;执行语句“c=a/b+0.4;”后,c的值为1

16.若变量a是int类型,并执行了语句:

a=‘A’+1.6;则正确的叙述是(D)

A.a的值是字符CB.a的值是浮点型

C.不允许字符型和浮点型相加D.a的值是字符‘A'的ASCII值加上1

17.下列语句中,正确的语句是(C)

A.intx=y=Z==0

B.intZ=(x+y)++

C.x=+3==2

D.x%=2.5

18.以下能正确地定义整型变量a,b和c,并为它们赋初值5的语句是(C)

A.inta=b=c=5

B.inta,b,c=5

C.inta=5,b=5,c=5

D.a=b=c=5

19.已知各变量的类型说明如下:

intk,a,b;unsignedlongw=5;doublex=1.42;则以下不符合C语言的表达式是(A)

A.x%(-3)B.w+=-2

C.k=(a=2,b=3,a+BD.a+=a-=(b=4)*(a=2)

20.若有说明语句:

char='\72';则变量c(A)

A.包含1个字符B.包含2个字符

C.包含3个字符D.说法不合法,c的值不确定

21.假定w,x,y,z,m均为int型变量,有如下程序段:

w=1;x=2;y=3;Z=4;m=(w

w:

x;m=(m

m:

y;m=(m

m:

Z;则该程序运行后,m的值是(C)

A.4B.3C.1D.2

22.若x,i,j和k都是int型变量,则计算下面表达式x=(i=4,j=16,k=32)后,x的值为(C)

A.4B.16C.32D.52

23.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)

A.7B.8C.6D.2

24.设以下变量均为int类型,则值不等于7的表达式是(C)

A.(x=y,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+1,x=y,x+1)

25.下列关于运算符优先顺序的描述中正确的是赋值运算符〈逻辑运算符〈关系运算符〈算术运算符

26.若有代数式bc/3ac,则不正确的C语言表达式是(C)

A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3

27.已知字母A的ASCII码为十进制数65,且c2为字型符,则执行语句c2='A'+'6'-'3'后,c2中的值为68

28.若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num;后sum的值为8

29.设a,b,c,d,m,n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c

30.若有定义:

inta=7;floatx=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是2.50000031.设x,y,z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32)后,x的值为32

32.表达关系X<=Y<=Z的C语言表达式为(X<=Y)&&(Y<=Z)

33.运行结果为4的表达式是C.inti=1,j=1;i+=j+=2

34.表达式(a=3*5,a*5),a+5的值是A.20

35.设有整型变量a,b,c,它们的初值是1,运行表达式++a||++b&&++c后,a,b,c的值分别是A.2,1,1

36.若有条件表达式(exp)?

a++:

b--,则以下表达式中能完全等价于表达式(exp)的是B.(exp!

=0)

37.当c的值不为0时,在下列选项中能正确将c的值赋给变量a,b的是C.(a=c)&&(b=c)

38.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是C.-12

二填空题

1.在C语言中,整数有三种表达方式:

十进制数,八进制数,十六进制数。

2.C语言中,用关键字int定义整型变量,用关键字float定义单精度型变量,用关键字double定义双精度型变量。

3.执行以下语句后m的值为3intw,x,y,z,m;w=3;x=4;y=5;z=6;m=(w

x;m=(m

y;m=(m

z;

4.有以下定义:

intm=5,y=2;则计算表达式y+=y-=m*=y后的y值是-16

5.s是int型变量,且S=6,则下面表达式:

s%2+(s+1)%2的值为1

6.若a是int型变量,则计算表达式:

a=25/3%3后a的值为2

7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式:

x+=n++后x的值为10,n的值为6。

8.假设所有变量均为整型,则表达式:

(a=2,b=5,a++,b++,a+b)的值为9。

9.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为'f'

10.假设m是一个三位数,从左到右用a,b,c表示各位的数字,则从左到右各个数字是bac的三位数的表达式是(m/10%10)*100+m/100*10+m%10

11.若有定义:

inta=2,b=3;floatx=3.5,y=2.5;则下面表达式:

(float)(a+b)/2+(int)x%(int)y的值为3.500000

12.执行语句“printf(“%d”,(a=2)&&(b=-2));”后的输出结果是1。

13.已知inty=4,x=6,=2,d;执行语句d=(++x,y++),z+2后d的值为4。

14.定义:

doublex=3.5,y=3.2;则表达式(int)x*0.5的值是1.500000表达式

y+=x++的值是6.700000。

15.定义;intm=5,n=3;则表达式m=(m=1,n=2,n-m)的值1,不知道m+=m-=(m=1)*(n=2)的值是-2。

若再进行下述赋值;m=1,2,n++;则m的值是1,n的值是4。

16。

第3章C语言程序的控制结构

3.1顺序结构程序设计

一、选择题

1.下列语句中,符合语法的赋值语句是(B)

A.a=10B.x=y==20C.i++D.m=2,n=5

2.下列语句中,正确的语句是(C)

A.intx=y=z=0B.intz=(x+y)++

C.x=+3==2D.x%=2.5

3以下叙述中错误的是(C)

A.C语句必须是以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

4.下列程序的输出是(C)

#includevoidmain()

{inta=011,b=101;printf(“\n%x,%o”,++a,b++)}

A.12,145B.9,145C.a,145D.a,5

5.以下选项中不是C语句的是(C)

A.{inti;i++;printf(“%d\n”,i);}B.;

C.a=5,c=10D.{;}

6.以下程序的功能是:

给r输入数据后计算半径为r的圆面积s。

程序编译时出错。

main(){intr;float;scanf(“%d”,&r);s=圆周率*r*r;printf(“s=%f\n”,s);程序出错的原因是(D)

A.注释语句书写位置错误

B.存放圆半径的变量r不应该定义为整型

C.输出语句中格式描述符非法

D.计算圆面积的赋值语句中使用了非法变量

7.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语言组是(C)

A.a=a+b,b=a-b,a=a-bB.t=a,a=b,b=t

C.a=t;t=b;b=aD.t=b;b=a;a=t

8.设有如下程序段:

intx=2002,y=2003;printf(“%d\n”,(x,y));则以下叙述中正确的是输出值为20039.已知字符‘a‘的ASCII码为97,则下述程序段(C)

charch='a';intk=12;printf(“%x,%o”,ch,k);printf(“k=%%d”,k);

答案:

C.输出为61,14,k=%d

10.下述程序的输出结果是(B)

#includemain(){intx=023;printf(“%d”,--x);}

A.17B.18C.23D.2411.下述程序的输出结果是(D)

#includemain(){intk=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);}答案:

D.k=11,k=13,k=b

12.有如下定义:

floatx;unsigned;则(B)是合法的输入语句。

答案:

B.scanf(“%f3o”,&x,&y)13.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按方式(D)输入数据intk1,k2,k3,k4;scanf(“%d%d”,&k1,&k2);

scanf(“%d%d”,&k3,k4);

A.1020B.102010201020C.10,20D.102010,20,10,2014.有以下程序:

main(){inta=666,b=888;printf(“%d\n”,a,b);}

A.错误信息B.666C.888D.666,888

15.已知字符A的ASCII码值是65,以下程序(C)

#includemain(){chara=‘A';intb=20;printf(“%d,%o”,(a=a+1,a+b,b),a+‘a'-‘A',b);}

A.表达式非法,输出零或不定值

B.因输出项过多,无输出或输出不定值

C.输出结果为20,142

D.输出结果为20,1541,20

16.对于条件表达式(M)?

(a++):

(a--),其中的表达式M等价于(C)

A.M==0B.M==1C.M!

=0D.M!

=1

17.若变量c定义为float类型,当从终端输入283.1900后按回车键,能给变量c赋以283.19的输入语句是(D)

A.scanf(“%f”,c)B.scanf(“%8.4f”,&c)

C.scanf(“%6.2f”,&c)D.scanf(“%8f”,&c)

18.设有定义:

longx=-23456789L;则以下能够正确输出变量x值的语句是(B)

A.printf(“x=%d\n”,x)B.printf(“x=%1d\n”,x)

C.printf(“x=%8d1\n”,x)D.printf(“x=%LD\n”,x)

19.输入一个华氏温度,要求输出摄氏温度。

计算公式为:

c=5/9(F-32),以下程序正确的是(B)

答案:

main(){floatc,F;scanf(“%f”,&F);c=5*(F-32)/9;printf(“摄氏温度:

%f\n”,n);}

20.以下程序的输出结果是(D)

#includemain(){intk=17;printf(“%d,%o,%x\\n”k,k,k);}

A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11

21.下列程序执行后的输出结果是(A)

#includemain(){intx=‘f';printf(“%c\n”,‘A’+(x-‘a'+1);

A.GB.HC.ID.J

22.语句printf(“a\bre\'hi\'y\\\bou\n”);的输出结果是(C)

答案:

C。

re'hi'you

23.有如下程序:

#includemain(){inty=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}运行该程序的输出结果是(D)

A.34B.42C.43D.33

24.若变量已正确说明为float类型,要通过语句scanf(“%f%f%f”,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(B)

A.10<回车>22<回车>33<回车>B.10.0,22.0,33.0<回车>

C.10.0<回车>22.033.0<回车>D.1022<回车>33<回车>

25.以下程序的输出结果是(C)

#includemain(){inta=5,b=4,c=6,d;printf(“%d\n”,d=a>b(a>ca:

c):

(b));}

A.5B.4C.6D.不确定

二.填空题

1.要用以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是a=5.0,4,c=3

intb,c;floata;scanf(“a=%f,%d,c=%d”,&a,&b,&c.;

2.以下程序输出的结果是0

#includemain(){inta=5,b=4,c=6,d;d=(a>b>c);printf(“%d\n”,d);}

3.假设变量a和b均为整型,以下语句可以不借助任何变量把a,b中的值进行交换。

请填空。

a+=b;b=a-b;a-=b

4.若x为int型变量,则执行以下语句后x的值是-14

x=7;x+=x-=x+x

5.有一输入函数scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是末指明变量k的地址格式控制符与变量类型不匹配

6.已有定义inta;floatb,x;charc1,c2;为使a=3,b=6.5,x=12.6,c1=‘a'.c2=‘A',正确的sanf函数调用语句是sanf(“%d%f%f%c%c”,&a,&b,&x,&c1,&c2);输入数据的方式为36.512.6aA

7.若有以下定义和语句,为使变量c1得到字符‘A’,变量c2得到字符‘B’,正确的格式输入形式是AB

8.设x,y和z均为int型变量,则执行语句x=(y+(z=10)+5)-5;

后,x、y和z的值是101510

9.已有定义intx;floaty;且执行scanf(“%3d%f”,&x,&y);语句时,从第一列开始输入数据12345[空格]678<回车>,则x的值为123,y的值为45.000000

10.以下程序的输出结果是2,1

main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf(“%d,%d\n”,a,b);}

3.2选择结构程序设计

一。

选择题

1.逻辑运算符两侧运算对象的数据类型(D)

A.只能是0或1B.只能是0或非0的整数

C.只能是整型或字符型数据D.可以是任何类型的数据

2.下列运算符中优先级最高的是(B)

A.

=

3.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)

A.‘x'&&‘y'B.x<=y

C.x||y+z&&y-zD.!

((x

z||1)

4.已知x=43,ch=‘A',y=0;则表达式(x>=y&&ch<‘B’&&!

一y)的值为(C)

A.0B.语法错误C.1D.“假”

5.若希望当A的值奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是(C)

A.A%2==1B.!

(A%2==0)C.!

(A%2)D.A%2

6.判断char型变量ch是否为大写字母的正确表达式是(C)

A.‘A'<=ch<=‘Z'B.(ch>=‘A')&(ch<=‘Z'

C.(ch>=‘A')&&(ch<=‘Z')D.(‘A'<=ch)AND(‘Z'>=ch)

7.判断char型变量c1是否为小写字母的正确表达式为:

D.(c1>=‘a')&&(c1<=‘z')

8.以下程序的运行结果是(B)

#include“stdio.h”voidmain(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,啊,吧);}

A.6,1B.2,1C.6,0D.2,0

9.执行以下语句后a的值为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1