【求职】搜狗2016 C++笔试题

news2024/11/24 7:40:41

1.关于重载和多态正确的是?

A.如果父类和子类都有相同的方法,参数个数不同,将子类对象赋给父类后,由于子类继承于父类,所以使用父类指针调用父类方法时,实际调用的是子类的方法;

B.选项全部都不正确

C.重载和多态在C++面向对象编程中经常用到的方法,都只在实现子类的方法时才会使用

D.

class A{

void test(floata){cout<<"1";}

};

class B:public A{

void test(intb){cout<<"2";}

};

A *a=new A;

B *b=new B;

a=b;

a.test(1.1);

结果是1

解析:A中由于没有说明使用虚函数,使程序有多态性,所以实际是调用父类的方法;

C中重载在一般函数中也会使用;

D中,题目有2个错误,class A中,需添加成员函数的Public访问属性,否则在类外不能访问成员函数,并且指针对象的访问方式只能使用间接访问方式,即a->test(1.1)或者(*a).test(1.1),同样,由于没有多态性,输出结果为1,若class A中test函数为virtual,则输出2

2.现有两堆硬币,小明和小亮玩游戏,每次每人只能从其中一堆中取走1个或2个硬币,最后将硬币取完者算作胜利,当两堆硬币的个数分别是12,13时,小明应该如何安排策略才能必定获得胜利?

A.安排小亮先取硬币;

B.小明或小亮均一定必胜

C.安排自己先取硬币

D.不可能必胜

解析:很好理解,小明先从13个里面取出一个,剩下12个,以后的取法就是:无论小亮每次取多少个,自己都从另外一堆中取相同的个数,则可保证自己会取胜,因为两堆都是12个。

3.不考虑任何编译器优化(如:NRVO),下述代码的第10行会发生

#include //1

class B//2

{//3

};//4

B func(const B& rhs){//5

return rhs;//6

}//7

int main(int argc,char **argv){//8

B b1,b2;//9

b2=func(b1);//10

}//11

A.一次默认构造函数,一次拷贝构造函数,一次析构函数,一次(拷贝赋值运算符)operator=

B.二次拷贝构造函数,一次析构函数

C.一次(拷贝赋值运算符)operator=,一次析构函数

D.一次拷贝构造函数,一次析构函数,一次(拷贝赋值运算符)operator=

解析:b2=func(b1),首先b1作为形参传递到const B& rhs,会发生拷贝构造函数,然后fun函数结束时发生析构函数,最后是operator=,赋值给b2.

4.下面代码的输出结果是()

