每日一练20210526

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,一天又快过去了,继续加油鸭~
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值