计算机笔试真题汇总CC++篇.docx

上传人:b****5 文档编号:6069601 上传时间:2023-01-03 格式:DOCX 页数:10 大小:19.91KB
下载 相关 举报
计算机笔试真题汇总CC++篇.docx_第1页
第1页 / 共10页
计算机笔试真题汇总CC++篇.docx_第2页
第2页 / 共10页
计算机笔试真题汇总CC++篇.docx_第3页
第3页 / 共10页
计算机笔试真题汇总CC++篇.docx_第4页
第4页 / 共10页
计算机笔试真题汇总CC++篇.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

计算机笔试真题汇总CC++篇.docx

《计算机笔试真题汇总CC++篇.docx》由会员分享,可在线阅读,更多相关《计算机笔试真题汇总CC++篇.docx(10页珍藏版)》请在冰豆网上搜索。

计算机笔试真题汇总CC++篇.docx

计算机笔试真题汇总CC++篇

计算机笔试真题汇总:

C,C++篇

计算机笔试真题汇总:

C/C++篇一、基础知识专项练习

1、派生类对象可以访问基类成员中的()?

(点击查看答案>>>>>>>>)

A、公有继承的私有成员

B、私有继承的公有成员

C、公有继承的保护成员

D、以上都错

2、下列关于多态性说法不正确的是()。

(点击查看答案>>>>>>>>)

A、多态性是指同名函数对应多种不同的实现

B、重载方式仅有函数重载

C、重载方式包含函数重载和运算符重载

D、多态性表现为静态和动态两种方式

3、下列哪项不属于C++的基本数据类型?

()(点击查看答案>>>>>>>>)

A、wideB、charC、bool

4、以下选项如果可以初始化正确,那么就会初始化正确,那么以下哪种语法在C++中初始化以后编译会错误?

其中X为一C++类()(点击查看答案>>>>)

A、constX*x

B、Xconst*x

C、constXconst*x

D、X*constx

5、下面哪一个不是动态链接库的优点?

()(点击查看答案>>>>>>>>)

A、共享B、装载速度快C、开发模式好D、减少页面交换6、以下函数中,和其他函数不属于一类的是____。

(点击查看答案>>>>>>>)

A、fwriteB、putcC、pwrite

D、putcharE、getlineF、scanf

7、下列关于模板的说法正确的是()(点击查看答案>>>>>>>>)

A、模板的实参在任何时候都可以省略

B、类模板与模板类所指的是同一概念

C、类模板的参数必须是虚拟类型的

D、类模板中的成员函数全部都是模板函数

8、STL中的一级容器有:

()(点击查看答案>>>>>>>>)

A、vector,deque,list,set,multiset,map,multimap

B、序列容器,关联容器,容器适配器

C、set,multiset,map,multimap

D、vector,deque,list

9、重复多次fclose一个打开过一次的FILE*fp指针会有什么结果?

()(点击查看答案>>>>>>>>>>>>)

A、导致文件描述符结构中指针指向的内存被重复释放,进而导致一些不可预期的异常

B、不会出现异常,释放一个已经释放的指针,系统会自动忽略

C、运行异常

D、以上答案都不正确

10、若有定义int(*pt)[3];则下列说法正确的是:

()

(点击查看答案>>>>>>>>)

A、定义了基类型为int的三个指针变量

B、定义了基类型为int的具有三个元素的指针数组pt

C、定义了一个名为*pt、具有三个元素的整形数组

D、定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组

更多专项练习题目

二、经典编程试题汇总

