2016年计算机二级C语言真题及答案

2016-07-11来源 : 互联网

2016年计算机二级C语言真题及答案,下面小编整理了2016年计算机二级C语言真题及答案供考生参考。

1[单选题]一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。

A.一对一B.一对多C.多对一D.多对多

参考答案:B

参考解析:因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。

2[单选题]以下选项中合法的常量是()

A.999B.2.7eC.OXabD.123E0.2

参考答案:C

参考解析:A选项中含有非法的空格,所以错误。c语言中十六进制常量以0x开头,所以C正确。实型常量中e的前后必须均有数据,且其后必须为整数,所以B和D错误。

3[单选题]有以下程序:

以上程序执行后abc.dat文件的内容是()。

A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina

参考答案:B

参考解析:本题考查文件操作函数,fwrite和rewind函数,题目中先是将s2字符串写入adc.dat中,然后将写指针回到文件开头,然后写入sl字符串,那么sl字符串就将前5个字符覆盖,所以***果为Chinan9,选项B正确。

4[单选题]以下关于宏的叙述错误的是

A.宏名必须用大写字母构成

B.宏替换具有计算功能

C.宏替换不具有计算功能

D.宏替换不占用运行时间

参考答案:A

参考解析:宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,因此,答案为A选项。

5[单选题]有以下程序段:

以下选项中不能正确引用字符串的是()。

A.3B.p[3]C.str[2]D.*P

参考答案:A

参考解析:tp[3]一p[3][0]是一个字符,不是字符串,选项A错误。P[3]和str[2]和+P分别代表了ddd,eec,flaa。答案为A选项。

6[单选题]有以下程序:

程序运行后的输出结果是()。

A.Beijing!B.toBeijing]C.WelcomeyoutoBeijingID.youtoBeijingI

参考答案:A

参考解析:for循环的作用是每次遇到空格,将空格后面的移动到数组的*前面。因此数组*后的状态是“Bei-jing!、Og!�ng!、neijing!、O”,但是pfinff(“%s”)打印遇到、0自动结束。因此,打印Beijing!。故答案为A选项。

7[单选题]下列叙述中错误的是()。

A.数据结构中的数据元素不能是另一数据结构

B.数据结构中的数据元素可以是另一数据结构

C.空数据结构可以是线性结构也可以是非线性结构

D.非空数据结构可以没有根结点

参考答案:A

参考解析:数据元素是一个含义很广泛的概念,它是数据的“基本单位”,在计算机中通常作为一个整体进行考虑和处理。数据元素可以是一个数据也可以是被抽象出的具有一定结构数据集合,所以数据结构中的数据元素可以是另一数据结构。满足有且只有一个根结点并且每一个结点*多有一个前件,也*多有一个后件的非空的数据结构认为是线性结构,不满足条件的结构为非线性结构。空数据结构可以是线性结构也可以是非线性结构。非空数据结构可以没有根结点,如非性线结构“图” 就没有根结点。故选A选项。

8[单选题]以下定义数组的语句中错误的是()。

A.intnum[][3]={{1,2},3,4,5,6};B.intnUITI[2][4]={{1,2},{3,4},{5,6}};C.intnum[]={1,2,3,4,5,6};D.intnum[][4]={1,2,3,4,5,6’};

参考答案:B

参考解析:选项B中,intIrlllm[2][4]={{1,2},{3,4},{5,6}};定义数组是2行4列,但是初始化的结构是3行2列,因此初始化错误。故答案为B选项。

9[单选题]若有以下程序

则程序的输出结果是

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

参考答案:A

参考解析:**次while判断条件中a++,先用后加,为-2不为0条件为真,执行a的自加与++b操作,a的值变为-1,b的值变为1。第二次 while判断后,a的值变为0,b的值变为2。第三次while判断条件为假,但是仍要执行自加操作,即值为l,跳出循环。打印l和2。

10[单选题]在面向对象方法中,不属于“对象”基本特点的是()。

A.一致性B.分类性C.多态性D.标识**性

参考答案:A

参考解析:对象有如下一些基本特点:标识**性、分类性、多态性、封装性、模块*立性好。所以选择A。

11[单选题]有以下程序

程序运行后的输出结果是

A.3B.9C.OD.-12

参考答案:D

参考解析:本题考查目的是运算符的结合性和优先级。*先计算a*a,结果为9,然后执行a=a-9,即3-9,结果为-6,然后执行a=(-6)+(-6),即8=的值为-12。所以选择D。

