1、两个等价线程并发的执行下列程序,a为全局变量,初始为0,假设printf、++、--操作都是原子性的,则输出肯定不是哪个?
void foo() {
if(a <= 0) {
a++;
}
else {
a--;
}
printf("%d", a);
}
A 01
B 10
C 12
D 22
2、在有序表(5,8,36,48,50,58,88)中二分查找字58时所需进行的关键字比较次数是(),对应的判定树高度为()。
A 2,2
B 2,3
C 3,2
D 3,3
3、对于一个已经不被任何变量引用的对象,当垃圾回收器准备回收该对象所占用的内存时,将自动调用该对象的哪个方法()
A finalize
B notify
C notifyAll
D hashCode
4、#include
void test(void *data) {
unsigned int value = (此处应填入)
printf("%u", value);
}
using namespace std;
int main() {
unsigned int value = 10;
test(&value);
return 0;
}
A *data
B (unsigned int)(*data)
C (unsigned*)data
D *((unsigned int *)data)
5、将一个递归算法改为对应的非递归算法时,通常需要使用( )。
A 优先队列
B 队列
C 循环队列
D 栈
6、关于linux的I/O复用接口select和epoll,下列说法错误的是()
A select调用时会进行线性遍历,epoll采用回调函数机制,不需要线性遍历
B select的大连接数为FD_SETSIZE
C select较适合于有大量并发连接,且活跃链接较多的场景
D epoll较适用于有大量并发连接,但活跃连接不多的场景
E epoll的效率不随FD数目增加而线性下降
F epoll通过共享存储实现内核和用户的数据交互
7、请说出const与#define 相比,有何优点 ?
A 宏常量有数据类型,而const常量没有数据类型
B 有些集成化的调试工具可以对const 常量进行调试,但是不能对宏常量进行调试
C 编译器可以对const进行类型安全检查。而对#define只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误。
8、稀疏矩阵压缩的存储方法是:()
A 三元组
B 二维数组
C 散列
D 十字链表
9、文件aaa的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列哪些命令是正确的?
A chmod a+x g+w aaa
B chmod 764 aaa
C chmod 775 aaa
D chmod o+x g+w aaa
10、下列说法错误的是 ()
A 利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,这种形式的栈也称为顺序栈
B top=0 时为空栈,元素进栈时指针 top 不断地减 1
C 当top等于数组的大下标值时则栈满
D 栈不能对输入序列部分或全局起求逆作用
参考答案:
一、1~5:ABADD 6~10:C BC AD AC BD
Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5,京公海网安备11010802025203号