2016年计算机二级《C语言》考前测试题及答案
(1)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。

A.快速排序
B.冒泡排序
C.直接插入排序
D.堆排序
(2)下列关于栈的叙述正确的是( )。
A.栈按“先进先出”组织数据
B.栈按“先进后出”组织数据
C.只能在栈底插入数据
D.不能删除数据
(3)在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段
D.物理设计阶段
(4)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
(5)在数据管理技术发展的三个阶段中,数据共享最好的是( )。
A.人工管理阶段
B.文件系统阶段
C.数据库系统阶段
D.三个阶段相同
(6)有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为( )。
A.笛卡尔积
B.交
C.并
D.自然连接
(7)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。
A.课号,成绩
B.学号,成绩
C.学号,课号
D.学号,姓名,成绩
(8)下列叙述中错误的是( )。
A.C程序可以由多个程序文件组成
B.一个C语言程序只能实现一种算法
C.C程序可以由一个或多个函数组成
D.一个C函数可以单独作为一个C程序文件存在
(9)以下选项中,能用作数据常量的是( )。
A.115L
B.0118
C.1.5e1.5
D.o115
(10)按照c语言规定的用户标识符命名规则,不能出现在标识符中的是( )。
A.大写字母
B.下划线
C.数字字符
D.连接符
(11)设变量已正确定义并赋值,以下正确的表达式是( )。
A.x=y+z+5,+ +y
B.int(15.8%5)
C.x=y*5=x+z
D.x=25%5.0
(12)设有定义:int x=2;,以下表达式中,值不为6的是( )。
A.2*x,x+=2
B.x ++,2*x
C.x*=(1+x)
D.x*=x+1
(13)以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A.可以是任意合法的表达式
B.只能是整数0或非0整数
C.可以是结构体类型的数据
D.只能是整数0或1
(17)有以下程序:
程序运行后的输出结果是( )。
A.2,3,3
B.2,3,2
C.2,3,1
D.2,2,1
(18)有以下程序:
已知字母A的ASCII码为65,程序运行后的输出结果是( )。
A.E,68
B.D,69
C.E,D
D.输出无定值
(19)
(20)读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是( )。
A.一个内存块的字节数
B.一个整型变量,代表待读取的数据的字节数
C.一个文件指针,指向待读取的文件
D.一个内存块的首地址,代表读人数据存放的地址
(21)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
A.10
B.8
C.6
D.4
(22)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
A.编译程序
B.操作系统
C.教务管理系统
D.汇编程序
(23)有两个关系R、S如下:
由关系R通过运算得到关系S,则所使用的运算为( )。
A.选择
B.投影
C.插入
D.连接
(24)以下四个程序中,完全正确的是( )。
(25)以下选项中,能用作用户标识符的是( )。
A._0_
B.8_8
C.void
D.unsigned
参考答案:
(1)D
【解析】除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。
(2)B
【解析】栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。
(3)C
【解析】E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。
(4)C
【解析】当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。
(5)C
【解析】数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位。所以选择C。
(6)D
【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知R与S进行的是自然连接操作。
(7)C
【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。
(8)B
【解析】在一个C语言程序中可以进行多种算法的实现,对算法的个数没有规定,所以B错误。
(9)A
【解析】A选项中115L表示115是长整型数据,合法。B选项是八进制常量的表示方法,但是在八进制中不能含有数字8,所以B错误。C选项中e后面应该是整数不能是
小数1.5,所以C错误。D选项中八进制常量应该是数字“0”开始,而不是字母“o”开始。
(10)D
【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。所以D选项中的连接符不合法。
(11)A【解析】B与D选项中取模运算符%的左右两个操作数均应为整数,所以B、D错误。C选项中不能将x+y的值赋给表达式y*5,所以C错误。
(12)A
(13)A
【解析】C语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式,所以选择A。
(14)A
(15)B
【解析】取模运算符“%”,二元运算符,具有左结合性,参与运算的量均为整型。选项B中的a变量是double实型,所以B不符合规定。
(16)D【解析】C语言中利用sizeof()函数判断数据类型长度,在VC6.0平台中,整型int占有4个字节,double型数据占有8个字节。
(17)C
【解折】z=x++,Y++,++y;因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式表示成(z=x++),(y++),(++y)。然后从左向右先计算表达式z=x++因为x++先使用后自增,所以z的值为1,x的值为2。再计算逗号表达式第二个表达式y++,此时y的值为2,最后计算第三个表达式++y,y的值为3。
(18)A
【解析】本题目中字符变量cl是字符‘A’的ASCII码加上4,即69所对应的字符‘E’。字符变量c2是字符‘A’的ASCII码加上3,即68所对应的字符‘D’。但是打印输出时,cl以%C的格式输出,所以是E,c2以%d的格式输出,所以是68。
(19)A【解析】条件表达式:x=表达式1?表达式2:表达式3的含义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。在本题中与表达式1:(x-y)等价的是(x-y<0||x-Y>0)。
(20)A
【解析】B选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第1个数据,可以用fseek()函数进行重新定位即可。D选项中,C语言中的文件可以进行随机读写。
(21)C
【解析】根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中是5+1=6个。
(22)C
【解析】编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。
(23)B
【解析】投影运算是指对于关系内的域指定可引入新的运算。本题中s是在原有关系R的内部进行的,是由目中原有的那些域的列所组成的关系。所以选择B。
(24)B
【解析】C语言中注释语句的注释方法是:/*注释内容*/或//注释一行。所以A与C错误,D选项中预编译命令include前丢掉了“#”号。所以选择B。
(25)A
【解析】C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符:B中以数字8开头,所以错误。C与D中用的是关键字void与unsigned,所以错误。
【计算机二级《C语言》考前测试题及答案】相关文章:
2017计算机二级C语言考前测试题与答案04-10
国家计算机二级《C语言》考前测试题及答案03-10
计算机二级C语言考前测试题08-13
计算机二级C语言程序设计考前测试题及答案02-27
计算机二级C语言测试题与答案02-22
计算机二级C语言测试题及答案08-13
2017计算机二级C语言考前习题及答案12-10