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.scanf B.Void C._3com D.int

10.以下不合法的用户标识符是(C) A。j2_KEY B.Double C.4d D._8_

11.下列四组选项中,均不是C语言关键字的是(A) A.define IF type B.getc char printf C.include scanf case D.while go pow 12.以下不能定义为用户标识符的是(D) A.Main B._0 C._int D.sizeof 13.以下不合法的用户标识符是(C)

A。j2_KEY B.Double C.4d_8_ D.main 14.以下选项中合法的用户标识符是(B) A.long B._2Test C.3Dmax D.A.dat

15.以下选项中不合法的用户标识符是(A) A.abc.c B.file C.Main D.Printf

16.以下选项中不合法的用户标识符是(C) A._12Ab B.include C.3abc D.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.signed short int B.unsigned long int C.ungned int D.long short

2.以下选项中可作为C语言合法整数的是(C) A.10110B B.0386 C.0xffa D.x2a2 3.以下选项中合法的实型常数是(C) A.5E2.0 B.E-3 C.2E0 D.1.3E

4.以下选项中属于C语言的数据类型是(A) A.复数型 B.逻辑数 C.双精度型 D.集合型 5.以下选项中合法的字符常量是(B) A.“B” B.‘\\010' C.68 D.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.0xFF B.1.2e0.5 C.2L D.‘\\72' 10.表达式3.6-5/2+1.2+5%2的值是(D) A.4.3 B.4.8 C.3.3 D.3.8

11.有以下定义语句:double a,b;int w;long c;若各变量已正确赋值,则以下选项中在的表达式是(C)

A.a=a+b=b++ B.w%((int)a+B C.(c+w)%(int)a D.w=a%b 12.有以下程序

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

A.12353514 B.12353513 C.12343514 D.12343513 13有以下程序:

#include main() {int a1=3,a2=9;printf(“%d\\n”,(a1,a2));} 以下叙述中正确的是(B)

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

14..有以下程序

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

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

15.若有定义:int a=8,b=5,c;执行语句“c=a/b+0.4;”后,c的值为 1

16.若变量a是int类型,并执行了语句:a=‘A’+1.6;则正确的叙述是(D) A.a的值是字符C B.a的值是浮点型

C.不允许字符型和浮点型相加 D.a的值是字符‘A'的ASCII值加上1 17.下列语句中,正确的语句是(C) A.int x=y=Z==0 B.int Z=(x+y)++ C.x=+3==2

D.x%=2.5

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

C.int a=5,b=5,c=5

D.a=b=c=5

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

int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言的表达式是(A) A.x%(-3) B.w+=-2

C.k=(a=2,b=3,a+B D.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

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

23.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B) A.7 B.8 C.6 D.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*3 B.3*a*e/b/c C.3*a*e/b*c D.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.若有定义:int a=7;float x=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是2.500000 31.设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.int i=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的值为3 int w,x,y,z,m;w=3;x=4;y=5;z=6;m=(w