【C++笔试强训】第九天
创始人
2024-01-15 08:41:36
0

🎇C++笔试强训


  • 博客主页:一起去看日落吗
  • 分享博主的C++刷题日常,大家一起学习
  • 博主的能力有限,出现错误希望大家不吝赐教
  • 分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光 🌞。

在这里插入图片描述

💦 🔥


选择题

💦第一题

某函数申明如下()

void Func(int &nVal1);

有int a,下面使用正确的为:

A Func(a)
B Func(&a)
C Func(*a)
D Func(&(*a))

因为是int类型的,所以直接排除CD,所以直接传递int类型的变量就可以了,所以选A

这道题的答案是A


💦第二题

ClassA *pclassa=new ClassA[5];
delete pclassa;

C++语言中,类ClassA的构造函数和析构函数的执行次数分别为()

A 5,1
B 1,1
C 5,5
D 1,5

这道题考察了new和delete

请添加图片描述

这里要开辟5个数据,所以要构造五次,这里的delete pclassa,所以只会调用一次

但是这道题delete不匹配,有可能会崩溃

这道题的答案是A


💦第三题

动态内存分配(C语言中malloc,C++中的new)得到的存储区属于内存中的:

A 静态区
B 堆(heap)
C 栈(stack)
D 堆栈
E 内核内存
F 不确定

这道题一眼看过去就是堆,malloc的空间是自己的,肯定是在堆上,new是可以重载的,有可能不在堆上,默认情况是在堆上

这道题的答案是B


💦第四题

下列静态数据成员的特性中,错误的是()

A 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域符号
B 说明静态数据成员时前边要加关键字static来修饰
C 静态数据成员在类体外进行初始化
D 静态数据成员不是所有对象所共有的

静态成员变量:所有对象共享的,并不属于具体的某个对象——在类中声明,然后需要在类外单独进行定义,一定不能在构造函数初始化列表的位置初始化——在类外访问静态成员变量时:对象.静态成员变量 || 类名::静态成员变量

A 选项 —— 类名::静态成员变量
B 选项 没加static是普通成员变量,加了就是静态成员变量
C 选项 只能在类外初始化,在程序运行的时候就构造好了
D 选项 静态成员变量最大的特性是所有对象共享的

这道题的答案是D


💦第五题

用class关键字定义的类,其成员默认的访问属性为()

A private
B protected
C public
D 无定义

class类默认的访问属性是私有的 —— private

这道题的答案是A


💦第六题

在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是 ( )。

A 无操作数的运算符
B 二元运算符
C 前缀一元运算符
D 后缀一元运算符

一元运算符:该元素只需要一个参数 例如 :-- ++

每个非静态的成员函数都有一个隐藏的this指针,因为参数表中没有任何参数,所以AB直接排除

请添加图片描述

第一个是前置++,第二个是后置++

这道题的答案是C


💦第七题

有如下程序:

#include
using namespace std;
class MyClass{
public:MyClass(int i=0){cout<<1;}MyClass(const MyClass&x){cout<<2;}MyClass& operator=(const MyClass&x){cout<<3; return*this;}~MyClass(){cout<<4;}
};
int main(){MyClass obj1(1),obj2(2),obj3(obj1);return 0;
}

运行时的输出结果是

A 121,444
B 112,444
C 11,114,444
D 11,314,445
E 11,314,444

obj(1)和obj(2)是直接调用构造函数,obg(obj(1))直接调用拷贝构造,所以这里会打印112,然后就是return 0,然后就会调用析构函数,先创建的后释放,然后会打印444

这道题的答案是B


💦第八题

下面有关c++静态数据成员,说法正确的是()

A 不能在类内初始化
B 不能被类的对象调用
C 不能受private修饰符的作用
D 可以直接用类名调用

这道题又是考察静态的数据成员

静态成员变量:所有对象共享的,并不属于具体的某个对象——在类中声明,然后需要在类外单独进行定义,一定不能在构造函数初始化列表的位置初始化——在类外访问静态成员变量时:对象.静态成员变量 || 类名::静态成员变量

A const类型可以在类内初始化
B 打点和类名加作用域访问
C 可以受private修饰

这道题的答案是D


💦第九题

在C++中,为了让某个类只能通过new来创建(即如果直接创建对象,编译器将报错),应该()

A 将构造函数设为私有
B 将析构函数设为私有
C 将构造函数和析构函数均设为私有
D 没有办法能做到

请添加图片描述

如果将构造函数设置为私有的无法实现第二步,所以不行,但是可以将析构函数设置为私有的,如果想要调用析构怎么办呢?

请添加图片描述

这道题的答案是B


💦第十题

下列的模板声明中,其中几个是正确的()

1)template
2)template
3)template
4)template
5)template
6)template
7)template
8)

A 2
B 3
C 4
D 5

这道题是对模版进行考察的

请添加图片描述

从图可以得知 1,2,3,5,8是错误的

4,6,7是正确的

这道题的答案是B


编程题

🔥第一题

链接:另类加法

在这里插入图片描述

  • 题目解析

本题的意思是自己实现加法,不适用现成的运算符,考察大家对于运算符的灵活运用

  • 解题思路:

本题可以通过位运算实现,具体实现如下:
两个数求和,其实就是 求和后当前位的数据+两个数求和的进位

