【C++笔试强训】第九天

news2025/1/13 11:56:32

🎇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<iostream>
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<T1,T2>
3)template<class T1,T2>
4)template<class T1,class T2>
5)template<typename T1,T2>
6)template<typename T1,typename T2>
7)template<class T1,typename T2>
8)<typename T1,class T2>

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 here
        if(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 <iostream>
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;
}

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

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

相关文章

基于骨骼的动作识别:PoseConv3D

Revisiting Skeleton-based Action Recognition解读摘要1. 简介2. Related Work2.1 基于3D-CNN的rgb视频动作识别2.2 基于GCN的骨骼动作识别2.3 基于CNN的骨骼动作识别3. Framework3.1 Pose Extraction3.2 From 2D Poses to 3D Heatmap Volumes3.3 基于骨骼的动作识别3D-CNN3.3…

智能的逻辑与理性的逻辑是不同的逻辑

1.世界是由事实和价值共同组成的1.1 事实由对象、事态及其联系&#xff08;如语言&#xff09;构成1.2 价值是事实在实践中的作用和效果构成1.3 事实中存在着决定论&#xff0c;价值里包含有自由意志1.3.1 事实反映有无&#xff0c;价值反映好坏1.4 每一个事实都具有变价值&…

8.2 从堆中绕过SafeS.E.H

一、实验环境 操作系统&#xff1a;windows XP SP2&#xff08;关闭DEP&#xff09; 软件版本&#xff1a;VS2008&#xff08;release&#xff09;、原版OD&#xff08;实时调试&#xff09; 二、实验代码 #include <stdafx.h> #include <stdlib.h> #include <…

计算机操作系统引论(操作系统)

目录 一、操作系统的目标 二、操作系统的作用 三、操作系统的基本特性 四、操作系统的主要功能 五、操作系统的结构设计 一、操作系统的目标 操作系统&#xff08;Operating System&#xff0c;OS&#xff09;是计算机硬件的第一层软件&#xff0c;是计算机必备配置的最基…

接口自动化测试(二)—— Postman实现接口测试

其他 接口自动化测试 知识参考&#xff1a;接口自动化测试 目录 一、Postman介绍和安装 1、简介 2、安装 3、安装Postman插件newman 二、Postman基本用法 1、案例一 2、案例二 三、Postman高级用法 1、管理测试用例Collections 1.1、创建 collections 1.2、创建 用…

libusb系列-002-Windows下libusb源码编译

libusb系列-002-Windows下libusb源码编译 文章目录libusb系列-002-Windows下libusb源码编译摘要Windows下编译libusb库下载源码进入msvc目录选择对应的项目工程编译查看编译好的库文件关键字&#xff1a; vs、 编译、 Qt、 libusb、 windows内容背景&#xff1a; 最近项目终于切…

从 0 到 1 落地前端工程化

你将获得 初识&#xff1a;总结前端工程化技能图谱 了解&#xff1a;梳理前端工程化落地流程 掌握&#xff1a;搭建前端工程化基建项目 提高&#xff1a;实战前端工程化解决方案 作者介绍 JowayYoung&#xff0c;资深前端工程师&#xff0c;目前就职于网易互动娱乐事业群&…

建立私人知识网站 cpolar轻松做到1 (部署DokuWiki)

维基百科&#xff08;wiki&#xff09;相信大家都有所耳闻&#xff0c;作为全球最有名的百科知识搜索网站&#xff0c;很多不常见的知识点都能在这上面搜索到&#xff0c;而维基百科能够成功的原因&#xff0c;就是可以编辑的和修订的功能&#xff0c;让维基百科能够收到各领域…

vue学习笔记——简单入门总结(一)

Vue学习笔记 文章目录Vue学习笔记1. 学习vue的准备1.1. vue简介:1.2. vue特点:1.2.1. 组件化&#xff1a;1.2.1. 声明式&#xff1a;1.2. vue的引入1.2.1. 直接引入&#xff1a;1.2.2. 脚手架构建vue项目&#xff1a;1.2.3&#xff1a;vue开发插件安装&#xff1a;2. vue的简单…

apache服务web页面执行shell脚本

