青少年编程能力等级测评CPA C++ 四级试卷(1)
青少年编程能力等级测评CPA C++ 四级试卷(1)
一、单项选择题(共15题,每题3分,共45分)
CP4_1_1.在面向对象程序设计中,与数据构成一个相互依存的整体的是( )。
A. 对数据的操作
B. 对数据的封装
C. 对数据的隐藏
D. 对数据的抽象
CP4_1_2.已知定义了类Day,并且在该类之前已经定义了类Week。下列关于类Day的数据成员定义语句,不正确的是( )。
A.Week weekend;
B.Day *today;
C.Day yestoday;
D.int tomorrow;
CP4_1_3.下列有关类与对象的关系叙述中,不正确的是( )。
A.对象是类的实例
B.一个类只能拥有一个对象
C.一个对象只能属于一个类
D.类是抽象的,不占用内存,而对象是具体的,占用内存
CP4_1_4.若Demo为一个类,则执行Demo sa; 语句时,将自动调用该类的( )。
A. 有参构造函数
B. 无参构造函数
C. 拷贝构造函数
D. 赋值重载函数
CP4_1_5.类的复制构造函数的参数是( )。
A. 类对象
B. 类对象的成员
C. 类对象的引用
D. 指向类对象的指针
CP4_1_6.执行下列代码,运行结果是( )。
#include<iostream>
using namespace std;
class aClass{
public:
aClass(int n) { i=n; }
void set(int n){ i=n; }
int get( ){ return i; }
private:
int i;
};
void sqr(aClass ob)
{
ob.set(ob.get()*ob.get());
cout<<ob.get()<<" ";
}
int main()
{
aClass obj(10);
sqr(obj);
cout<<obj.get( )<<endl;
return 0;
}
A.10 10
B.100 100
C.10 100
D.100 10
CP4_1_7.执行下列代码,运行结果是( )。
#include<iostream>
#include<string>
using namespace std;
class MyBag{
public:
MyBag(string br="OK"):brand(br) { cout<<brand<<" "; }
private:
string brand;
};
int main(){
MyBag arrays[2]={MyBag("GO")};
return 0;
}
A.OK OK
B.GO GO
C.GO OK
D.OK GO
CP4_1_8.执行下列代码,运行结果是( )
#include <iostream>
using namespace std;
class Member{
public:
Member(){
std::cout << "N1 " ;
}
~Member(){
cout << "N2 " ;
}
};
class Test{
private:
Member member;
public:
Test(){
cout << "N3 ";
}
~Test(){
cout << "N4 ";
}
};
int main(){
Test* test = new Test();
delete test;
cout<<endl;
return 0;
}
A.N1 N2 N3 N4
B.N3 N4 N1 N2
C.N1 N3 N4 N2
D.N3 N1 N2 N4
CP4_1_9.在C++中,结构体是一种特殊的类,其成员默认的访问权限是( )。
A.public
B.private
C.static
D.protected
CP4_1_10.下列有关对静态数据成员的叙述中,正确的是( )。
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以被类的对象调用
C.静态数据成员不受private控制符的作用
D.静态数据成员可以直接用类名调用
CP4_1_11. 执行下列代码,运行结果是( )。
#include<iostream>
using namespace std;
class Cd{
public:
static int cacu();
private:
static int sum;
};
int Cd::sum=20;
int Cd::cacu(){
return(sum=sum*3);
}
int main(){
cout<<Cd::cacu()<<","<<Cd::cacu()<< endl;
return 0;
}
A.60,180
B.180,60
C.60,60
D.180,180
CP4_1_12.执行下列代码,运行结果是( )。
using namespace std;
#include <iostream>
class Sample{
int n;
public:
Sample(int i){n=--i;}
friend int Plus(Sample &s1,Sample &s2);
};
int Plus(Sample &s1,Sample &s2){
return s1.n*s2.n;
}
int main(){
Sample s1(5),s2(6);
cout << Plus(s1,s2)<<endl;
return 0;
}
A. 20
B. 24
C. 25
D.30
CP4_1_13.下列有关友元成员的叙述中,不正确的是( )。
A. 友元成员可以声明在类的public部分,也可以声明在private部分
B. 友元成员包括友元函数、友元成员函数和友元类
C. 通过友元成员可以让外部函数直接访问类的私有数据
D. 类之间的友元关系是可以传递的,即是可逆的
CP4_1_14.下列代码定义了两个类,有关这两个类的叙述中,正确的是( )。
class B{
friend class A;
public: int x;
private:int y;
};
class A{
public: float m;
private:float n;
};
A.B是A的友元类,B可以访问A中的私有成员
B.B是A的友元类,A可以访问B中的私有成员
C.A是B的友元类,B可以访问A中的私有成员
D.A是B的友元类,A可以访问B中的私有成员
CP4_1_15.下列有关vector容器的定义语句,不正确的是( )
A. vector <int> v(10);
B. vector <char> v;
C. vector v;
D. vector <double> v;
二、多项选择题(共5题,每题2分,共10分)
CP4_1_16.下列代码定义了类和对象,能够正确完成函数调用的语句有( )。
class A{
public:
A(int x):data(x){}
int GetData() const{return data;}
void SetData(int n) {data = n;}
private:
int data;
};
const A a(5);
A b(7);
A.a.GetData();
B.a.SetData(8);
C.b.GetData(8);
D.b.SetData();
CP4_1_17.下列代码定义了类MyClass,有关其对象数组的定义语句,正确的有( )。
class MyClass{
int n;
public:
MyClass(int k):n(k){}
};
A.MyClass x1[2];
B.MyClass x2[2]={new MyClass(1),new MyClass(2)};
C.MyClass *x3[2];
D.MyClass x4[2]={MyClass(1),MyClass(2)};
CP4_1_18.下列有关类的静态成员的叙述中,正确的有( )。
A.类的静态成员可以解决同一个类的不同对象之间的数据和函数的共享问题
B.类的静态数据成员和静态成员函数的声明均需以关键字static开始
C.类的静态数据成员必须进行初始化,初始化时必须加关键字static
D.类的静态成员函数只能在类体内定义,不可以在类外定义
CP4_1_19.下列有关友元函数的叙述中,正确的有( )。
A.友元函数可以是不属于任何类的非成员函数
B.友元函数是它声明语句所在类的成员函数
C.友元函数破坏了类的封装性和隐藏性
D.友元函数不能访问类的私有成员
CP4_1_20.下列运算符中,只能作为成员函数重载的运算符有( )。
A. []
B. ()
C. ->
D. &&
三、编程题(共3题,每题15分,共45分)
CP4_1_21.编写程序实现如下功能:
用户输入圆的半径,通过类的定义和计算,求圆的周长和面积。
说明:
(1) 编程过程中对于程序给定的部分不允许修改,考生仅允许在/****code****/提示行区间内作答。
(2)圆周率的值取3.14。
#include <iostream>
using namespace std;
class Circle
{
/*****************code***********/
/*****************code***********/
private:
double m_r;
};
int main(void)
{
Circle c;
double r;
double girth; //周长
double area; //面积
cin >> r; //输入半径
c.set(r);
girth = c.getGirth();
area = c.getArea();
cout << girth << endl;
cout << area << endl;
return 0;
}
样例1:
输入: 1
输出: 6.28
3.14
样例2:
输入: 2.5
输出: 15.7
19.625
CP4_1_22.编写程序实现如下功能:
通过类的静态成员实现计数统计。用户输入预构造三角形的数量n(n≤10)以及n个三角形的边长。输出满足可以构建成为三角形的对象的总数。
说明:编程过程中对于程序给定的部分不允许修改,考生仅允许在/****code****/提示行区间内作答。
#include <iostream>
using namespace std;
class Triangle
{ /******************************code*****************/
/******************************code*****************/
};
int Triangle::T_Count = 0; // 初始化类 Triangle 的静态成员
int main( )
{
int n;
double c1,c2,c3; //三角形的三边长度
Triangle *t[10];
cin >> n; // 输入要构造的三角形数量, 小于等于10
for(int i=0;i<n;i++){
cin>>c1>>c2>>c3;
t[i]=new Triangle(c1,c2,c3);
}
cout << Triangle::getCount() << endl; //创建对象之后输出满足要求的对象总数
return 0;
}
样例1:
输入:3
1 1 1
1 2 3
3.4 4.2 5.6
输出:2
样例2:
输入:1
2.2 5.4 2.3
输出:0
CP4_1_23.编写程序实现如下功能:
定义complex类,通过重载运算符“+”,使之能实现复数的加法运算。用户输入两个复数的实部和虚部值,输出两个复数以及两个复数相加后的结果。
说明:
(1)本程序中,复数的实部和虚部值均为整数;
(2)若虚部的值为0,则该复数即为整数,其输出也是整数的形式,例如4+0j,输出为4。
(3)编程过程中对于程序给定的部分不允许修改,考生仅允许在/****code****/提示行区间内作答。
#include<iostream>
using namespace std;
class complex{
private:
int real;
int image;
public:
complex();
complex(int real_,int image_);
void show();
/*************************code***********************/
/*************************code***********************/
};
complex::complex(){
real = 0;
image = 0;
}
complex::complex(int real_,int image_){
real = real_;
image = image_;
}
void complex::show(){
/**********************code*********************/
/**********************code**********************/
}
int main(){
int r1,r2,i1,i2; //分别表示两个复数的实部和虚部的值
complex c; // 创建complex类的对象
cin>>r1>>i1; //输入数1的实部及虚部
cin>>r2>>i2; //输入数1的实部及虚部
complex a(r1,i1); //创建复数a对象
complex b(r2,i2); //创建复数b对象
a.show(); //显示复数a
b.show(); //显示复数b
c = a + b; // +在复数加中的实现
c.show(); // 显示相加后的复数c
return 0;
}
样例1:
输入:1 2
3 4
输出:1+2j
3+4j
4+6j
样例2:
输入:1 -2
1 2
输出:1-2j
1+2j
2
相关文章:
青少年编程能力等级测评CPA C++ 四级试卷(1)
青少年编程能力等级测评CPA C 四级试卷(1) 一、单项选择题(共15题,每题3分,共45分) CP4_1_1.在面向对象程序设计中,与数据构成一个相互依存的整体的是( )。 A. 对数据…...