int main(){

int pid;

int num=1;

pid=fork();

if(pid>0){

num++;

printf("in parent:num:%daddr:%x\n",num,&num);

}

else if(pid==0){

printf("in child:num:%daddr:%x\n",num,&num);

}

A.父子进程中输出的num相同,num地址不相同

B.父子进程中输出的num不同,num地址相同

C.父子进程中输出的num相同,num地址也相同

D.父子进程中输出的num不同,num地址不相同

5.关于以下代码中的变量在内存中的存储位置描述不正确的是()

int a=0;

class someClass{

int b;

static int c;

};

int main(){

int d=0;

someClass *p=new someClass();

return 0;

}

A.b存在堆区

B.c存在堆区

C.d存在栈区

D.a存在全局变量区

解析: C应该在全局静态区

6.以下代码段有问题的是()

A.void func1(char *e){

char *p1;

p1=malloc(100);

sprintf(p1,error:"%s'.",e);

local_log(p1);

}

B. int func2(char *filename)

{

FILE *fp;

int key;

fp=fopen(filename,"r");

fscanf(fp,"%d",&key);

return key;

}

C.voidfunc3(char *info){

char *p,*pp;

p=malloc(100);

pp=p;

free(p);

sprintf(pp,*info:"%s'.",info);

free(pp);

}

D.选项全部都正确

解析:答案是ABC,答案是A申请了空间没有释放,答案B打开流没有关闭,答案C其实指针都是一块内存空间,free了二次,程序会因为内存错误崩溃.

7.请问该程序的输出是多少?

#include

int main()

{

unsigned char i=7;

int j=0;

for(;i>0;i-=3)

{

++j;

}

printf("%d\n",j);

return 0;

}

A.2

B.死循环

C.173

D.172

解析:unsigned char 8位数据位,范围0-255,

所以-2(11111110)时,溢出变成254;

同理-1(11111111)时,溢出变成255;

最后减到0时,不满足循环条件,for停止。

刚好173次。

7 4 1 -2 ==>共4次

254 251 ... 5 2 -1 ==>共85次

255 252 ... 6 3 ==>共85-1=84次(因为3-3=0,不能进入循环了)

所以总共173次。(相减相除)

更快捷的计算方法:256*2+7=519=173*3

8.快速排序在下面哪种情况下优势最明显()

A.数据有多个相同数值

B.数据基本有序

C.数据基本无序

D.数据无任何相同数值

9.下列各树形结构中,哪些是平衡二叉查找树:

图片

图片

图片

图片

解析:二叉平衡查找树:左子树中所有节点的值小于根的值,右子树中的所有节点的值大于根的值;左右子树的高度之差的绝对值为0或1,选C

10.下面哪种数据结构最适合创建一个优先级队列()

A.堆

B.双向链表

C.单向链表

D.栈

11.某个大型的网络游戏网站,现有几亿用户,为了实时获取前十名游戏分数最高的玩家,使用以下哪个排序算法比较合理()

A.基数排序

B.快速排序

C.二叉排序

D.堆排序

12.有A,B,C,D,E五个字符,出现的频率分别为2,5,3,3,4,由A,B,C,D,E生成的最优二叉树中,该树的带权路径长是多少()

A35

B.49

C.39

D.45

13.从根开始按层次(第0层->第1层->第2层)遍历一颗二叉树,需要使用什么辅助数据结构?()

A. heap

B.queue

C.binary tree

D.stack

14.假设MySQL数据库表:

create table T{

k int unsigned not null auto_increment,

a date,

b varchar(24),

c int,d varchar(24),

primary key(k),unique key a_index (a DESC,b DESC),

key k1(b),key k2(c),key k3(d));

如下哪些sql语句查询能较好的利用索引?()

A.select bfrom WHERE b like 'aaa%';

B.select a,bfrom T WHERE a='2015-10-25' ORDER BY b ASC,c ASC;

C.selecta,b,c from T WHERE a='2015-10-25' ORDER BY b ASC;

D.selecta,b,c from T WHERE a='2015-10-25' ORDER BY a,b;

15.在一个游戏的任务中,玩家需要进入1个山洞,取得宝石,之后回到入口.

山洞的地图如下:

S--------------------T

S是入口

T处有宝箱,打开宝箱之后可能得到的物品有:

1)宝石,出现概率为5%.

2)魔法券.出现概率为50%.玩家每消耗一个魔法券,可以直接传送到入口S.

3)什么也没有,概率为45%.

S到T的距离为1.

每次玩家回到S之后,宝箱T的状态会重置,再次进入山洞可以重新打开宝箱获得物品.

玩家的任务是到达T获取宝石之后回到入口S.如果到达T之后没有获得宝石,可以走出山洞之后再进入反复刷.

问题:玩家完成任务所走路程的数学期望是()

A.40

B.25

C.35

D.30

16.下面关于TCP的描述,错误的是()

A.TCP是一种面向连接的协议,给用户进程提供可靠的全双工的字节流

B.TCP客户端和服务器之间建立连接需要经过3次握手

C.只要有一方主动关闭连接后,这个TCP连接就结束了

D.只要有一方主动关闭连接后,这个TCP连接就结束了

17.关于进程和线程描述正确的是()

A.线程不拥有系统资源,但可以访问隶属于进程的资源

B.在创建或销毁进程时,系统开销明显大于创建或销毁线程时开销

C.进程是调度和拥有资源的基本单位

D.不仅进程自检可以并发执行,同一个进程的多个进程之间也可以并发执行

18.下面()哪个函数返回的有效句柄用完后不需要CloseHandle

A.CreateThread

B. GetCurrentProcess

C. OpenProcess

D. CreateFile

19. invalidateRect的作用是()

A.擦除一个矩形区域

B.删除一个矩形

C.使一个矩形区域变为无效,从而释放部分GDI资源

D.使一个矩形区域变为无效,从而可以重绘

20.典型的创建Windows窗口过程的流程为:()

