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

选择题

image-20230402095013300

解析:内联函数(inline)一般用于代码较少,代码块里面没有递归且频繁调用的函数,是一种以空间换时间(不是指内存,而是指令变多编译出来的可执行程序会变大)的做法。内联函数在预编译的时候展开,会用函数体替换函数调用;内联函数可能会使目标文件变大,但是少了调用开销,增加程序运行的效率。

image-20230402095021562

解析:C++中不能重载的运算符.*:: sizeof?: .这5个运算符不能重载。

image-20230402095030304

解析:

拷贝构造函数的函数名和类名相同,无返回值;

该函数的参数只有一个,是对该对象的引用,如果使用传值传参会一直调用拷贝构造函数形成无穷递归。

每个类都会有一个拷贝构造函数,当没有显示定义时,编译器会生成默认的拷贝构造函数,该构造函数默认是共有的public

拷贝初始化构造函数的作用是将一个已知对象的数据成员值(这里不区分浅拷贝还是深拷贝)拷贝给正在创建的另一个同类的对象

image-20230402095038433

解析:常成员函数要用const修饰,const应该在参数列表之后,如果在返回值前代表返回值不能修改,const修饰*this,表明在该成员函数中,不能修改非静态的成员变量。所以选C。

image-20230402095104955

解析:重载函数是在同一作用域内,函数名相同,参数个数或者参数的类型不同,就构成重载函数,与函数类型无关。

image-20230402095119022

解析:MyClass a[5]是一个有5个MyClass对象的数组,MyClass *b[6]是一个指针数组,该数组的每个元素都是MyClass*a[5]数组中每个元素是一个类,每次创建都会调用它的构造函数,一共调用5次构造函数;但是b[6]中的元素都是类的指针类型,就不会调用构造函数。指针在调用期间并不会调用构造函数。

image-20230402095126955

解析:在初始化列表中初始化成员的次序与先后次序没有关系,是根据成员变量在类中声明的先后顺序进行初始化的。

image-20230402095154098

解析:一个类的大小,实际就是该类中”成员变量”之和,当然要注意内存对齐;静态成员不参与计算,因为数据保存在静态区;

注意空类的大小,空类比较特殊,编译器给了空类一个字节来唯一标识这个类的对象,对于一个空类,它的大小为1,为了占位,没有实际意义。

9.

解析:A()是匿名对象,括号里面的值是初始化的一个值;A的构造函数中赋值,是后置++,先使用再++,计算就可以得到结果。

image-20230330160131865

image-20230402095445232

解析:对于const修饰的变量,是常变量,它具有常数属性,当&a的时候,此时它的类型还是const int *类型的,可以强制类型转换成int*,然后对*p进行修改,因为a在栈区进行储存的,所以在打印a的时候,回去常量区找,也就是直接替换成10,但打印*p的时候会去储存的位置找,打印20。

编程题

1.井字棋

image-20230330170208473

解析:解题思路:返回true的条件就是当一列/一行/正对角/反对角相同且全部为1的时候返回true;我们可以将每个位置相加,得到结果之后进行比较:当一列相同时,每个位置都是1,那结果就等于行数;当一行相同时,结果等于列数;当对角相同时,等于行数或者列数(因为要是有对角,就说明这个数组的行数和列数相同)。

class Board {
public:
    bool checkWon(vector<vector<int> > board) {
        // write code here
        int row = board.size();
        int col = board[0].size();
        //先判断一行相同
        int sum = 0;//用来记录相加之后的结果
        for(int i = 0; i < row; i++)    
        {
            for(int j = 0; j < col; j++)
            {
                sum += board[i][j];
            }
            if(sum == col)
                return true;
        }
        //判断一列是否相同
        sum = 0;
        for(int i = 0; i < col; i++)    
        {
            for(int j = 0; j < row; j++)
            {
                sum += board[j][i];
            }
            if(sum == row)
                return true;
        }
        //判断对角是否相同
        sum = 0;
        //for(int i = 0; i < row; i++)
        for(int i = 0; i < col; i++)
        {
            sum += board[i][i];
        }
        if(sum == col)
            return true;
        //判断反对角是否相同
        sum = 0;
        //for(int i = 0; i < row; i++)
        for(int i = 0; i < col; i++)
        {
            sum += board[i][col-1-i];
        }
        if(sum == col)
            return true;
        return false;
    }
};

2.密码强度等级

image-20230330173533139

解析:注意条件即可。

#include <iostream>
#include <string>
using namespace std;

