2016计算机二级《C语言》预测试题及答案
(1)以下叙述中错误的是( )。

A.c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中
D.c语言源程序经编译后生成后缀为.obj的目标程序
(2)以下选项中,合法的一组c语言数值常量是( )。
A.12.0Xa23 4.5e0
B.028.5e…3 0xf
C.177 4el.5 0abe
D.0x8A 10,000 3.e5
(3)以下选项中不合法的标识符是( )。
A.&a
B.FOR
C.pfint
D.00
(4)在软件开发中,需求分析阶段产生的主要文档是( )。
A.可行性分析报告
B.软件需求规格说明书
C.概要设计说明书
D.集成测试计划
(5)若有定义:double a=22;inti=0,k=18;,则不符合c语言规定的赋值语句是( )。
A.i=(a+k)<=(i+k);B.i=a%11;
C.a=a++,i++;D.i=!a;
(6)有以下程序:
在VC 6.0平台上编译运行,程序运行后的输出结果是( )。
A.10,6
B.4,4
C.2,4
D.4。8
(7)有以下程序:
当执行程序时,按下列方式输入数据(从第l列开始,代表回车,注意:回车也是一个字符]1234则输出结果是( )。
A.12
B.12
C.1234
D.12343
(8)以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A.可以是任意合法的表达式
B.只能是整数0或非0整数
C.可以是结构体类型的数据
D.只能是整数0或1
(9)有以下程序:
程序运行后的输出结果是( )。
A.1,1,2,0
B.0,0,0,3
C.编译有错
D.0,1,2,0
(10)有以下程序:
程序运行后的输出结果是( )。
A.a=2,b=2
B.a=2,b=1
C.a=1,b=l
D.a=1,b=0
(11)以下叙述中错误的是( )。
A.c语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.c程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中
D.c语言源程序经编译后生成后缀为.obj的目标程序
(12)有以下程序段:
以下关于程序段执行情况的叙述,正确的是( )。
A.for循环语句固定执行8次
B.当产生的随机数n为4时结束循环操作
C.当产生的随机数n为1和2时不做任何操作
D.当产生的随机数n为0时结束程序运行
(13)有以下程序:
程序运行后的输出结果是( )。
A.8
B.2
C.4
D.1
(14)以下叙述中错误的是( )。
A.可以给指针变量赋一个整数作为地址值
B.函数可以返回地址值
C.改变函数形参的值,不会改变对应实参的值
D.当在程序的开头包含头文件stdi0.h时,可以给指针变量赋NULL、、、
(15)设已有定义:float x;,则以下对指针变量P进行定义且赋初值的语句中正确的是( )。
(16)以下数组定义中错误的是( )。
(17)有以下程序:
程序运行后的输出结果是( )O
A.321678
B.876543
C.1098765
D.345678
(18)有以下程序:
程序运行后的输出结果是( )。
A.一3,一l,1,3,
B.B.一12,一3,0,0,
C.C.0,1,2,3,
D.D.一3,一3,一3,一3,
(19)设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。
(20)设有定义:char p E]={’1’,‘2’,’3’},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是( )。
A.sizeof(p)
B.sizeof(char)
C.sizeof(*q)
D.sizeof(p[0])
参考答案
(1)A
【解析】C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A错误。由C语言构成的指令序列称c源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。
(2)A
【解析】C语言中八进制整型常量的开头是数字0,十六进制整型常量的数字开头是Ox。C语言中的实型常量
有两种表示形式:小数形式,小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E',后跟一个整数来表示以l0为底数的幂数,且规定字母e或E之前必须要有数字,且e或E后面的指数必须为整数。B选项中028错误,八透割中没有数字8。c选项中4el.5中e后面的指数不是整数:D选项中3.e5小数点后面缺少数字。
(3)A
【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以B选项中的。FOR。可以作为标识符来用。A选项中含有非法字符&,所以选择A。
(4)B
【解析】A错误,可行性分析阶段产生可行性分析报告。c错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
(5)B
【解析】取模运算符“%”,二元运算符,具有左结合性,参与运算的量均为整型。选项8中的a变量是doable实型,所以8不符合规定。
(6)D
【解析】C语言中利用sizeof()函数判断数据类型长度,在VC 6.0平台中,整型int占有4个字节,doable型数据占有8个字节。
(7)D
【解析】按照从键盘输入的数据可以_判断字符l给了变量a,字符2给了变量b,字符即回车给了变量c,字符3给了变量d。所以打印输出的结果为D选项。
(8)A
【解析】C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A。
(9)C
【解析】本题中ff(a=1)b=1;与else d=3;之间多了语句c=2;所以会出现else语句的位置错误的编译失败提示。
(10)B
【解析】C88e常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的Case语句,就从此case子句执行下去,不在进行判断,直到碰到break或函数结束为止。所以执行内层switch(y)时只执行了a++,此时a的值为1。然后执行外层case 2语句的a十+;b++;a为2,b为1。所以结果为B。
(11)A
【解析】C语言中的非执行语句不会被编译,不会生成二进制的机器指令,所以A错误。由C语言构成的指令序列称c源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。
(12)D
【解析】Case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的ease语句,就从此cafle子旬执行下去,不再进行判断,直到碰到break或函数结束为止。简单的说break是结束整个循环体,而continue是结束单次循环。B选项中当产生的随机数n为4时要执行打印操作。c选项中当产生的随机数为l和2时分别执行cage3与case4后面语句的内容。由于存在break语句所以for循环不是固定执行8次,执行次数与产生的随机数n有关系。
(13)A
【解析】第一次调用Ill=f(f(f(1))),第二次为m
=f(f(2)),第三次为m=f(4),即返回值为8。
(14)A
【解析】不能将一个整数直接赋给指针变量作为地址,所以A是错误的。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。
(15)B
【解析】指针是用来存放地址的变量,用(类型名+指针变量名)的形式定义。赋值时应将某个变量地址即8Ⅸ赋给指针变量,所以选择8。
(16)D
【解析】D选项中x[2][3]定义的是一个两行三列的二维数组,而在给数组元素赋值时却赋成了三行,所以错误。
(17)A
【解析】本题中的函数fun()的功能是将数组k中前5个元素倒序,所以返回后数组k中的元素排列是5,4,3,2,1,6,7,8,9,10。所以打印输出k[2]到k[7]元素的值,即321678,所以选择A。
(18)A
【解析】本题中由fun函数可知,b[O]=a[o][0]一a[0][3]=1—4=一3,b[1]=a[1][1]一[1][2]=6—7=一1,b[2]=a[Z][2]一[2][1]=11一10=1,b[3]=8[3][3]一[3][1]=16—13=3。所以主函数中打印Y数组元素的值为A选项。
(19)C
【解析】字符串的输入不能使用scanf(”%s”,s);而应该使用9ets(s)。
(20)A
【解析】根据题目中的定义可以知道sizeof(p),计算的是数组P中所有元素所占用的字节数,而不是ch”型数据所占字节数。
【计算机二级《C语言》预测试题及答案】相关文章:
计算机二级C语言预测试题及答案10-30
计算机二级《C语言》预测试题及答案06-10
计算机二级C语言试题及答案05-19
计算机二级C语言预测试题08-14
2016计算机二级《C语言》预测题及答案08-17
计算机二级《C语言》试题及答案201610-30