声网2020校招-通用C++笔试题

时长:120分钟 总分:100分

231浏览 0人已完成答题

题型介绍
题型 单选题 填空题
数量 25 2
1.
下面数据结构能够支持随机的插入和删除操作、并具有较好的性能的是____。
问题详情






2.
计算机操作系统出现死锁的原因是什么?
问题详情




3.
操作系统中两个进程争夺同一个资源会发生什么情况?
问题详情




4.
下列有关NAT叙述错误的是?
问题详情

下列有关NAT叙述错误的是( )




5.
假设A为抽象类,下列声明什么是正确的?
问题详情

假设A为抽象类,下列声明( )是正确的




6.
若有以下程序段,则该程序段的功能是?
问题详情

若有以下程序段:

……

int a[]={4,0,2,3,1},i,j,t

for(i=1i<5i++)

{

t=a[i]

j=i-1

while(j>=0&&t>a[j])

{

a[j+1]=a[j]

--j

}

a[j+1]=t

}

……

则该程序段的功能是:      





7.
下述有关网络分层说法错误的是?
问题详情




8.
test.c文件中包括如下语句文件中,定义的四个变量,哪个变量不是指针类型?,
问题详情

test.c文件中包括如下语句:
#define INT_PTR int*
typedef int*int_ptr
INT_PTR a,b
int_ptr c,d
文件中定义的四个变量,哪个变量不是指针类型?






9.
下列不属于hash碰撞解决方法的是()。
问题详情






10.
tcp三次握手创建连接,双方交互的报文中SYN和ACK的序列是什么样的()
问题详情




11.
下面代码会输出什么?
问题详情

下面代码会输出什么()
int main(int argc, char **argv)
{
    int a[4] = {1, 2, 3, 4}
    int *ptr = (int *)(&a + 1)
    printf("%d", *(ptr - 1))
}





12.
下面程序的输出是?
问题详情

下面程序的输出是()
class A
{
public:
    void foo()
    {
        printf("1")
    }
    virtual void fun()
    {
        printf("2")
    }
}
class B: public A
{
public:
    void foo()
    {
        printf("3")
    }
    void fun()
    {
        printf("4")
    }
}
int main(void)
{
    A a
    B b
    A *p = &a
    p->foo()
    p->fun()
    p = &b
    p->foo()
    p->fun()
    A *ptr = (A *)&b
    ptr->foo()
        ptr->fun()
    return 0
}




13.
操作系统中关于竞争和死锁的关系下面描述正确的是?
问题详情




14.
数组a的定义语句为“float a[3][4]”,下列()是对数组元素不正确的引用方法。
问题详情




15.
一棵完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有()
问题详情




16.
在 TCP/IP 参考模型中 TCP 协议工作在()
问题详情

TCP/IP 参考模型中 TCP 协议工作在()





17.
OSI(开放系统互联)参考模型的最低层是()
问题详情




18.
假设二叉排序树的定义是:1、若它的左子树不为空,则左子树所有节点均小于它的根节点的值;2、若右子树不为空,则右子树所有节点的值均大于根节点的值;3、它的左右子树也分别为二叉排序树。下列哪种遍历之后得到一个递增有序数列()
问题详情




19.
下列代码的运行结果是() int a[]={1,2,3,4} int *b=a *b+=2 *(b+2)=2 b++ printf(“%d,%d\n”,*b,*(b+2))
问题详情

下列代码的运行结果是()
int a[]={1,2,3,4}
int *b=a
*b+=2
*(b+2)=2
b++ 
printf(“%d,%d\n”,*b,*(b+2))




20.
假设用于通信的电文由 5 个字母组成,字母在电文中出现的频率分别为 2,4,5,7,8 根为第一层,用这 5 个字母设计哈弗曼树带权路径长度为()
问题详情

假设用于通信的电文由 5 个字母组成,字母在电文中出现的频率分别为 2,4,5,7,8 根为第一层,用这 5 个字母设计哈弗曼树带权路径长度为()





21.
在分时操作系统中,进程调度采用()算法
问题详情




22.
32位环境下,给定结构体 Struct A { Char t:4 Char k:4 Unsigned short i:8 Unsigned long m } 问 sizeof ( A ) =_____
问题详情

32位环境下,给定结构体

Struct A

{

Char t:4

Char k:4

Unsigned short i:8

Unsigned long m

}
sizeof A =_____




23.
一个西瓜切三次,最多可被分成多少块?
问题详情




24.
关于操作系统内存管理中堆与栈的下列描述,哪一项是错误的()
问题详情




25.
有 12 个球,外形相同,其中一个小球的质量与其他 11 个不同,给一个天平,最少次数把这个小球找出来并且求出这个小球是比其他的轻还是重()
问题详情

12 个球,外形相同,其中一个小球的质量与其他 11 个不同,给一个天平,最少次数把这个小球找出来并且求出这个小球是比其他的轻还是重()




26.
24点运算
问题详情

计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), (/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王: 

                   3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER

本程序要求实现:输入4张牌,输出一个算式,算式的结果为24点。 

详细说明: 

1.运算只考虑加减乘除运算,没有阶乘等特殊运算符号,友情提醒,整数除法要当心 
2.牌面2~10对应的权值为2~10, JQKA权值分别为为1112131 
3.输入4张牌为字符串形式,以一个空格隔开,首尾无空格;如果输入的4张牌中包含大小王,则输出字符串“ERROR”,表示无法运算; 
4.输出的算式格式为4张牌通过+-*/四个运算符相连,中间无空格4张牌出现顺序任意,只要结果正确; 
5.输出算式的运算顺序从左至右,不包含括号,如1+2+3*4的结果为24
6.如果存在多种算式都能计算得出24,只需输出一种即可,如果无法得出24,则输出“NONE”表示无解。

输入描述:

输入4张牌为字符串形式,以一个空格隔开,首尾无空格;

输入样例: A A A A 输出描述:
如果输入的4张牌中包含大小王,则输出字符串“ERROR”,表示无法运算; 
输出样例 NONE
27.
观赏风景
问题详情

有 n 座摩天大楼等间距地排成了一排,你对从哪座摩天大楼的顶端欣赏风景这个问题很感兴趣。每一座摩天大楼都可以被抽象为一条在二维平面上的一条线段。你现在知道第 i 座大楼的高度为 hi ,对应在二维平面上就是(i , 0)到(i , hi)的一条线段。

你现在想到能看到最多楼顶的大楼去,从第 i 座大楼能看到第 j 座大楼当且仅当连接这两个楼顶的线段不与任何其他高楼对应的线段接触或相交。现在要请选择一座能看到最多其他楼顶的大楼。

输入描述:

每组测试用例仅包含一组数据,每组数据第一行为一个正整数 n (1 ≤ n ≤ 60) , 接下来一行有 n 个整数 hi 表示第 i 座大楼的高度( 1 ≤ ai ≤ 1000000000)。

输入样例: 5 1 2 7 3 2 输出描述:

输出一个数,代表你最多能看到的其他楼顶数量。

对于样例,从第 3 座大楼楼顶可以看到其他所有楼顶。

输出样例 4