计算机二级考试选择题题库100道及答案.docx
计算机二级考试选择题题库100道及答案
1.以下关于算法复杂度的说法,哪种情况算法的时间复杂度最小?
A.执行次数为n^2+2n的算法
B.执行次数为3n+5的算法
C.执行次数为nlogn的算法
D.执行次数为2^n的算法
答案:B
解析:常见时间复杂度从小到大排序为:常数阶O(1)、对数阶O(logn)、线性阶O(n)、线性对数阶O(nlogn)、平方阶O(n^2)、指数阶O(2^n)等。B选项是线性阶,相对其他选项复杂度最小。
2.若有一个栈,进栈顺序为1、2、3、4,以下哪个是不可能的出栈顺序?
A.4、3、2、1
B.2、4、3、1
C.1、4、2、3
D.3、2、4、1
答案:C
解析:栈是后进先出的数据结构。对于C选项,1进栈出栈,然后2、3、4进栈,此时出栈只能是4,不能是2,所以该顺序不可能。
3.以下哪种数据结构适合用于实现图的广度优先搜索(BFS)?
A.栈
B.队列
C.二叉树
D.链表
答案:B
解析:广度优先搜索需要按照层次依次访问节点,队列的先进先出特性正好符合,先访问的节点的邻接节点会先被处理。
4.以下关于面向对象编程中继承的说法,错误的是?
A.继承可以实现代码的复用
B.子类可以继承父类的所有属性和方法
C.单继承是指一个子类只能有一个父类
D.多继承是指一个子类可以有多个父类
答案:B
解析:子类不能继承父类的私有属性和方法,所以B选项说法错误。
5.若一个数组a[10],要访问其第5个元素,正确的表示是?
A.a[4]
B.a[5]
C.a(4)
D.a(5)
答案:A
解析:数组下标从0开始,所以第5个元素的下标是4,用a[4]表示。
6.在Python中,以下哪个语句可以正确地打开一个文件并以写入模式打开?
A.f=open(file.txt,r)
B.f=open(file.txt,w)
C.f=open(file.txt,a)
D.f=open(file.txt,x)
答案:B
解析:r是只读模式,w是写入模式,会覆盖原有内容,a是追加模式,x是创建新文件写入,若文件已存在会报错,所以选B。
7.以下关于数据库中主键的说法,正确的是?
A.主键可以有重复值
B.一个表可以有多个主键
C.主键必须是整数类型
D.主键用于唯一标识表中的每一行
答案:D
解析:主键的作用就是唯一标识表中的每一行,主键的值不能重复,一个表只能有一个主键,主键可以是多种数据类型。
8.在C语言中,以下哪个是正确的变量声明和初始化语句?
A.inta=10;
B.inta;a=10;
C.a=10;
D.int=a10;
答案:A
解析:A选项同时完成了变量声明和初始化;B选项是先声明后赋值;C选项没有声明变量;D选项语法错误。
9.以下哪种排序算法的平均时间复杂度是O(nlogn)?
A.冒泡排序
B.选择排序
C.快速排序
D.插入排序
答案:C
解析:冒泡排序、选择排序、插入排序的平均时间复杂度都是O(n^2),快速排序平均时间复杂度是O(nlogn)。
10.在Java中,以下哪个关键字用于创建对象?
A.new
B.create
C.make
D.object
答案:A
解析:在Java中使用new关键字来创建对象。
11.若有一个二维数组inta[3][4],则数组元素的个数是?
A.3
B.4
C.7
D.12
答案:D
解析:二维数组元素个数等于行数乘以列数,3×4=12。
12.以下关于递归函数的说法,错误的是?
A.递归函数必须有终止条件
B.递归函数调用自身
C.递归函数效率一定比非递归函数高
D.递归函数可以解决一些复杂的问题
答案:C
解析:递归函数由于存在函数调用开销,效率不一定比非递归函数高,所以C选项错误。
13.在Python中,以下哪个是字典的正确创建方式?
A.d={1:a,2:b}
B.d=[1:a,2:b]
C.d=(1:a,2:b)
D.d={1a,2b}
答案:A
解析:字典使用花括号{}创建,键值对用冒号:分隔,多个键值对用逗号,分隔。
14.以下关于数据库中SQL语句的说法,错误的是?
A.SELECT语句用于查询数据
B.INSERT语句用于插入数据
C.UPDATE语句用于删除数据
D.DELETE语句用于删除数据
答案:C
解析:UPDATE语句用于更新数据,DELETE语句用于删除数据,所以C选项错误。
15.在C++中,以下哪个是类的构造函数的特点?
A.构造函数有返回值
B.构造函数的名称与类名不同