A.注册窗口类->创建窗口->更新窗口->显示窗口->消息循环

B.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环

C.注册窗口类->创建窗口->显示窗口->更新窗口->消息循环

D.创建窗口->注册窗口类->更新窗口->显示窗口->消息循环

参考答案:

1.B 2.C 3.D 4.B 5.B 6.ABC 7.C 8.C 9.C 10.A

11.D 12.C 13.B 14.AD 15.D 16.C 17.ABCD 18.B 19.D 20.C

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1457581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用智能电销机器人,拓客效果更佳!

现在很多的企业做销售都离不开电话营销&#xff0c;它是一种能够直接帮助企业获取更多利润的营销模式&#xff0c;目前被各大行业所采用。 znyx222 了解探讨 电话营销是一个压力很大的职业&#xff0c;新员工培养难度大、老员工又不好维护&#xff0c;会有情绪问题出现等&…

Redis篇----第七篇

系列文章目录 文章目录 系列文章目录前言一、Redis 的回收策略(淘汰策略)?二、为什么 edis 需要把所有数据放到内存中?三、Redis 的同步机制了解么?四、Pipeline 有什么好处,为什么要用 pipeline?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍…

Java 21 新特性的扫盲级别初体验

一、前言 JDK 21 于 2023 年 9 月发布&#xff0c;作为目前讨论热度最高的JDK&#xff0c;虽然大家都开玩笑说你发任你发&#xff0c;我用Java8&#xff0c;但是作为一个Javaer&#xff0c;对JDK21的新特性还是要有所了解的。 以下是 JDK 21 的新功能列表&#xff1a; 虚拟线…

初阶数据结构之---导论,算法时间复杂度和空间复杂度(C语言)

说在整个初阶数据结构开头 数据结构其实也学了挺长时间了&#xff0c;说着是要刷题所以才没怎么去写关于数据结构方面的内容。数据结构作为计算机中及其重要的一环&#xff0c;如果不趁着假期系统整理一下着实可惜&#xff0c;我这里构想的是将初阶数据结构和高阶数据结构&…

Servlet原理学习

一、网站架构和Servlet技术体系架构 1.网站架构 现在的网站架构分为 B/S架构和C/S的架构两种。 这种“B/S”结构有很多好处&#xff0c;维护和升级方式更简单&#xff0c;客户端是浏览器&#xff0c;基本不需要维护&#xff0c;只需要维护升级服务器端就可以&#xff0c; C/S结…

[AudioRecorder]iPhone苹果通话录音汉化破解版-使用巨魔安装-ios17绕道目前还不支持

首先你必须有巨魔才能使用&#xff01;&#xff01; 不会安装的&#xff0c;还没安装的移步这里&#xff0c;ios17 以上目前装不了&#xff0c;别看了&#xff1a;永久签名 | 网址分类目录 | 路灯iOS导航-苹果签名实用知识网址导航-各种iOS技巧-后厂村路灯 视频教程 【Audio…

并发List、Set、ConcurrentHashMap底层原理

并发List、Set、ConcurrentHashMap底层原理 ArrayList: List特点&#xff1a;元素有放入顺序&#xff0c;元素可重复 存储结构&#xff1a;底层采用数组来实现 public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Clon…

【医学大模型 补全主诉】BioGPT + LSTM 自动补全医院紧急部门主诉

BioGPT LSTM 自动补全医院紧急部门主诉 问题&#xff1a;针对在紧急部门中自动补全主诉的问题子问题1: 提高主诉记录的准确性子问题2: 加快主诉记录的速度子问题3: 统一医疗术语的使用子问题4: 减少打字错误和误解子问题5: 提高非特定主诉的处理能力 解法数据预处理神经网络方…

选择结构switch

一、执行流程 所有case都和表达式的值不匹配&#xff0c;就会执行default语句体部分 从被匹配的位置开始执行&#xff0c;如果遇到break&#xff0c;那么退出选择结构 二、注意事项 1、case后面的【常量值】不能重复&#xff0c;不然编译器会报错 2、switch后面的小括号只…

数字化转型导师坚鹏:政府数字化转型之数字化技术

