资源描述
2022届校招・C++开发工程师笔试
试题说明:
本卷共30道题,其中单项选择题25道、多项选择题5道答题限时40分钟,预祝答题顺利。
—、单项选择题(共25道)以下哪一项不是面向对象程序设计语言的基本特征()[单项选择题]*
A. 封装继承
B. 接口 (正确答案)多态
1. 关于引用与指针的区别,下面表达错误的选项是:0 [单项选择题]*引用必须被初始化,指针不必
A. 删除空指针是无害的,不能删除引用不存在指向空值的引用,但是存在指向空值的指针
B. 指针初始化以后不能被改变,引用可以改变所指的对象:确答案)以下关于构造函数的描述正确的选项是。[单项选择题| *
A. 构造函数必须与类名相同⑴确答案)构造函数可以声明返回类型
B. 构造函数不可以用private修饰构造函数不能带参数
2. C++将父类的析构函数定义为虚函数,以下正确的选项是哪个()【单项选择题]释放子类指针时能正确释放父类对象
A. 堆排序归并排序(正确答案)
B. 直接插入排序设n是描述问题规模的非负整数,下面程序片段的时间复杂度是()。
x=2;whilc(x<n/2)
x=2*x;[单项选择题]*O(log2n)(IE 确答案)
A. O(n)O(nlog2n)
B. O(n2)在支持多线程的系统中,某进程创立了 3个线程,那么不能被这3个线程共享的
是()[单项选择题]*进程的代码段
A. 进程所翻开的文件进程中定义的全局变量
B. 线程中的栈变量正确答案)在操作系统中,临界区是()[单项选择题]*
A. 进程的共享正文段进程中访问临界资源的程序段.E桃笞案)
B. 进程访问系统资源的程序段进程访问外部设备的程序段
二、多项选择题(共5道)1.下面关于const正确的选项是? ()*
A. 欲阻止一个变量被改变,可以使用const关键字(正确答言在定义该const变量时,不用将其初始化
B. 在一个函数声明中,const可以修饰形参,说明它是一个输入参数,在函数内部 不能改变〔正确答案)对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不 为''左值''(正确答案)
2. 下面关于类和对象的描述中,正确的选项是:()*类就是C语言中的结构体类型,对象就是C语言中的结构体变量
A. 类和对象之间的关系是抽象和具体的关系王确答案)对象是类的实例,一个对象必须属于一个的类【正确答案)
B. 类是具有共同行为的假设干对象的统一描述体。确答案)下面哪些性质属于传统关系数据库事务的基本特征:()*
A. 原子性:正确答案)—致性正确答案)
B. 容错性持久性(正确答案)
3. TCP/UDPT面正确的选项是()*Both TCP and UDP provide retransmission mechanism;
A. TCP also provides flow controls正碰答芸)Both TCP and UDP provide reliability service;
B. TCP provide connection-oriented,byte-stream service, 礁答奚)公司网络中心存储服务器IP地址是92,T面是各部门计算
机IP地址,哪些计算机可以访问存储服务器()*10(正确答奚)
A. 10.0.1.96(:
B. 基本信息:I矩阵文此题]*
姓名:
学校:
专业:
最高学
历:
联系电
话:
B. 这样做是错误的释放父类指针时能正确释放子类对象上确答案)
C. 以上全错下面有关空指针和未初始化指针,说法错误的选项是?()[单项选择题]*
A. 对0x0这个地址取值是非法的malloc在其内存分配失败时返回的是一个未初始化的指针正破答案)
B. 空指针可以确保不指向任何对象或函数;而未初始化指针那么可能指向任何地方空指针与任何对象或函数的指针值都不相等
3. 假定指针变量p定义为“int *p=new血(100);”,要释放p所指向的动态内存,应使 用语句()[单项选择题]*delete *p;
A. delete p;(正确答案)delete &p;
B. delete []p;关于重载函数,哪个说明是正确的?()[单项选择题]
A. 函数名相同,参数类型或个数不同(正伊答案)函数名相同,返回值类型不同
B. 函数名相同,函数内部实现不同函数名称不同
4. 如果默认参数的函数声明为"void fun(int a, char b='a\ double c=3.2, int d=l);”,那么 下面调用写法正确的选项是()o |单项选择题|fun();
A. fun(2, 3.2);fun(2, ,8, 3.14)(正确答案)
B. fun(int a=l);选择表达式11|10的结果(此题数值均为十进制)()1单项选择题]*
A. 102
B. 8ll(正确答案)
5. 下面关于类的继承与派生的程序,其输出结果是()#include<iostream>
using namespace std;class A
(public:
A()(cout«,'An;});
class B1
public:
B()(cout«"B";));
class C:public A{
Bb;public:
C(){cout«”C”;}};
int main()(
C obj;
return 0;} I单项选择题1
A. CBABAC
B. ACBABC正A答案)
6. 下面代码执行后的结果为()int main()
(
int sum=0;
int i=0,j=0;
for(j=0;j<8;j++)
(if(j%2) continue; sum += j;
)
printf("sum=%d"/sum);
return 0;}[单项选择题]*
A. sum=10sum=l 1
B. sum=12 IF确答案)其他几项都不对
7. 对于以下递归函数f,调用f(5)的返回值是()。
int f(int n)
if(n) return f(n-I) + n;
else return n;}[单项选择题]*
A. 1015( E确答案)
B. 1221
8. 如下代码输出结果是什么()
#include<stdio.h>
char *myString()
{
char buffer[6] = {0};
char *s = "Hello+Coremail!";
for (int i = 0; i < sizeof(buffer) -1; i++)
(buffer[i] = *(s + i);
)
return buffer;
}
int main(int argc, char * *argv)
{
printf("%s\n", myStringO); return 0;
}[单项选择题]*Hello
A. Hello+Coremail!
B. Corema以上全部不正确E确?
9. 以下程序的输出结果是()
#include<iostream>
using namespace std;
class Base
(
public:
virtual void show() (cout«" In Base";)
);
class Derived: public Base
(
public:
void show() (cout«" In Derived";)
};
int main(void)
(
Base *bp = new Derived; bp->show();
Base &br = *bp;
br.show(); return 0;
}[单项选择题]*In Derived In Derived(正确答D)
A. In Base In DerivedIn Base In Base
B. In Derived In Base
10. 以下程序输出的结果为()
//include <iostream>
using namespace std;
int main()
(
int x = -1;
try{cout« "Inside try"« std::endl;
if (x < 0){
throw x; cout« "After throw"« std::endl;)
}
catch (int x) (cout« "Exception Caught" « std::endl;
)cout«"After catch" « std::endl; return 0;
I单项选择题I
)Inside try
Exception CaughtAfter throw
After catchA.
Inside tryException Caught
After catch
B.
Inside tryException Caught
C.
Inside tryAfter throw
After catchD.
11. 在包含1000个元素的线性表中实现如”下各运算,所需执行时间最长的是()[单项选择题]*
A. 线性表按顺序方式存储,删除线性表的第900个结点线性表按链式方式存储,删除指针P所指向的结点
B. 线性表按顺序方式存储,在线性表的第100个结点后面插入一个新结点(正确答 案)线性表按链式方式存储,在线性表的第100个结点后面插入一个新结点
12. 设哈希表长m=13,哈希函数H(kcy)=kcy MOD 11 o表中已有4个节点:addr(16)=5,addr(28)=6,addr(84)=7,addr(19)=8其余地址为空,如用线性探测再散列
处理冲突,那么关键字为38的地址为()[单项选择题]9(正确答案)
A. 68
B. 4—个栈的输入序列为1234,那么以下序列中是栈的输出序列的是()o [单项选择题]
A. 234K 正 44132
B. 3124I423
13. 以下STL的容器存放的数据,哪个肯定是排好序的()[单项选择题]*vector
A. map(正确答案)list
B. deque折半查找有序表(2,10,25,35,40,65,70,73,75,81,82,88,100),假设查找元素 75,需依 次与表中元素()进行比拟。[单项选择题]
A. 70, 81,7570, 82, 75
B. 70, 82, 75,7370,81,73,75(正确答案)
14. —组记录的排序码为(46, 79, 56, 38, 40, 84), —趟排序的结果为(40,38, 46, 56, 79, 84),那么采用的是()排序算法。[单项选择题]*
A. 冒泡直接插入
B. 快速(正确答案)2路归并
15. 如果需要在0 (nlog2n)的时间复杂度内完成对含有n个元素的关键字序列进行 稳定性排序,可以选择的排序方法是()[单项选择题]*A.快速排序
展开阅读全文