首先安装apache服务 yum -y install httpd 如下介绍两种执行的方式 方式一、url直接传参的方式 #cat /var/www/cgi-bin/shell #!/bin/sh printf "Content-Type: text/plain\n\n" your_commands_here传参的动作 http://172.16.61.119:8098/cgi-bin/shell?pwd在…

STM32使用寄存器开发底层驱动学习(USART+DMA)

目录学习资料下载任务USART的DMA功能发送数据DMA非中断模式接收USART数据。DMA中断模式接收USART数据总结学习资料下载 在本文学习中会用到如下的文档资料&#xff0c;没有的朋友先下载。 工程模板 Cortex M3权威指南&#xff08;中文&#xff09; &#xff1a;本文简称为《…

1024程序节|你知道老师上课随机点名是怎么实现的吗

个人主页&#xff1a;天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 目录 前言 随机点名 搭建主体框架 简述 执行代码 添加功能 块级元素随机输出姓名 Math.random() Math.round() 按钮控制开始/结束 onclick() clearInterval() 简述 完整代码 执行结果 片…

I/O复用--浅谈epoll

我们聊了聊select和poll知道&#xff1a; 它们都是采取轮询的方式查找是否有就绪描述符。都有数据结构从用户态拷贝到内核态&#xff0c;内核态拷贝到用户态这个过程。 为了针对许多大量连接&#xff0c;高并发的的场景下大量的资源消耗&#xff0c;效率低的问题&#xff0c;这…

网络安全实战:记一次比较完整的靶机渗透

0x01信息搜集 nmap -sC -sV -p- -A 10.10.10.123 -T4 -oA nmap_friendzone访问80端口的http服务只发现了一个域名。 0x02 DNS区域传输 因为我们前面扫描的时候发现了53端口是开着一个dns服务的&#xff0c;所以尝试使用friendzoneportal.red进行axfr&#xff0c;它的具体含…

《软件测试》实验2:嵌入式软件测试实验报告

文章目录实验目的温度控制器需求文档及测试要求环境搭建实验内容温度采集处理功能测试加热棒输出电压测试散热风扇温度传感器输入接口&#xff08;Senser_JK&#xff09;控制加热棒输出接口&#xff08;Heater_JK&#xff09;控制散热风扇输出接口&#xff08;Fan_JK&#xff0…

目标检测 YOLOv5 - 模型推理预处理 letterbox

目标检测 YOLOv5 - 模型推理预处理 letterbox flyfish 版本&#xff1a;YOLOv5 6.2 假如图片大小是1080 * 1920 &#xff08;height * width &#xff09; width 1920 height 1080 当模型输入是 640 * 640时 shapes (1080, 1920), (0.33, 0.33), (0.0, 140.0) 640/ 1920…

c++11 右值引用和移动语义

文章目录1. 左值引用和右值引用2. 左值引用与右值引用比较3. 右值引用使用场景和意义3.1左值引用的使用场景3.2左值引用的短板&#xff1a;3.3 移动构造3.4 移动赋值3.5 STL中的容器3.6 右值引用引用左值及其一些更深入的使用场景分析3.7 STL容器插入接口函数也增加了右值引用版…

Springboot 使用装饰器模式,快看,它装起来了

前言 小飞棍来咯&#xff01; 本篇文章跟小飞棍一毛钱关系没有。 本篇内容&#xff1a; 就是配合实战案例介绍我们平时 在springboot项目里面 怎么去用 装饰器模式、多层装饰怎么玩。 正文 首先先说下装饰器模式是什么 官方&#xff1a; 装饰器模式&#xff08;Decorator Pa…

Python3,5行代码,制作Gif动图,太简单了。

gif动图制作1、引言2、代码实战2.1 安装2.2 代码3、总结1、引言 小屌丝&#xff1a;鱼哥&#xff0c; 你能不能帮我找一个动图&#xff0c; 小鱼&#xff1a;啥动图&#xff0c;你自己百度不就行了。 小屌丝&#xff1a;我这不是没找到吗&#xff0c; 不然我就自己来找了。 小…

Oracle数据库:net configureation assistant工具配置监听listener,配置本地网络访问服务器上的数据库

Oracle数据库&#xff1a;net configureation assistant工具配置监听listener&#xff0c;配置本地网络访问服务器上的数据库 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开…