政府数字化转型之数字化技术 ——物联网、云计算、大数据、人工智能、虚拟现实、区块链、数字孪生、元宇宙等综合解析及应用 课程背景&#xff1a; 数字化背景下&#xff0c;很多政府存在以下问题&#xff1a; 不清楚新技术的发展现状&#xff1f; 不清楚新技术的重要应…

las数据转pcd数据

las数据转pcd数据 一、算法原理1.介绍las2.主要函数 二、代码三、结果展示3.1 las数据3.2 las转换为pcd 四、相关数据链接 一、算法原理 1.介绍las LAS文件按每条扫描线排列方式存放数据,包括激光点的三维坐标、多次回波信息、强度信息、扫描角度、分类信息、飞行航带信息、飞…

【已解决】d:\recording\2A327.mp3 (拒绝访问。)

在用JAVA程序&#xff0c;下载音频到本地文件夹的时候&#xff0c;显示拒绝访问。 一开始我以为是文件夹没有权限&#xff0c;但是在我赋予了写入权限后&#xff0c;仍然出现拒绝访问的提示。 我观察了一下&#xff0c;保存到本地的时候&#xff0c;多写了一层文件夹。因为到这…

【Git】:初识git

初识git 一.创建git仓库二.管理文件三.认识.git内部结构 一.创建git仓库 1.安装git 使用yum install git -y即可安装git。 2.创建仓库 首先创建一个git目录。 3.初始化仓库 这里面有很多内容&#xff0c;后面会将&#xff0c;主要是用来进行追踪的。 4.配置name和email 当然也…

WEB服务器的超级防护——安全WAF

随着网络和信息技术的不断发展&#xff0c;特别是互联网的广泛普及和应用&#xff0c;网络正在逐步改变人类的生活和工作方式。越来越多的政府和企业组织建立了依赖于网络的业务信息系统&#xff0c;例如电子政务、网络办公等。网络也对社会各行各业产生了巨大的影响&#xff0…

【Java基础知识(1)】对象在内存中的存储

Java对象是如何在内存中存储的&#xff1f; 在Java中&#xff0c;所有的对象被动态地分配在堆中。这和C不同&#xff0c;C允许对象被存储在堆或者栈中。 参考Oracle官方文档&#xff1a;官方文档说明 在Java中创建字符串对象的2种方法&#xff1a; 1、 使用String关键字&am…

Uiautomator2实现Android自动化测试详解

目录 1、UIautomator2框架原理 2、UIautomator2使用 2.1、安装 2.2、元素定位工具-weditor 2.3、设备连接 2.4、全局配置 2.4.1、通过settings设置 2.4.2、通过属性设置 2.5、APP相关操作 2.5.1、安装应用 2.5.2、启动应用 2.5.3、等待应用启动 2.5.4、结束应用 …

【机器学习笔记】 15 机器学习项目流程

机器学习的一般步骤 数据清洗 数据清洗是指发现并纠正数据文件中可识别的错误的最后一道程序&#xff0c;包括检查数据一致性&#xff0c;处理无效值和缺失值等。与问卷审核不同&#xff0c;录入后的数据清理一般是由计算机而不是人工完成。 探索性数据分析(EDA 探索性数据…

从gradient_checkpointing_enable中学习

1.背景 最近在使用官网的教程训练chatGLM3,但是出现了“RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn”错误,查阅了官方的文档,目前这个问题还没什么解决方案 但是其中有人回复说:是注释掉503行的model.gradient_checkpointing_e…

手持三防平板丨国产化加固平板丨国产三防平板发展的意义是什么?

随着现代科技的快速发展&#xff0c;平板电脑在我们的生活中扮演着越来越重要的角色。然而&#xff0c;传统的平板电脑只能在普通的环境中使用&#xff0c;而无法在恶劣的环境中使用&#xff0c;例如在高海拔、高温、高湿度、沙漠等环境中&#xff0c;传统平板电脑往往会出现故…

OpenHarmony—UIAbility组件间交互(设备内)

UIAbility是系统调度的最小单元。在设备内的功能模块之间跳转时&#xff0c;会涉及到启动特定的UIAbility&#xff0c;该UIAbility可以是应用内的其他UIAbility&#xff0c;也可以是其他应用的UIAbility&#xff08;例如启动三方支付UIAbility&#xff09;。 本章节将从如下场…