树上任意两点的距离
题目描述 给出 n 个点的一棵树,多次询问两点之间的最短距离。 注意:边是双向的。 输入描述 第一行为两个整数 n 和 m。n 表示点数,m 表示询问次数; 下来 n−1 行,每行三个整数 x,y,k,表示点 x 和点 y 之间…...

【 thinkphp8 】00008 thinkphp8数据查询,常用table,name方法,进行数据查询汇总
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 【 t…...
Git的命令合集
关于Git的一些命令合集,会慢慢更新! 20241024程序员节开始写的,记录一下~~ git查看log、查看详细提交记录 会显示之前的提交记录 , 排序由近及远 git log log按q退出 git回退到某个commit命令: 退到/进到指定commit的sha码&…...

博客搭建之路:hexo搜索引擎收录
文章目录 hexo搜索引擎收录以百度为例 hexo搜索引擎收录 hexo版本5.0.2 npm版本6.14.7 next版本7.8.0 写博客的目的肯定不是就只有自己能看到,想让更多的人看到就需要可以让搜索引擎来收录对应的文章。hexo支持生成站点地图sitemap 在hexo下的_config.yml中配置站点…...

创建Windows系统还原点
系统保护...
Linux等保测评需要用到的命令
三权设置 查看账户情况 cd /home/ ll 设置审计账户 useradd shenji passwd shenji 修改密码 passwd新密码 设置管理账户 useradd guanli passwd guanli compgen -u 查看用户 切换到root账户 su root 设置审计用户权限 vim /etc/sudoers shenji ALL (root) NOPASSWD:…...