1、二维数组中的查找(点击实战练习

>>>>>>>>>>>>

题目描述:

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。

请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

classSolution{

public:

boolFind(inttarget,vector>array){}};

2、替换空格(点击实战练习>>>>>>>>>>>>)

题目描述:

请实现一个函数,将一个字符串中的空格替换成“%20”。

例如,当字符串为WeAreHappy.则经过替换之后的字符串为We%20Are%20Happy。

3

题目描述:

输入一个链表,从尾到头打印链表每个节点的值。

/***structListNode{*intval;*structListNode*next;*ListNode(intx):

*val(x),next(NULL){*}*};*/classSolution{public:

vectorprintListFromTailToHead(ListNode*head){}};

4、重建二叉树(点击实战练习>>>>>>>>>>>>)

题目描述:

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。

假设输入的前序遍历和中序遍历的结果中都不含重复的数字。

例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。

/***Definitionforbinarytree*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):

val(x),left(NULL),right(NULL){}*};*/classSolution{public:

TreeNode*reConstructBinaryTree(vectorpre,vectorvin){

}

};

5、用两个栈实现队列(点击实战练习>>>>>>>>>>>>)

题目描述:

用两个栈来实现一个队列,完成队列的Push和Pop操作。

队列中的元素为int类型。

classSolution

{

public:

voidpush(intnode){

}

intpop(){

}

private:

stackstack1;

stackstack2;

};

6、二叉树的镜像(点击实战练习>>>>>>>>>>>>)

题目描述:

操作给定的二叉树,将其变换为源二叉树的镜像。

/*

structTreeNode{

intval;

structTreeNode*left;

structTreeNode*right;

TreeNode(intx):

val(x),left(NULL),right(NULL){

}

};*/

classSolution{

public:

voidMirror(TreeNode*pRoot){

}

};

7、斐波那契数列(点击实战练习>>>>>>>>>>>>)

题目描述:

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

n

classSolution{

public:

intFibonacci(intn){

}

};

8、数值的整数次方(点击实战练习>>>>>>>>>>>>)

题目描述:

给定一个double类型的浮点数base和int类型的整数exponent。

求base的exponent次方。

classSolution{

public:

doublePower(doublebase,intexponent){

}

};

9、旋转数组的最小数字(点击实战练习>>>>>>>>>>>>)

题目描述:

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。

输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。

例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。

NOTE:

给出的所有元素都大于0,若数组大小为0,请返回0。

classSolution{

public:

intminNumberInRotateArray(vectorrotateArray){

}

};

10、顺时针打印矩阵(点击实战练习>>>>>>>>>>>>)

题目描述:

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵:

12345678910111213141516则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

classSolution{public:

vectorprintMatrix(vector>matrix){

}

};

更多经典编程练习

三、名企考试真题汇总

1

、(小米)小米

Git(点击实战练习

>>>>>>>>>>>>)

题目描述:

git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如:

base'

classSolution{public:

/***返回git树上两点的最近分割点**@parammatrix接邻矩阵,表示git树,matrix[i][j]=='1'当且仅当git树中第i个和第j个节点有连接,节点0为git树的跟节点*@paramindexA节点A的index*@paramindexB节点B的index*@return整型*/

intgetSplitNode(vectormatrix,intindexA,intindexB){

}

};

2(微软)NumericKeypad(点击实战练习>>>>>>>>>>>>)

题目描述:

Thenumberickeypadonyourmobilephonelookslikebelow:

123

456

789

supposeyouareholdingyourmobilephonewithsinglehand.Yourthumbpointsatdigit1.Eachtimeyoucan1)pressthedigityourthumbpointingat.2)moveyourthumbright,3)moveyourthumbdown.Movingyourthumbleftorupisnotallowed.

Byusingthenumerickeypadunderaboveconstrains,youcanproducesomenumberslike177or480whileproducingothernumberslike590or52isimpossible.

GivenanumberK,findoutthemaximumnumberlessthanorequaltoKthatcanbeproduced.

输入描述:

thefirstlinecontainsanintegerT,thenumberoftestcases.EachtestcaseoccupiesasinglelinewithanintegerK.

For50%ofthedata,1

For100%ofthedata,1

输出描述:

foreachtestcaseoutputoneline,themaximumnumberlessthanorequaltothecorrespondingKthatcanbeproduced.

3、(华为)最高分是多少(点击实战练习>>>>>>>>>>>>)

