当前位置: 首页 > news >正文

青少年编程能力等级测评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;

CDay  yestoday;

Dint  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 四级试卷&#xff08;1&#xff09; 一、单项选择题&#xff08;共15题&#xff0c;每题3分&#xff0c;共45分&#xff09; CP4_1_1.在面向对象程序设计中&#xff0c;与数据构成一个相互依存的整体的是&#xff08; &#xff09;。 A. 对数据…...

树上任意两点的距离

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

【 thinkphp8 】00008 thinkphp8数据查询,常用table,name方法,进行数据查询汇总

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【 t…...

Git的命令合集

关于Git的一些命令合集&#xff0c;会慢慢更新&#xff01; 20241024程序员节开始写的&#xff0c;记录一下~~ git查看log、查看详细提交记录 会显示之前的提交记录 , 排序由近及远 git log log按q退出 git回退到某个commit命令&#xff1a; 退到/进到指定commit的sha码&…...

博客搭建之路:hexo搜索引擎收录

文章目录 hexo搜索引擎收录以百度为例 hexo搜索引擎收录 hexo版本5.0.2 npm版本6.14.7 next版本7.8.0 写博客的目的肯定不是就只有自己能看到&#xff0c;想让更多的人看到就需要可以让搜索引擎来收录对应的文章。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

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 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)

原文标题&#xff1a;Domain Adaptive YOLO for One-Stage Cross-Domain Detection 中文标题&#xff1a;面向单阶段跨域检测的域自适应YOLO 1、Abstract 域转移是目标检测器在实际应用中推广的主要挑战。两级检测器的域自适应新兴技术有助于解决这个问题。然而&#xff0c;两级…...

面试题:描述在前端开发中,如何利用数据结构来优化页面渲染性能,并给出一个具体的示例。

在前端开发中&#xff0c;优化页面渲染性能是提升用户体验的关键之一。合理地使用数据结构可以有效地减少DOM操作的次数、提高数据处理的效率&#xff0c;从而加快页面的渲染速度。以下是一些策略&#xff0c;并给出一个具体的示例。 1. 使用合适的数据结构 数组与对象&#…...

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

3.2 The Derivative as a Function - Calculus Volume 1 | OpenStax...

html 轮播图效果

轮播效果&#xff1a; 1、鼠标没有移入到banner,自动轮播 2、鼠标移入&#xff1a;取消自动轮播、移除开始自动轮播 3、点击指示点开始轮播到对应位置 4、点击前一个后一个按钮&#xff0c;轮播到上一个下一个图片 注意 最后一个图片无缝滚动&#xff0c;就是先克隆第一个图片…...

Android Room(SQLite) too many SQL variables异常

SQLiteException 一、解决办法1. 修改数据库语句2. 分批执行 二、问题根源 转载请注明出处: https://blog.csdn.net/hx7013/article/details/143198862 在使用 Room 或其他基于 SQLite 的 ORM 框架时&#xff0c;批量操作如 IN 或 NOT IN 查询可能会触发 android.database.sqli…...

sentinel原理源码分析系列(八)-熔断

限流为了防止过度使用资源造成系统不稳&#xff0c;熔断是为了识别出”坏”资源&#xff0c;避免好的资源受牵连(雪崩效应)&#xff0c;是保证系统稳定性的关键&#xff0c;也是资源有效使用的关键&#xff0c;sentinel熔断插槽名称Degrade(降级)&#xff0c;本人觉得应该改为熔…...

安全见闻(4)——开阔眼界,不做井底之蛙

内容预览 ≧∀≦ゞ 安全见闻四&#xff1a;操作系统安全机制深度解析声明操作系统机制1. 注册表2. 防火墙3. 自启动与计划任务4. 事件日志5. 内核驱动与设备驱动6. 系统服务7. 进程与线程8. 系统编程 从操作系统机制看病毒设计1. 自启动&#xff1a;病毒如何在系统启动时运行&a…...

(二十二)、k8s 中的关键概念

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

python基础综合案例(数据可视化-地图可视化)

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

基于SpringBoot足球场在线预约系统的设计与实现

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...

TCP/IP 网络编程 | 服务端 客户端的封装

设计模式 文章目录 设计模式一、socket.h 接口&#xff08;interface&#xff09;二、socket.cpp 实现&#xff08;implementation&#xff09;三、server.cpp 使用封装&#xff08;main 函数&#xff09;四、client.cpp 使用封装&#xff08;main 函数&#xff09;五、退出方法…...

用鸿蒙HarmonyOS5实现国际象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码&#xff0c;使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...