C语言试题库(带答案解析)~排版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题

1、以下不能定义为用户标识符的是( )。 (A) MAIN (B) _HJ

(D) LINE1 2、以下不能定义为用户标识符的是( ) (A) If

(B) H_J (D) LINE12 3、下面属于C 语言标识符的是( )。 (A) 2ab (B) @f

(C) b 4、下列符号中用来表示C 语言中的回车换行的是( )。 (A) \r

(C) \b (D) \t 5、在计算机系统中,可执行程序是( ) (A)

源代码

(B)汇编语言代码

(D) ASCII 码

6、在Visual C++ 环境下,C 源程序文件名的默认后缀是(

)。 (A) .obj (B) .txt (D) .doc

7、Microsoft Visual C++ 中,C 语言可执行程序的扩展名是:( )

(B) obj (C) c 或cpp (D) txt 8、C 程序由(

)组成。

(A)子程序 (B) 主程序和子程序 (D) 过程 9、C 程序的基本组成单位(

)。

(A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语言中主函数的个数是( )。

(A) 2个 (C) 任意个 (D) 10个 11、一个

C 程序的执行是从( ) (B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D)

本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是

(A)在C 语言程序中,main 函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数

13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是(

)。

(A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格)

A) 9□9□9 C) D)

15、以下选项中非法的字符常量是

A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表示逻辑值“假”的是

A)1 B) D)

17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语言变量,以下说法不正确的是(

) (A) 变量名由程序员定义,必须符合标识符的命名规则。 (B) 变量是程序运行过程中其值可以改变的量。

(D) 变量命名时应尽量做到见名知意。 19、关于C 语言中数的表示,以下叙述正确的是

B)只要在在允许范围内整型和实型都能精确表示

C)只有实型数在允许范围内能精确无误的表示,整型数会有误差 D)只有八进制表示的数在不会有误差

20、设有语句int a=3;,则执行了语句a+=a=a*a;后,变量a 的值是 。 A .3

B .0

C .9 21、在C 语言中,要求运算数必须是整型的运算符是 。

B ./

C .<

D .!

22、C 语言中最简单的数据类型包括 。

A .整型、实型、逻辑型 C .整型、字符型、逻辑型

D .整型、实型、逻辑型、字符型

23

、在C 语言中,合法的字符型常量是 。 B ."A" C .65 D .A

24、若已定义x 和y 为double 型变量,则表达式x=1

,y=x+3/2的值是 。 A .1 B .2 D .

25、设正x 、y

均为整型变量,且x=10,y=3,则以下语句的输出结果是 。 printf("%d,%d\n",x--,--y);

A .10,3

B .9,3

C .9,2 26、若有定义int a=8,b=5,C;,执行语句C=a/b+;后,C 的值为

。 A . C . D .2

27、以下选项中,不正确的赋值语句是 。 A .++t; B .n1=(n2=(n3=0)); C .k=i==j;

28、设x 和y 均为

int 型变量,则语句:x+=y,y=x-y;x-=y;的功能是 。 A .把x 和y 按从大到小的顺序排列 B .把x 和y 按从小到大的顺序排列 C .无确定结果 29、以下程序的输出结果是 。 #include <> main() {

char c='z'; printf("%c",c-25); }

B .Z

C .z-25

D .y

30、已知字母A 的ASCII 码为十进制数的65,以下程序的输出结果是 。

#include <> main() {

char ch1,ch2;

ch1='A'+'5'-'3'; ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2);

B .B,C

C .C,D

D .不确定的值

31、若k 是int 型变量,则以下程序片段的输出结果是 。

k=-3;

if(k<=0) printf("####"); printf("&&&&"); B .&&&&

C .####&&&&

D .有语法错误,无输出结果

32、关于以下程序,说法正确的是 。

#include <> main()

{ int x=3,y=0,z=0;

if(x=y+z) printf("* * * *"); else printf("# # # #"); }

A .有语法错误不能通过编译

B .输出* * * *

33、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 。

A .a<>0

B .!a

C

.a=0

34

z 的C 语言表达式是 。

B .(x<=y)and(y<=z)

C .(x<=y<=z)

D .(x<=y)&(y<=z) 35、能正确表示逻辑关系a ≥10或a ≤0的C 语言表达式是 。

A .a>=10 or a<=0 C .a>=10 &&a<=0

36、若变量c 为char 型,能正确判断出

c 为小写字母的表达式是 。

A .'a'<=c<= 'z'

C .('a'<=c)and ('z'>=c) 37、语句while(E);中的条件

E 等价于 。A .E==0 B .E!=1 D .~E 38

中的条件!E 等价于 。

B .E!=1

C .E!=0

D .~E

39、以下程序片段的输出结果是

int x=23; do {

printf("%2d",x--); } while(!x); A .打印出321 C .不打印任何内容

D .陷入死循环

40、若i 、j 已定义为int 型变量,则以下程序片段中,内循环体的执行次数

for(i=5;i;i--)

B .25

C .24

D .30

41、以下程序的输出结果是 。

#include <> main() {

int n=4;

while(n--) printf("%d ",--n);

B .3 1

C .3 2 1

D .2 1 0

42、以下定义语句中,错误的是 。 A .int a[]={1,2};

B .

C .char s[10]="test";

43、设int 型变量占用

4个字节,如有定义int x[10]={0,2,4};,则数组x 在内存中

所占的字节数是 。

A .3

B .12

C .20

44、以下语句的输出结果是 。

B .14

45、以下程序片段的输出结果是 。

char str[]="ab\n\012\\\""; printf(%d",strlen(str)); A .3 B .4

D .12

46、以下数组定义中,不正确的是 。

A .int a[2][3];

B .int b[][3]={0,1,2,3}; 47、以下程序的输出结果是 。

#include <> main() {

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

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); B .1470 C .5430

D .不确定的值

48、以下程序的输出结果是 。

#include <> main() {

int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++)

s+=aa[i][1]; printf("%d\n",s); }

A .11

.13

D .20

49、以下对C 语言字符数组的描术中,错误的是 。 A .字符数组可以存放字符串

D .不可以用关系运算符对字符数组中的字符串进行比较 50、定义如下变量和数组:

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9}; 以上语句的输出结果是

for(i=0;i<3;i++)

printf("%d",x[i][2-i]);

A .1 5 9

B .1 4 7 D .3 6 9

51、不能将字符串:Hello!赋给数组b 的语句是 。

C .char b[10];strcpy(b,"Hello!");

D .char b[10]="Hello!";

52、以下数组定义中,合法的是 。 A .int a[]="string";

C .string s="string"; 53、若有以下定义语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是 。

A .*p+6

B .*(p+6) D .p+5

54、若有以下定义语句:

int w[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w;

则数值为4的表达式是 。

A .*w[1]+1

B .p++,*(p+1)

C .w[2][2]

55、若有以下定义语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a 数组元素的表达式是 。

A .

C .*a

D .a[p-a]

56、下列保留字中用于构成循环结构的是( )

(A) else (C) switch (D) default

57、以下程序运行结果是:( ) (B) 输出5次“你好,中国!”

(C) 没有任何输出 (D) 编译错误,不能运行 #include<> main() { while(5)

相关文档
最新文档