例如:
1 + 2; 00000001 + 00000010
求和后当前位的数据: 00000011 ; 求和后的进位数据: 没有进位,则 00000000
两者相加,则得到: 00000011 就是3
2 + 2; 00000010 + 00000010
求和后当前位的数据: 00000000, 1和1进位后当前为变成0了
求和后进位的数据: 00000100, 两个1求和后进位了
相加后得到: 00000100 就是4

求和后当前位的数据:简便的计算方法就是两个数进行异或 00000001 ^ 00000010 -> 00000011
求和后进位的数据:简便的计算方法就是两个数相与后左移一位 (00000010 & 00000010) << 1
所以这道题使用递归更加容易理解

  • 代码演示
class UnusualAdd {
public:int addAB(int A, int B) {// write code hereif(A == 0) return B;if(B == 0)return A;int sum = A ^ B;//不考虑进位时候相加的结构int ret = (A&B) << 1;//计算进位的数据return addAB(sum, ret);}
};

🔥第二题

链接:走方格的方案数

在这里插入图片描述

  • 题目解析

本题为求取路径总数的题目,一般可以通过递归求解,对于复杂的问题,可以通过动态规划求解。此题比较简单,可以通过递归解答。

  • 解题思路

| 1 | 2 | 3 |

| 4 | 5 | 6 |

| 7 | 8 | 9 |

  1. 对于上面的nm(33)的格子,有两种情况
    a. 如果n或者m为1,则只有一行或者一列,从左上角走到右下角的路径数为n + m
    比如: 1 * 1格子,可以先向下走,再向右走,到达右下角;或者先向右走,
    再向下走,到达右下角,共两条,即 1 + 1 = 2,对于1 * m和 n * m的
    情况同学们自己画一下
    b. 如果n,m都大于1,那么走到[n][m]格子的右下角只有两条路径,
    <1>: 从[n - 1][m]格子的右下角向下走,到达
    <2>: 从[n][m - 1]格子的右下角向右走,到达
    所以走到[n][m]格子的右下角的数量为[n-1][m] + [n][m - 1],可以通过递归实现,情况a为递归的终止条件。
  • 代码演示:
#include 
using namespace std;int pathnum(int n,int m)
{if(n == 0 || m == 0)return 1;return pathnum(n-1,m) + pathnum(n, m-1);
}int main()
{int n,m;while(cin >> n >> m)cout << pathnum(n, m) << endl;return 0;
}

相关内容

热门资讯

辞职申请书范文汇总 辞职申请书范文汇总  辞职申请书的格式  辞职申请书在职场工作中会被经常使用到,很多职场白领及工作人...
立案监督申请书怎么写 立案监督申请书怎么写  立案监督申请书怎么写,今天小编就为您整理几篇立案监督申请书范本,希望可以帮到...
新员工入职申请书 新员工入职申请书(通用5篇)  随着时代在进步,申请书出现的次数越来越多,不同的使用场景有不同的申请...
探亲假申请书格式范文   篇一:探亲假申请书范文  请假存根(人事处存)单姓职位名务单姓职  请假证明(本人保存)位名务单...
大学转学申请书 大学转学申请书范文五篇  篇一:  尊敬的学校领导:我叫XXXX,就读于XXXXXXXXXXX学院,...
国家助学金申请理由 国家助学金申请理由  申请书格式要求  (1)标题  有两种写法,一是直接写“申请书”,另一是在“申...
退休员工返聘申请书 退休员工返聘申请书(精选5篇)  在社会不断进步的今天,申请书使用的情况越来越多,写作层面上,申请书...
国家助学金申请书模板 国家助学金申请书模板  一、申请书格式  (一)标题  这类申请书的标题一般也是写在第一行中间位置,...
申请调查取证申请书 申请调查取证申请书模板  《中华人民共和国民事诉讼法》第六十四条 当事人对自己提出的主张,有责任提供...
入工会申请书 入工会申请书范文(精选16篇)  在人们物质精神需求不断增长的今天,有各项事务需要申请书,请注意不同...
困难职工困难补助申请书   困难的职工办理困难补助,需要结合本人的实际情况,撰写贫困申请书,下面是unjs小编搜集整理的困难...
写转正申请书 写转正申请书(精选20篇)  在如今这个年代,申请书出现的次数越来越多,申请书可以使我们的愿望和请求...
入学申请书 -申请书 入学申请书范文 -申请书入学申请书尊敬的校领导:你们好,入学申请书范文。我是我校×级会计二班的学生夏...
贫困补助的申请书 贫困补助的申请书600字(精选5篇)  我们眼下的社会,我们会使用上申请书,我们可以将自己的愿望和请...
医院护士辞职申请书 医院护士辞职申请书锦集八篇  在现在社会,申请书在现实生活中使用广泛,申请书可以使我们的愿望和请求得...
伤残等级鉴定书 伤残等级鉴定书伤残等级鉴定书伤残等级鉴定申请书申请人:周,男,19年月日出生,汉族,住湖北省,电话:...
简短辞职申请书 简短辞职申请书模板8篇  在经济飞速发展、人们往来越来越密切的今天,申请书在生活中的使用越来越广泛,...
单位困难职工申请书 单位困难职工申请书范文(精选11篇)  在人们越来越重视发展的今天,申请书起到的作用越来越大,申请书...
公司贷款申请书范文 公司贷款申请书范文  一、什么是贷款申请书  贷款申请书是企业向开户银行申请贷款时填写的文书。企业由...
最新再审申请书 最新再审申请书(精选15篇)  我们眼下的社会,申请书与我们的关系越来越密切,那么写再审申请书需要注...