PostgreSQL的学习心得和知识总结(一百五十六)|auto_explain — log execution plans of slow queries
目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…...

数据结构模板代码合集(不完整)
P3368 【模板】树状数组 2 #include <bits/stdc.h> using namespace std; const int maxn 5e5 7;int n, m, s, t; int ans; int a[maxn]; struct node{int l, r;int num; }tr[maxn * 4];void build(int p, int l, int r){tr[p] {l, r, 0};if(l r){tr[p].num a[l];r…...

shell脚本语法详解
目录 shell语法基础 指定shell解析器 注释 运行 变量 定义变量 引用变量 清除变量值 从键盘获取值 输入单值 添加输入提示语 读取多值 编辑 定义只读变量 环境变量 设置环境变量与查看环境变量 特殊变量 三种引号的作用与区别 小括号与大括号 参数传递 位…...

2021亚洲机器学习会议:面向单阶段跨域检测的域自适应YOLO(ACML2021)
原文标题:Domain Adaptive YOLO for One-Stage Cross-Domain Detection 中文标题:面向单阶段跨域检测的域自适应YOLO 1、Abstract 域转移是目标检测器在实际应用中推广的主要挑战。两级检测器的域自适应新兴技术有助于解决这个问题。然而,两级…...
面试题:描述在前端开发中,如何利用数据结构来优化页面渲染性能,并给出一个具体的示例。
在前端开发中,优化页面渲染性能是提升用户体验的关键之一。合理地使用数据结构可以有效地减少DOM操作的次数、提高数据处理的效率,从而加快页面的渲染速度。以下是一些策略,并给出一个具体的示例。 1. 使用合适的数据结构 数组与对象&#…...

