1、下列关于 clone 和 fork 的区别描述正确的有?
2021-05-27 01:20:18
- A、 clone和fork最大不同在于fork不再复制父进程的栈空间,而是自己创建一个新的。
- B、 clone和fork最大不同在于clone不再复制父进程的栈空间,而是自己创建一个新的。
- C、 clone是fork的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等
- D、 fork是clone的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等
回答正确 正确答案: C
解析:
fork() 函数复制时将父进程的所以资源都通过复制数据结构进行了复制,然后传递给子进程,所以 fork() 函数不带参数; clone() 函数则是将部分父进程的资源的数据结构进行复制,复制哪些资源是可选择的,这个可以通过参数设定,所以 clone() 函数带参数,没有复制的资源可以通过指针共享给子进程
2、在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用的语句是( )。
2021-05-27 01:20:50
- A、 p=q->next
- B、 p->next=q
- C、 p->next=q->next
- D、 q->next=NULL
回答正确 正确答案: C
解析:
略
3、任何一个带权的无向连通图的最小生成树()
2021-05-27 01:21:06
- A、 只有一棵
- B、 有一棵或多棵
- C、 一定有多棵
- D、 可能不存在
回答正确 正确答案: B
解析:
树是e=v-1边数最少的无向连通图,故必有树(至少一棵)。 也可以有多棵最小生成树,例如图(i-j k :点i到j间有边且权为k): 1-2 1 2-3 1 1-3 1 选边1-2,2-3是边权和为2的最小生成树; 选边1-3,2-3也是边权和为2的最小生成树。 所以选B
4、给定如下代码: int x[4]={0}; int y[4]={1}; 数组x和y的值为()
2021-05-27 01:21:27
- A、 {0,0,0,0},{1,1,1,1}
- B、 {0,0,0,0},{1,0,0,0}
- C、 {0,不确定},{1,不确定}
- D、 与编译器相关
回答正确 正确答案: B
解析:
如果初始化时指定的的元素个数比数组大小少, 剩下的元素都回被初始化为 0 。
5、设某颗二叉树中有360个结点,则该二叉树的最小高度是?(包括根节点)
2021-05-27 01:25:12
- A、 10
- B、 9
- C、 8
- D、 7
回答正确 正确答案: B
解析:
深度为h的二叉树最多有2^h-1个节点,因此h最小取9
6、设哈希表长为8,哈希函数为Hash (key)=key%7。初始记录关键字序列为(32,24,15,27,20,13),用链地址法作为解决冲突方法的平均查找长度是( )
2021-05-27 01:26:16
- A、 1.4
- B、 1.5
- C、 1.6
- D、 1.7
回答正确 正确答案: B
解析:
链地址法作为解决冲突方法:冲突以后变成链表,查询次数增加 32%7=4(查一次) 24%7=3(查一次) 15%7=1(查一次) 27%7=6(查一次) 20%7=6(查两次) 13%7=6(查三次) ASL=(14+21+3*1)/6=1.5
7、设字符型变量x的值是064,表达式 ~ x ^ x << 2 & x 的值是()
2021-05-27 01:30:36
- A、 0333
- B、 333
- C、 0x333
- D、 020
回答正确 正确答案: A
解析:
064(八进制) == 00110100(二进制),运算顺序 ~,<<,&,^
8、关于内存的分配与释放,下列说法正确的是
2021-05-27 01:31:52
- A、 C语言的内存分配及释放为new/delete函数。
- B、 realloc调用形式为(类型*)realloc(*ptr,size):将ptr内存大小增大到size。
- C、 C++语言常用的内存分配及释放函数有:malloc,calloc,realloc,free等。
- D、 malloc和calloc函数的参数个数是一样的
回答正确 正确答案: B
解析:
A选项,C语言没有 new 和 delete,并且 new 和 delete 也不是函数
C选项,应为 new 和 delete
D选项,malloc 有1个参数,calloc 有2个参数
9、下列程序的输出结果是
#include <stdio.h>
void f()
{
static int i = 15;
i++;
printf("i=%d ", i);
}
int main()
{
for (int k = 0; k < 2; k++)
f();
return 0;
}
2021-05-27 01:32:25
- A、 i=16 i=15
- B、 i=15 i=17
- C、 i=16 i=17
- D、 i=15 i=16
回答正确 正确答案: C
解析:
静态(static)变量只初始化一次
10、【简答题】(10-10)
map和unordered_map区别
解答视频:https://www.bilibili.com/video/BV1CQ4y1R7Yg
=====================================================================
20210526,一天又快过去了,继续加油鸭~