CVTE2019秋招提前批C++研发工程师笔试题
单选题
1、在以太网中用直线链接两台主机A(IP.192.168.1.20,子网掩码:255.255.255.240)和主机B(IP:192.168.1.201,子网掩码:255.255.255.240),但在两台主机间使用Ping命令时会返回失败。以下哪些措施可以使Ping命令返回成功?
A. 两台主机间的连接应该使用交叉线来代替直连线
B. 两台主机需要设置默认网关地址
C. 两台主机的子网掩码地址应该设置成255.255.255.192
D. 两台主机间的连接应该使用全反线来代替直连线
E. 两台主机的子网掩码地址应该设置成255.255.255.0
E
2、如下哪个表示一个指向整型数的常指针(D)
A. int const * a const;
B. Const int *a
C. 以上都不对
D. In * const a
D
3、以下属于哈希算法的有( A )
A. SHA-256
B. RSA
C. KMP
D. MD5
A
4、无向图G=(V,E),其中V=(a,b,c,d,e,f) , E=(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d),对图像进行深度优先遍历,得到的顶点序列正确的是()
A. a, e, d, f, c, b
B. a,e, b,c , f, d
C. a, c, f,e ,b, d
D. a, b, e ,c, d,f
A
5、Std::move的作用是什么?
A. 把指针转换成引用
B. 把右值转换成左值
C. 把左值转换成右值
D. 把引用转换成左值
C
6、如果你想列出当前目录以及子目录下所有内容所包含CVTE字符串,且扩展名为“h”的文件,那么您可以使用的命令是(A)
A. find . -name “*.h”|xargs grep-| “CVTE”
B. find .-name “*.h”|grep-\ “CVTE”
C. Grep-r| “CVTE” .|xargs grep”\.h$”
D. Grep-r| “CVTE .|grep”\.h$”
A
7、下列排序算法中,哪些时间复杂度不会超过O(N*log2N) (D)
A. 快速排序
B. 冒泡排序
C. 归并排序
D. 堆排序
D
8、若用数组A(0..6)来实现循环队列,且当前rear和front的值分别为2和6,当从队列中删除3个元素,再加入4个元素后,rear和front 的值分别为( )
A.3 , 5
B.1, 4
C.4, 1
D.5, 3
没有选项,答案应该是6,2
删除一个元素后,队首指针要加1,front=(front+1)%6,每加入一个元素队尾指针加一,即real=(real+1)%6
9、文件file1的访问权限为rw-r-r-,现要增加所有用户的权限和同组用户的写权限,下列命令正确的是(A)
A. chmod a+x,g+w file1
B. Chmod 775 file1
C. Chmod 765 file1
D. Chmod a+x,o+w file1
A
10、在32为环境下执行以下代码,输出结果是( )
classA
{
public:
Void fun(){}
Private:
Float a;
Char b;
Int c[2];
};
cout<< “ “<< sizeof(A);
A.17
B.16
C.13
D.20
B
11、C++中this的下列说法正确的是?
A. 在类的非静态函数中,this指针由函数的调用者传入
B. this指针是指类的函数成员的指针
C. 在类的函数中,可以获取到this指针
D. This指针存在于每个函数之中
A
12、C++的继承中下列说法正确的是(A)
A. 子类的this指针地址和父类的this指针地址值不一定相等
B. 使用对象引用调用虚函数可以实现多态
C. 使用对象引用调用函数不可能实现多态
D. 子类的this指针地址和父类的this指针地址值一定相等
A
13、对以下stTest结构体赋值,正确的说法是?(C)
Typedef stuct
{
U8 Bass;
U8Treble;
U16EQ[3];
U8*pPEQTable;
} stSoundModeSeting;
stSoundModeSeting stTest;
stSoundModeSeting stDefault={50,50{10,10,10,},NULL};
A. 属于逐一成员赋值
B. 可使用如下赋值 memcpy(&stDefault,sizeof(stTest);
C. 可使用如下赋值stTest=stDefault;
C
14、以读写方式打开一个已有文本文件file1,下面fopen函数正确的调用方式是D
A. fp=fopen(“file1”,”w”)
B. fp=fopen(“file1”,”r”)
C. Fp=fopen(“file1”,”rb”)
D. fp=fopen(“file1”,”r+”)
D
15、下面的linux命令可以创建文件的由(C)
A. vim
B. touch
C. Cat
D. Is
C
16、某二叉树结点的中序遍历序列为G、C、B、D、A、F、E,后序遍历序列为G、D、B、F、E、A,则其左子树中结点数目为( )
A.5
B.3
C.2
D.4
没有答案,因为后序遍历的序列不完整
17、在一个单CPU的处理机中,有P1,P3,P5三个作业,有有个IO设备|O1, |O2,并且能够实现抢先式多任务并进行工作的多道程序环境中,投入运行优先级由高到低P5,P1,P3三个作业,他们用用设备的先后顺序和占用设备时间分别为(A )
A.0.39
B.0.5
C.0.43
D.0.26
E.0.18
A
18、以下关于Windows 32位系统与64位系统的区别,哪些描述正确(E )
A.32位系统只能使用3.25-3.5g以内的内存,64位系统可支持4g内存以上
B.64位系统下注册表software、WOW6432Node用于存储64位程序配置信息
C.64位系统运行速度一定比32位系统的快一倍
D.32位系统只能运行32位程序,64位系统能完美兼容32位和64位程序
E.32位处理器只能运行32位系统,64位处理器能运行32位和64位系统
E
19、一个UDP用户数据的数据字段为6480字节,在数据链路层要使用以大网来传送,试问应该划分为几个IP数据报片?
A.8
B.6
C.7
D.5
D
20、由n个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( )
A.1至n-1
B.1至n
C.1至-n
D.1至1-n
D
编程题
21、编写一个函数:char*trim(char*src,const char*sub)在一个字符串中,删除指定的字符串后面的所有字符(原子字符中所有的指定字符串需要保留),然后退回最终结果。
示例:
-输入:helloabcwelcome,abc输出:hellabac
-输入:cvteabc123abccvte,abc输出:cvteabcabc
22、一个长度为size的整型无序数组,已知其中有一个元素出现的次数超过size>>1,另外一个元素出现的次数超过size>>2,请找出这两个元素,要求时间复杂度O(size),空间复杂度O(1)。
实用函数:
void getMagority(int*array,int,size,int size,int& output1,in& output2)
示例:
-输入:array=(3 , 3, 4 ,3 , 2 , 4 ,3, 3, 3 ,4) ,size=10
-输入:output1=30utput2=4