微积分复习笔记 Calculus Volume 1 - 3.2 he Derivative as a Function
3.2 The Derivative as a Function - Calculus Volume 1 | OpenStax...

html 轮播图效果
轮播效果: 1、鼠标没有移入到banner,自动轮播 2、鼠标移入:取消自动轮播、移除开始自动轮播 3、点击指示点开始轮播到对应位置 4、点击前一个后一个按钮,轮播到上一个下一个图片 注意 最后一个图片无缝滚动,就是先克隆第一个图片…...
Android Room(SQLite) too many SQL variables异常
SQLiteException 一、解决办法1. 修改数据库语句2. 分批执行 二、问题根源 转载请注明出处: https://blog.csdn.net/hx7013/article/details/143198862 在使用 Room 或其他基于 SQLite 的 ORM 框架时,批量操作如 IN 或 NOT IN 查询可能会触发 android.database.sqli…...

sentinel原理源码分析系列(八)-熔断
限流为了防止过度使用资源造成系统不稳,熔断是为了识别出”坏”资源,避免好的资源受牵连(雪崩效应),是保证系统稳定性的关键,也是资源有效使用的关键,sentinel熔断插槽名称Degrade(降级),本人觉得应该改为熔…...
安全见闻(4)——开阔眼界,不做井底之蛙
内容预览 ≧∀≦ゞ 安全见闻四:操作系统安全机制深度解析声明操作系统机制1. 注册表2. 防火墙3. 自启动与计划任务4. 事件日志5. 内核驱动与设备驱动6. 系统服务7. 进程与线程8. 系统编程 从操作系统机制看病毒设计1. 自启动:病毒如何在系统启动时运行&a…...

(二十二)、k8s 中的关键概念
文章目录 1、总体概览2、第一层:物理机、集群、Node、Pod 之间的关系2、第二层:命名空间 Namespace3、定义4、控制平面(Control Plane)5、特别的概念 Service6、Deployment 经过 之前几篇文章对 k8s 的实践,结合实践&…...

python基础综合案例(数据可视化-地图可视化)
1.基础地图使用 注意写名字的时候要写全名,比如上海市不能写出上海,不然看不到数据 鼠标点击即可看到数据 设置属性的时候不要忘记导包 # 演示地图可视化的基础使用 from pyecharts.charts import Map from pyecharts.options import VisualMapOpts # 准…...

基于SpringBoot足球场在线预约系统的设计与实现
💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...