青少年编程能力等级测评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最新毕业设计选题推荐…...
操作系统笔记(二)进程,系统调用,I/O设备
什么是进程? 一个正在执行的程序一个包含运行一个程序所需要的所有信息的容器进程的信息保存在一个进程表中( Process Table)。进程表中的每一项对应一个进程,称为进程控制块(Process control block,PCB)。 PCB信息包括: 用户ID(UID)、进程ID(PID)…...
DevOps实践:在GitLab CI/CD中集成静态分析Helix QAC的工作原理与优势
基于云的GitLab CI/CD平台使开发团队能够简化其CI/CD流程,并加速软件开发生命周期(SDLC)。 将严格的、基于合规性的静态分析(如Helix QAC所提供)作为新阶段添加到现有的GitLab CI/CD流程中,将进一步增强SD…...
前端面试题-token的登录流程、JWT
这是我的前端面试题的合集的第一篇,后面也会更新一些笔试题目。秋招很难,也快要结束了。但是,不要放弃,一起加油^_^ 一、token的登录流程 1.客户端用账号密码请求登录 2.服务端收到请求,需要去验证账号密码 3.验证成…...
【软考高级架构】关于分布式数据库缓存redis的知识要点汇总
一.分布式数据库的含义 分布式数据库缓存指的是在高并发的环境下,为了减轻数据库的压力和提高系统响应时间,在数据库系统和应用系统之间增加一个独立缓存系统。 二.常见的缓存技术 (1)MemCache: Memcache是一个高性能的分布式的内…...
构建自然灾害预警决策一体化平台,筑牢工程安全数字防线
近年来,国家和部委也强调了要切实加强地质灾害监测预警。作为国内智慧应急领域的先行者,Mapmost持续探索利用数字孪生技术,推进自然灾害风险预警精细化,强化对监测数据的综合分析和异常信息研判处置。建立健全区域风险预警与隐患点…...
随机题两题
逆序对 题目 给定一个数组,求其中有多少逆序对,要求时间复杂度不超过nlogn。 思路 使用归并排序的分治思想,将数组递归地分为左右两部分。在合并两个有序子数组时,若左侧数组中的某个数大于右侧数组中的某个数,则可…...
信息安全工程师(69)数字水印技术与应用
前言 数字水印技术是一种在数字媒体中嵌入特定信息的技术,这些信息可以是版权信息、元数据等。 一、数字水印技术的定义与原理 数字水印技术(Digital Watermarking)是将一些标识信息(即数字水印)直接嵌入数字载体&…...
知识点框架笔记3.0笔记
如果基础太差,搞不清基本交规的(模考做不到60分),建议找肖肖或者小轩老师的课程看一遍,内容差不多(上面有链接),笔记是基于肖肖和小轩老师的科目一课程以及公安部交管局法规…...
Android组件化开发
Android组件化开发 组件化开发概念组件化开发的由来组件化开发有什么优势?组件化开发如何拿到入口参数?如何解决相同资源文件名合并的冲突?模式切换,如何使APP在单独调试跟整体调试自由切换?多个Module之间如何引用一些共同的library以及工具类?我们如何实现依赖关系及组…...
centos-LAMP搭建与配置(论坛网站)
文章目录 LAMP简介搭建LAMP环境安装apache(httpd)安装mysql安装PHP安装php-mysql安装phpwind LAMP简介 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:Linux操作系统,网页服务器Apache,…...
外贸独立网站制作/免费seo推广计划
或许你已经感受到了,大数据和人工智能正在对我们的生活产生影响。在朋友们留言中,不乏有人对未来表达了担忧。你是否对你自己所处的世界洞若观火?如果不是,那么就来听听吴军博士怎么说。计算机在解决各种智能问题上的进步幅度并不…...
大型网站建设费用/搜索关键词技巧
实时的响应总是让人兴奋的,就如你在微信里看到对方正在输入,如你在王者峡谷里一呼百应,如你们在直播弹幕里不约而同的 666,它们的背后都离不开长连接技术的加持。每个互联网公司里几乎都有一套长连接系统,它们被应用在…...
在哪可以做网站/百度提交链接
一、背景随着 iOS 13 的发布,深色模式(Dark Mode)越来越多地出现在大众的视野中,支持深色模式已经成为现代移动应用和网站的一个潮流,前段时间更是因为微信的适配再度引起热议。深色模式不仅可以大幅减少电量的消耗&am…...
安卓4.3网站开发兼容/汕头网站建设方案维护
我是表哥Harker,表妹我来咯~ 京东的流式布局其实就是把以前我们写死的固定值换成百分比,百分比好处就是子盒子能随着盒子的宽度改变而自动适应。 今天讲解flex布局,这个布局很重要哦,移动端开发80%以上要用到这个布局,并且这个布局一般和后面要说的 rem+媒体查询 一起使…...
自己做的网站怎么加搜索功能/建站系统源码
GBase 8c 数据库创建用户/角色的语法说明: 语法格式如下: CREATE USER/ROLE name [ [ WITH ] option [ ... ] ] 选项: SUPERUSER | NOSUPERUSER :超级权限,拥有所有权限,默认nosuperuser。 | CREATEDB | NOC…...
建设人才信息网是什么网站/南宁网站公司
文章目录1.1 为什么要过渡到IPv6原因1:IPv4地址耗尽原因2:让只使用IPv6的客户访问原因3:提升性能原因4:加固当前的网络。1.2 IPv6的历史1.3 IPv6的优点1.极大扩展的地址空间:2.无状态自动配置3.消除了NAT/PAT(网络地址…...