题目皆为不定项选择题,都选对为4分,选不全为2分,选错一个0分。
1、 对于 int *pa[5]; 的描述,正确的是()
A. pa是一个指向数组的指针,所指向的数组是5个int型元素
B. pa是一个指向某个数组第5个元素的指针,该元素是int型变量
C. pa[5]表示某个数组的第5个元素的值
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针
关键词:指针数组与数组指针
指针数组:是一个数组,数组中每个元素是一个指针
数组指针:是一个指针,指向一个具有n个元素的数组
这两个概念很容易混淆。其实只要记住优先级就好了:() > [ ] > *
int *pa[5]:下标符号[ ] 和优先级大于*,所以这是一个数组,即指针数组。
int (*pa)[5]:括号() 的优先级大于下标符号,所以先看括号内的内容,即指针*,所以这是一个指针,即数组指针。
参考答案:D
2、 IPV4中,数据报传播方式包括以下的()
A. 广播 B. 单播 C. 任播 D. 组播
关键词:广播、单播、组播
IPV4不支持任播(anycast),IPV6支持。
单播(unicast):点到点一对一通信。将数据包发送到某一主机
广播(broadcast):将数据包发送到局域网内所有主机
组播(multicast):又叫多播,传播范围介于单播和广播之间。将数据包发送到加入同一组的主机
参考答案:C
3、 下面关于友元函数的描述中,正确的说法是()
A. 友元函数是独立于当前类的外部函数
B. 一个友元函数不可以同时定义为两个类的友元函数
C. 友元函数必须在类的外部进行定义
D. 在类的外部定义友元函数时必须加上friend关键字
关键词:友元
友元的出现其实是对面向对象编程思想的一种挑战,因为它破坏OO编程中信息封装的特性,使得一个外部函数可以操纵一个类的私有成员。这样做的好处大概是提高了编程的灵活性并精简了代码。不必像Java那样到处充斥getter和setter方法了。
友元函数并不是类的组成部分,但是它却可以在类内部直接定义,但其作用域并不仅限于类内部,而是和该类的作用域相同,即类外部(但不超出类的作用域的地方)也可见。
友元函数需要访问类的非static成员时,在声明时需要以该类的对象作为参数。
友元参数需要访问类的static成员时,在声明时不需要以该类的对象作为参数。
friend只能用在类内部,在类外定义友元函数内容的时候,不能加friend关键字,否则报错。
友元不是类的组成部分,所以可以定义为多个类的友元(多次重载即可)。
参考答案:A
4、 以下关于数据库中索引的描述正确的是()
A. 只要允许,任何时候都应该添加索引以加快查询速度
B. 无论记录多少,使用索引都能给查询带来性能提升
C. 每次update/ / 操作都会导致索引被重新更新
D. 索引可以避免全表扫描
关键词:索引
数据库的索引并非越多越好,索引的增加会提交查询速度,但是会减慢数据库的修改速度,因为每一次修改都有更新索引,此外还会浪费存储空间(用于维护索引信息)。
此外,我个人认为:记录不多的情况下,使用索引并不能带来性能提升。
参考答案:CD
5、 事务的原子性是指()
A. 事务一旦提交,对数据库的改变是永久的
B. 事务中包括的所有操作要么都做,要么都不做
C. 一个事务内部的.操作及使用的数据对并发的其他事务时隔离的
D. 事务必须使数据库从一个一致性状态变到另一个一致性状态
关键词:ACID、事务特性
原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要们都不做。
一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性(Isolation):对并发执行而言,一个事务的执行不能被其他事务干扰。
持续性(Durability):一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。
参考答案:B
6、 时间复杂度为O(nlog2n)的排序算法有()
A. 快速排序 B. 堆排序
C. 冒泡排序 D. 折半插入排序
关键词:排序算法
在常见排序算法中,时间复杂度为O(nlog2n) 【这里指的是n乘以log以2为底的n】的有:快速排序、归并排序、堆排序
折半插入排序虽然减少了比较顺序,性能较一般的插入排序得到了提升,但是其时间复杂度不变,仍然是O(n^2)。
参考答案:AB
7、 软件工程师一种()分阶段实现的软件工程开发的方法
A. 自底向上
B. 自顶向下
C. 逐步求精
D. 面向数据流
关键词:软件工程
参考答案:B
8、 Linux操作系统中有如下的文件结构:
$HOME/aaa
$HOME/aaa/bb/
$HOME/aaa/my.c
请问如果要删除aaa文件夹,要执行的操作是:()
A. rm -rf $HOME/aaa
B. rmdir -f $HOME/aaa
C. rmdir $HOME/aaa
D. rm $HOME/aaa
关键词:rm、rmdir
很多人可能会误选rmdir。rmdir虽然从字面上理解是删除文件夹,但是它是删除空文件夹。并且rmdir 没有-f这个选项
rm的两个选项:-r 表示递归,即删除文件夹及其子文件和子文件夹。-f 表示force即暴力,无视提示信息。由题干可知,该文件夹并非空文件夹。
参考答案:A