12[单选题]有以下程序:

程序运行后的输出结果是()。

A.*2*6B.}3*5一C.}5D.*7

参考答案:D

参考解析:do……while语句是先执行后判断,所以**次先执行循环体,判断i%3==1的条件,由于i为5,所以余数为2,条件不成立,执行 i++,i的值为6,判断while条件为真;第二次执行循环体,同**次循环的执行过程一样,i的值变为7,判断while条件为真;第三次执行循环体,此时i%3==1,条件成立,再判断i%5==2也成立,打印*与i的值,即*7,然后执行break语句,跳出循环。所以选择D选项。

13[单选题]若有定义:doublex;,则表达式IX=0,x+10,x+十的值是()。

A.11.0B.10.0C.0.0D.1.0、

参考答案:C

参考解析:c语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别*低的,逗号运算符**左边的子表达式运笑结束后才进行右边的子表达式的运算。也麓是辽,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以*右边表达式值作为整个逗号表达式的值。后置自增运算:k++表示先运算,后自■:曹置自增运算:++k表示先自加,后运算。因此,表达式l;O,I+10。 x++的计算过程为*先赋值x=0,然后将x加l0,包是并不对x进行赋值,*后计算x++,并,根据后置自增运算的计算结果,即为x=0.0。故答案为 C选项。

14[单选题]设有定义:

doublea,b,C;

若要求通过输入分别给a,b、c输入1、2、3,输入形式如下(注:此处口代表一个空格)

口口1.0口口2.0口口3.0<回车>则能进行正确输入的语句是

A.scanf("%If%If%If",a,b,C.;

B.scanf("%If%If%If",&a,&b,&C.;

C.scanf(”%f%f%f",&a,&b,&C.;

D.scanf("%5.1If%5.1If%5.1If",&a,&b,&C.;

参考答案:B

参考解析:本题考查scanf函数的格式化输入,scanf函数的一般形式为scanf(格式控制,变量1地址,变量2地址,…),其中,格式字符串要与数据类型保持一致,由于变量double型,所以格式字符串中应为%/if,后面应该为变量地址,所以需要加上符号“&”。所以选择B。

15[单选题]有以下程序

程序的输出结果是

A.84B.96C.94D.85

参考答案:A

参考解析:本题主要考查局部变量和全局变量的区别,题目中函数之外定义的d为全局变量,函数fun内定义的d为局部变量。所以执行fun函数后,打印出8,执行完d+=a++;后d变为4,所以答案为A。

16[单选题]有以下程序:

程序输出()。

A.编译有错B.0,0,0,3C.1,1,2,0D.0,1,2,0

参考答案:A

参考解析:c语言规定else总是和之前与其*近的且不带else的if配对,题目中,if(a=1)b=1;C=2;默认省的else已经配对了,下一句 else没有匹配,if为非法else。另外if的判断条件a=1是赋值语句,不是判断语句,此处也会产生编译错误。因此答案为A选项。

17[单选题]以下叙述中正确的是

A.数组下标的下限是1

B.数组下标的下限由数组中**个非零元素的位置决定

C.数组下标的下限由数组中**个被赋值元素的位置决定

D.charel,c2,*c3,c4[40];是合法的变量定义语句

参考答案:D

18[单选题]有以下程序

程序的输出结果是

A.150B.357C.147D.369

参考答案:B

参考解析:程序*先初始化二维数组X[3][3],然后通过3次for循环,输出x[0][2]、x[1][1]和x[2][0]的值,即3、5、7。因此B选项正确。

19[单选题]以下关于逻辑运算符两侧运算对象的叙述中正确的是()。

A.可以是任意合法的表达式

B.只能是整数0或非0整数

C.可以是结构体类型的数据

D.只能是整数0或1

参考答案:A

参考解析:C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A。

20[单选题]设已有定义:floatx;,则以下对指针变量P进行定义且赋初值的语句中正确的是()。

A.int*p=(float)x;

B.float*p=&x;

C.floatp=&x;

D.float=1024;

参考答案:B

参考解析:指针是用来存放地址的变量,用(类型名+指针变量名)的形式定义。赋值时应将某个变量地址即8Ⅸ赋给指针变量,所以选择B。

渝ICP备2024022750号-1

Copyright©2004-2024 3158.CN. All Rights Reserved 重庆市上台九悟酒销售有限公司 版权所有

3158招商加盟网友情提示:投资有风险,选择需谨慎