int main() {
    string s1;
    getline(cin, s1);
    int word1 = 0; //小写字母
    int word2 = 0;//大写字母
    int num = 0;//数字
    int count = 0;//符号
    int score = 0;//分数
    for (int i = 0; i < s1.length(); i++) {
        if (s1[i] >= 'a' && s1[i] <= 'z')
            word1++;
        if (s1[i] >= 'A' && s1[i] <= 'Z')
            word2++;
        if (s1[i] >= '0' && s1[i] <= '9')
            num++;
        if ((s1[i] >= 0x21 && s1[i] <= 0x2F) || (s1[i] >= 0x3A && s1[i] <= 0x40) ||
                (s1[i] >= 0x5B && s1[i] <= 0x60) || (s1[i] >= 0x7B && s1[i] <= 0x7E))
            count++;
    }
    if (s1.length() <= 4) score += 5;
    else if (s1.length() >= 5 && s1.length() <= 7)   score += 10;
    else if (s1.length() >= 8)   score += 25;
    if (word1 == 0 && word2 == 0)    score += 0;
    else if ((word1 == 0 && word2 != 0) || (word2 == 0 &&
                                            word1 != 0))   score += 10;
    else if (word1 != 0 && word2 != 0)
        score += 20;
    if (num == 0)    score += 0;
    else if (num == 1)   score += 10;
    else score += 20;
    if (count == 0)  score += 0;
    else if (count == 1) score += 10;
    else score += 25;
    if (word1 > 0 && word2 > 0 && num > 0 && count > 0)
        score += 5;
    else if (word1 + word2 > 0 && num > 0 && count > 0)
        score += 3;
    else if (word1 + word2 > 0 && num > 0)
        score += 2;
    if (score >= 90) cout << "VERY_SECURE";
    else if (score >= 80) cout << "SECURE";
    else if (score >= 70) cout << "VERY_STRONG";
    else if (score >= 60) cout << "STRONG";
    else if (score >= 50) cout << "AVERAGE";
    else if (score >= 25) cout << "WEAK";
    else cout << "VERY_WEAK";
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

49天精通Java,第14天,Java泛型方法的定义和使用

目录一、基本介绍1、Java泛型的基本语法格式为&#xff1a;2、在使用泛型时&#xff0c;还需要注意以下几点&#xff1a;二、泛型的优点1、类型安全2、消除强制类型转换3、更高的效率4、潜在的性能收益三、常见泛型字母含义四、使用泛型时的注意事项五、泛型的使用1、泛型类2、…

第五章 Vite4+Vue3+Vtkjs 自定义按键组合

一、介绍 因为Vtk.js在按键和按键组合上默认就指定了对应的事件处理,但是我们在使用其他软件的时候可能已经养成了一种习惯,然后也希望使用Vtk.js的时候按键对应的事件也是一致的。比如右键是平移模型,或者说shift+鼠标右键是平移,不管是什么按键的组合,对应的事件是我们…

颠覆认知!“垃圾股”策略长期跑,10年翻100倍、近2年6倍,吊打茅指数!| 邢不行

这是一个非常简单的量化选股策略&#xff0c;它只用到了两个基础选股指标。 代表策略的橙色曲线2010年至今从1元涨到了112元&#xff0c;年化收益43%&#xff1b;在近两年大盘下跌的情况下&#xff0c;这个策略更是逆势翻了6倍。 这个量化策略究竟用了哪两个选股指标&#xf…

java TreeSet 和 TreeMap 源码解读

目录 一、前言 二、TreeSet详解 1.TreeSet简介 2.TreeSet的底层实现 0 准备工作 1 TreeSet构造器 2 匿名内部类实现接口的多态 3 TreeMap构造器 4 add方法 5 put方法和put方法 6 继续添加元素 7 修改比较器的比较原则 三、TreeMap详解 1.TreeMap简介 2.TreeMap的底层实现 0…

拥有良好的社交和友谊会使肠道微生物群更健康

谷禾健康 播种肠道&#xff0c;喂养心灵 在新冠疫情的影响下&#xff0c;我们的生活方式和社交模式都发生了很大的改变。随着社交距离的要求和封锁措施的实施&#xff0c;我们不得不放弃了很多与朋友和家人的互动&#xff0c;这给我们的身心健康带来了很大的影响。 然而&#x…

区块链学习笔记(3)BTC协议

假设有一个大家都信任的中心化机构想要发行数字货币。 该机构由用自己的私钥签名后后发行&#xff0c;任何人都可以通过公钥验证该货币是否为真。 买东西的时候&#xff0c;购买者可以将数字货币发送给卖方&#xff0c;卖方可以也可以通过公钥验证该货币为真后即可完成支付的过…

子网掩码和CIDR

CIDR是什么 网络标识相同的计算机必须同属于同一个链路。例如&#xff0c;架构B类IP网络时&#xff0c;理论上一个链路内允许6万5千多台计算机连接。然而&#xff0c;在实际网络架构当中&#xff0c;一般不会有在同一个链路上连接6万5千多台计算机的情况。因此&#xff0c;这种…

蓝桥杯刷题冲刺 | 倒计时7天

作者&#xff1a;指针不指南吗 专栏&#xff1a;蓝桥杯倒计时冲刺 &#x1f43e;最后一周&#xff0c;复习学过的知识&#xff0c;刷题冲刺&#x1f43e; 文章目录1.高精度除法2.扫地机器人3.数的范围4.A-B 数对1.高精度除法 题目 链接&#xff1a; 794. 高精度除法 - AcWing题…

Java对象内存布局

文章目录1、对象头对象标记Mark Word类元信息&#xff08;又叫类对象指针&#xff09;Class Pointer数组长度&#xff08;Array Length&#xff09;&#xff08;可选&#xff09;2、实例数据&#xff08;对象体&#xff09;3、对齐填充4、指针压缩5、再聊对象头的MarkWord6、JO…

Android ART虚拟机 Space类体系

前言 在ART虚拟机实现中&#xff0c;内存分配和释放的算法是封装在不同的Space中来完成的。而外部使用者只能借助Space及派生类的接口来完成内存的分配与释放。通过阅读这些Space的实现&#xff0c;可以看出ART虚拟机的一个重要的特点就是大量使用映射内存&#xff0c;相较于D…

思维导图软件哪个好?安利八款好用的思维导图软件

当你需要表达和整理复杂的想法、计划和项目时&#xff0c;思维导图软件可以是非常有用的工具。不同的思维导图软件有不同的功能和特点&#xff0c;选择适合自己的软件可以让你更高效地工作和学习。但是你了解思维导图软件哪个好呢&#xff1f;下面就给大家安利八款简单好用的思…

分享99个ASP影音娱乐源码,总有一款适合您

分享99个ASP影音娱乐源码&#xff0c;总有一款适合您 99个ASP影音娱乐源码下载链接&#xff1a;https://pan.baidu.com/s/1pYpAqFUX0xD8KR8GDRyiug?pwd3lja 提取码&#xff1a;3lja Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 我的博客地址&#xff1a;亚…

1Panel开源面板项目GitHub Star数量突破2,000!

截至2023年4月4日18:00&#xff0c;FIT2CLOUD飞致云旗下开源项目——1Panel开源Linux服务器运维管理面板GitHub Star数超过2,000个&#xff01;

IDE装上ChatGPT,一天开发一个系统

昨天白天在写代码&#xff0c;晚上看了一场直播&#xff0c;是两个技术的直播&#xff1a; 一个是技术总监&#xff0c;一个是号称Java之父的余**。 结果Java之父被技术总监吊打。然后匆匆下播。 技术这玩意&#xff0c;真的就是真的&#xff01; 白天我开发了一个系统&…

LeetCode.每日一题 2427. 公因子的数目

Halo&#xff0c;这里是Ppeua。平时主要更新C语言&#xff0c;C&#xff0c;数据结构算法......感兴趣就关注我吧&#xff01;你定不会失望。 &#x1f308;个人主页&#xff1a;主页链接 &#x1f308;算法专栏&#xff1a;专栏链接 我会一直往里填充内容哒&#xff01; &…

ModuleNotFoundError: No module named ‘gdal‘

目录 一、问题描述 二、解决方法 一、问题描述 在win系统下使用gdal包的时候&#xff0c;使用下面代码pip安装&#xff1a; conda install glob -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 安装过程中没有报错&#xff0c;但是 import 的时候还是报错了…

Vicuna:与ChatGPT 性能最相匹配的开源模型

Vicuna (由stable diffusion 2.1生成)前言最近由UC Berkeley、CMU、Stanford, 和 UC San Diego的研究人员创建的 Vicuna-13B&#xff0c;通过在 ShareGPT 收集的用户共享对话数据中微调 LLaMA获得。其中使用 GPT-4 进行评估&#xff0c;发现Vicuna-13B 的性能达到了ChatGPT 和 …

脑外伤最怕后遗症?做好这6大家庭护理措施,防止后遗症

脑外伤是生活中常见的一种情况&#xff0c;主要也就是由于意外或者是其他原因造成的脑部外伤。脑外伤也属于神经系统疾病的一种&#xff0c;最主要是因为对脑部的组织细胞以及神经造成了巨大伤害&#xff0c;从而引起的一系列不良症状的疾病&#xff0c;这种时候也就需要做护理…

憨批的语义分割重制版11——Keras 搭建自己的HRNetV2语义分割平台

憨批的语义分割重制版11——Keras 搭建自己的HRNetV2语义分割平台学习前言什么是HRNetV2模型代码下载HRNetV2实现思路一、预测部分1、主干网络介绍a、Section-1b、Section-2c、Section-3d、Section-42、特征整合部分3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS…

python123

文章目录温度转换异常处理百分制成绩转换五分制F正整数AB奇偶求和判断数据类型温度转换异常处理 描述‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪…