青少年编程能力等级测评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最新毕业设计选题推荐…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...