题目描述:

老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。

当然,老师有时候需要更新某位同学的成绩.

输入描述:

输入包括多组测试数据。

每组输入第一行是两个正整数N和M(0

学生ID编号从1编到N。

第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩

接下来又M行,每一行有一个字符C(只取‘Q’或‘U’),和两个正整数A,B,当C为'Q'的时候,表示这是一条询问操作,他询问ID从A到B(包括A,B)的

学生当中,成绩最高的是多少

当C为‘U’的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。

输入描述:

对于每一次询问操作,在一行里面输出最高成绩.

4、(XX)罪犯转移(点击实战练习>>>>>>>>>>>>)

题目描述:

C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。

现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式?

输入描述:

第一行数据三个整数:

n,t,c(1≤n≤2e5,0≤t≤1e9,1≤c≤n),第二行按入狱时间给出每个犯人的罪行值ai(0≤ai≤1e9)

输出描述:

一行输出答案。

5、(美团)直方图内最大矩形(点击实战练习>>>>>>>>>>>>)

题目描述:

有一个直方图,用一个整数数组表示,其中每列的宽度为1,求所给直方图包含的最大矩形面积。

比如,对于直方图[2,7,9,4],它所包含的最大矩形的面积为14(即[7,9]包涵的7x2的矩形)。

给定一个直方图A及它的总宽度n,请返回最大矩形面积。

保证直方图宽度小于等于500。

保证结果在int范围内。

classMaxInnerRec{

public:

intcountArea(vectorA,intn){

//writecodehere

}

};

6、(去哪儿)二分查找(点击实战练习>>>>>>>>>>>>)

题目描述:

对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。

给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。

若该元素出现多次,请返回第一次出现的位置。

classBinarySearch{

public:

intgetPos(vectorA,intn,intval){

//writecodehere

}

};

7、(京东)年终奖(点击实战练习>>>>>>>>>>>>)题目描述:

小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。

给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。

classBonus{

public:

intgetMost(vector>board){

//writecodehere

}

};

8、(腾讯)生成格雷码(点击实战练习>>>>>>>>>>>>)

题目描述:

在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(GrayCode),请编写一个函数,使用递归的方法生成N位的格雷码。

给定一个整数n,请返回n位的格雷码,顺序为从0开始。

classGrayCode{

public:

vectorgetGray(intn){

//writecodehere

}

};

9、(搜狗)火眼金睛(点击实战练习>>>>>>>>>>>>)

题目描述:

现在我们需要查出一些作弊的问答社区中的ID,作弊有两种:

1.A回答了B的问题,同时B回答了A的问题。

那么A和B都是作弊。

2.作弊ID用户A和作弊ID用户B同时回答了C的问题,那么C也是作弊。

已知每个用户的ID是一串数字,一个问题可能有多个人回答。

输入描述:

每组数据第一行为总问题数N(N小于等于200000),第二行开始每行一个问题,第一个数字为提问人ID,第二个数字为回答人数,后面则为所有回答人的ID。

(ID均为0-1000000的整数)

输出描述:

第一行为作弊ID数量,第二行开始为从小到大的每行一个作弊ID。

10、(网易)奖学金(点击实战练习>>>>>>>>>>>>)

题目描述:

小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。

每门课由平时成绩和考试成绩组成,满分为r。

现在他知道每门课的平时成绩为ai,若想让这门课的考试成绩多拿一分的话,小v要花bi的时间复习,不复习的话当然就是0分。

同时我们显然可以发现复习得再多也不会拿到超过满分的分数。

为了拿到奖学金,小v至少要花多少时间复习。

输入描述:

第一行三个整数n,r,avg(n大于等于1小于等于1e5,r大于等于1小于等

于1e9,avg大于等于1小于等于1e6),接下来n行,每行两个整数ai和bi,均小于等于1e6大于等于1

输出描述:

一行输出答案。

更多名企真题练习

牛客网,最大的程序员学习、备考、求职题库

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1