青少年编程能力等级测评CPA C++五级试卷(1)

news2024/10/25 20:30:06

青少年编程能力等级测评CPA C++五级试卷(1)

一、单项选择题(共15题,每题3分,共45分)

CP5_1_1.下列有关类的重用意义的叙述中,不正确的是(  )。                

A.类的重用有利于代码结构的维护

B.类的重用有利于减少代码的冗余

C.类的重用有利于提升程序的执行效率

D.类的重用有利于提升程序的可扩展性和灵活性

CP5_1_2.类的组合,其核心特征是(  )。

A.一个类内嵌其他类作为成员

B.一个类内嵌其他类的私有成员作为成员

C一个类内嵌其他类的保护成员作为成员

D.一个类内嵌其他类的对象作为成员

CP5_1_3.执行下列代码,输出结果是(  )。

#include <iostream>

using namespace std;

class Point {

public:

    Point(int a) :x(a+1) {};

    void print() {

        cout << "x:" << x <<" ";

    }

private:

    int x;

};

Point& re_p(int a) {

    Point* res = new Point(a+1);

res->print();

    return *res;  

}

int main(){

    Point& a = re_p(2);

    a.print();

return 0;

}

A.x:2 x:2

Bx:2 x:3

C.x:3 x:4

Dx:4 x:4

CP5_1_4.执行下列代码,输出结果是(  )。

#include <iostream>

using namespace std;

class B;

class A {

  public:

char ia;

    A() {ia = 'A';}

    B *b;

};

class B {

  public:

char ib;

    B() {ib = 'B';}

    A oa;

};

int main() {

  A t1;

  t1.b = new B();

  B t2;

  cout << t1.ia <<t1.b->ib;

  cout << t2.ib<<t2.oa.ia<<endl;

  return 0;

}

A.ABBA

B.AABB

C.BBAA

D.BAAB

CP5_1_5.在C++中,类的默认继承方式是(   )。

A.公有继承

B.私有继承

C.保护继承

D.多态继承

CP5_1_6.执行下列代码,输出结果是(  )。    

#include <iostream>

using namespace std;

class Person{

public:

   void Print(){cout<<'P';}

   void Output(){cout<<1;}

   virtual ~Person(){cout<<3; }

};

class Tom:public Person{

public:

    void Print(){cout<<'T';}

};

int main(){

Tom a;

a.Output();

a.Print();

return 0;

}

A.1T   

B.1P    

C.1T3    

D.1P3

CP5_1_7.在公有继承的情况下,允许派生类中新定义的成员函数直接访问的基类成员是(  。   

A.公有成员和保护成员

B.公有成员

C.保护成员和私有成员

D.公有成员、保护成员和私有成员

CP5_1_8.有如下类的声明,则在创建一个类 C 的对象时,输出的信息是( )。

class A{

public:

A(){ cout<<'A';}

};

class B{

public:

B(){ cout<<'B';}

A aa;

};

class C:public B{

public:

C(){ cout<<'C'; }

};

A.ABC

B.BAC

C.BCA

D.CBA

CP5_1_9.C++要实现运行时多态性,需使用的是(   )。       

A.构造函数

B.析构函数

C.虚函数

D.重载函数

CP5_1_10.有如下类声明,则下列叙述正确的是(  )。       

class A{

  public:

  virtual void fun1(){}

  void fun2(){}

};

class B:public A{

  public:

      virtual void fun2(){cout <<"fun2";}

  void fun1(){cout<<"fun1";}

};

A. A::fun2()和B::fun1()都不是虚函数     

B. A::fun2()和B::fun1()都是虚函数     

C. A::fun2()是虚函数,而B::fun1()不是虚函数     

D. A::fun2()不是虚函数,而B::fun1()是虚函数

CP5_1_11.下列关于模板的叙述中,错误的是(  )。

A.模板形参只能由关键字 typename 声明

B.函数模板中可能含有虚拟类型参数

C类模板的成员函数都是模板函数

D.满足一定条件时可以省略模板实参

CP5_1_12.下列代码是函数模板声明及变量定义,则下列调用语句错误的是(  )。

template <class T1, class T2, class T3> T1 sum(T2,T3);

double d1,d2;

A.sum<double,double>(d1,d2);

B.sum<double>(d1,d2);

C.sum<double,double,double>(d1,d2);

D.sum(d1,d2);

CP5_1_13.下列有关类模板的叙述中,错误的是(  )。

A.类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化

B.可以为类模板参数设置默认值

C.类模板描述了一组类

D.一个类模板中只允许有一个类型参数

CP5_1_14.运行下列代码,若能够输出3.8,则/**(1)**/处应填写的语句是( )。

#include<iostream>

using namespace std;

template <class T>

class A{

  private:

     T a1,a2;

  public:

    A(T aa1,T aa2){

      a1=aa1;

      a2=aa2;

    }

  T add(){

    T sum;

    sum=a1+a2;

    return sum;

   }

};

int main(){

  /**(1)**/

  cout<<a.add()<<endl;

  return 0;

}

A. A a(1.5,2.3);

B. A<double> a(1.5,2.3);

C. <double> A a(1.5,2.3);

D. double A a(1.5,2.3);

CP5_1_15.STL引入C++后,新增的编程模式是(   )。

A.泛型程序设计

B.面向过程程序设计

C.数据抽象程序设计

D.面向对象程序设计

二、多项选择题(共5题,每题2分,共10分)

CP5_1_16.下列有关类的组合和继承的叙述中,正确的有(  )。         

A.组合和继承都是类重用的实现方法之一

B.类的组合,整体类自动获得局部类的全部接口

C.类的继承,子类可自动继承父类的接口

D.组合关系和继承均破坏了类的封装性

CP5_1_17.下列有关派生类的叙述中,正确的有(  )。           

A.一个派生类可以作为另一个派生类的基类

B.派生类至少有一个基类

C.派生类只继承了基类的公有成员和保护成员

D.派生类默认的继承方式是private

CP5_1_18.执行下列代码,若输出结果为:“2023-3-20”,则/***code***/处可以填写的代码有(   )。

#include<iostream>

#include<string>

using namespace std;

class Date{

protected:

    int day,month,year;

public:

    Date(int day,int month,int year){

        this->day=day;

        this->month=month;

        this->year=year;

    }

    friend ostream& operator<<(ostream &os,const Date &d);

};

ostream& operator<<(ostream &os,const Date &d){

        cout<<d.year<<"-"<<d.month<<"-"<<d.day<<endl;

        return os;

    }

int main(){

    /***code***/

    cout<<d<<endl;

}

A.string d="2023-3-20";

B.string d="2023,3,20";

C.Date d(20,3,2023);

D.Date d(20.,3.,2020.);

CP5_1_19.设有如下模板定义,则对func的调用,正确的有(  )。       

Template <class T>

T func(T x ,T y) {return x*x+y*y;}

A. func(3,5)     

B. func<>(3,5)     

C. func(3,5.5)     

D. func<int>(3,5.5)

CP5_1_20.下列基本容器,属于STL标准模板库中关联容器的有(  )。

A.双端队列

B.集合

C.单向链表

D.映射

三、编程题(共3题,每题15分,共45分)

CP5_1_21.编写程序实现如下功能:

通过定义组合类,输入平面直角坐标系上的一个坐标点(x,y),求该坐标点到坐标原点的距离。

说明:

(1)定义坐标点是Point类对象。使用Dis()函数获得坐标点到圆心的距离。点到圆心间的距离公式:

 。

(2)编程过程中对于程序给定的部分不允许修改,考生仅允许在/****code****/提示行区间内作答。

#include <iostream>

#include <cmath>

using namespace std;

class Point{                 //坐标点

/*********code*********/

/************code***********/

};

class Distance{                      //坐标点到圆心的距离

/***************code****************/

   /****************code**************/  

    private:

Point t;  //组合类成员

};

int main()

{

float x,y;

cin>>x>>y;

Distance D;

cout << "Distance="<<D.Dis(x,y)<<endl;

return 0;

}

样例1:

输入:1  1

输出:Distance=1.41421

样例2

输入:-3 -4

输出:Distance=5

CP5_1_22.编写程序实现如下功能:

输入圆的半径,求球体表面积及体积。球体看作由圆继承而来,定义圆类Circle作为基类,Sphere类为派生类。在派生类中对虚函数area()和volume()重新定义,求球体的表面积和体积。

说明:

(1)球体表面积=4*π*r2 ;  球体体积=4/3*(π*r3)。

(2)编程过程中对于程序给定的部分不允许修改,考生仅允许在/****code****/提示行区间内作答。

#include <iostream>          

using namespace std;      

const double PI=3.14;      

class Circle{

//基类:定义一个数据成员radius作为半径,两个虚函数area()和volume()     

  /************code************/

 /****************code************/

};      

class Sphere:public Circle{  

//派生类Sphere 求圆的表面积和体积    

  /*************code****************/

 /**************code****************/

};      

    

int main(){

   double r;

   cin>>r;

   Sphere s(r);

   cout <<s.area() << endl;

   cout << s.volume() << endl;      

   return 0;      

}

样例1:

输入:1.0

输出:12.56

4.18667

样例2

输入:2.5

输出:78.5

65.4167

CP5_1_23.编写程序实现如下功能:

通过编写函数模板,实现求解3个数值从小到大的排序。3个值可以是整型、浮点型或者字符型。

说明:编程过程中对于程序给定的部分不允许修改,考生仅允许在/****code****/提示行区间内作答。

#include <iostream>

using namespace std;

template <class T>

/****************code****************/

/***************code*****************/

int main(){

int Int[3],m=0;

char Char[4]="";

double Double[3];

//输入一个整数:1代表整数排序;2代表字符排序;3代表浮点数排序

cin>>m;

switch(m)

{case 1: cin>>Int[0]>>Int[1]>>Int[2];

         MinToMax(Int);

 break;

 case 2: cin>>Char[0]>>Char[1]>>Char[2];

     MinToMax(Char);

 break;

 case 3: cin>>Double[0]>>Double[1]>>Double[2];

     MinToMax(Double);

 break;

 default: return 0;

}

    return 0;

}

样例1:

输入:1

12 2 -9

输出:-9 2 12

样例2

输入:2

D e C

输出:C D e

样例3:

输入:3

2.3 4.5 1.2

输出:1.2 2.3 4.5

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

useEffect简单介绍

react组件生命周期 比如说&#xff0c;某些操作就只在初始渲染后执行&#xff0c;我们就可以使用useEffect。 useEffect(function () {fetch(http://www.omdbapi.com/?apikey${KEY}&sinterstellar).then((res) > res.json()).then((data) > setMovies(data.Search)…

[C#][winform]基于yolov5的驾驶员抽烟打电话安全带检测系统C#源码+onnx模型+评估指标曲线+精美GUI界面

【重要说明】 该系统以opencvsharp作图像处理,onnxruntime做推理引擎&#xff0c;使用CPU进行推理&#xff0c;适合有显卡或者没有显卡windows x64系统均可&#xff0c;不支持macOS和Linux系统&#xff0c;不支持x86的windows操作系统。由于采用CPU推理&#xff0c;要比GPU慢。…

传统数据仓库升级版:云数据仓库!

随着公司业务拓展&#xff0c;数据爆炸性增长&#xff0c;数据驱动的见解已成为决策过程中关键指标。对公司来说&#xff0c;怎么选择存储所有这些信息的简单方法并运行必要的数据分析以获得有用的见解变得更加重要。 在过去的50多年里&#xff0c;传统的本地数据仓库一直是一…

ffmpeg视频滤镜:腐蚀滤镜

滤镜简述 erosion 官网链接> FFmpeg Filters Documentation 这个滤镜会在视频上应用腐蚀操作&#xff0c;腐蚀操作是形态学中一种操作&#xff0c;接触过opencv的同学应该很熟悉。滤镜主要有如下作用&#xff1a; 去除噪声&#xff1a;腐蚀可以帮助去除图像中的小颗粒噪…

构建后端为etcd的CoreDNS的容器集群(六)、编写自动维护域名记录的代码脚本

本文为系列测试文章&#xff0c;拟基于自签名证书认证的etcd容器来构建coredns域名解析系统。 一、前置文章 构建后端为etcd的CoreDNS的容器集群&#xff08;一&#xff09;、生成自签名证书 构建后端为etcd的CoreDNS的容器集群&#xff08;二&#xff09;、下载最新的etcd容…

pytorch训练和使用resnet

pytorch训练和使用resnet 使用 CIFAR-10数据集 训练 resnet resnet-train.py import torch import torchvision import torchvision.transforms as transforms import torch.nn as nn import torch.optim as optim# 在CIFAR-10数据集中 # 训练集&#xff1a;包含50000张图像…

城市极客,存内先锋-存内社区主理人招募令

在这个数据驱动的时代&#xff0c;存内计算正成为推动技术革新的核心力量。 我们&#xff0c;存内计算社区&#xff0c;正站在这场革命的前沿&#xff0c;现在&#xff0c;我们正式发出召集令&#xff0c;寻找那些渴望引领技术浪潮的城市站主理人&#xff01; 地点&#xff1a…

使用LangChain进行LLM应用开发(1)——了解LangChain

【课程链接】https://www.ai360labs.com/playground/course/66813572135124992/detail 【适用人群】 入门学习Langchain的同学轻体验ChatOpenAI的同学&#xff0c;平台提供Api-key&#xff0c;应该是很小的token额度&#xff0c;仅供练习 LangChain是一个开源框架&#xff0c…

【机器学习基础】全连接层

1. 定义: 每一个节点都跟其后面所有的神经元相连两层之间所有神经元都有权重连接,通常全连接层在卷积神经网络尾部也就是跟传统的神经网络神经元的连接方式是一样的 2. 作用: 全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、…

使用 NCC 和 PKG 打包 Node.js 项目为可执行文件(Linux ,macOS,Windows)

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 文章引言 步骤 1&#xff1a;…

linux:线程id及线程互斥

线程的tid不像进程&#xff0c;那不是他真正的id&#xff0c;也不是内核的lwp&#xff0c;而是由pthread库维护的一个唯一值 给用户提供的线程ID&#xff0c;不是内核中的lwp&#xff0c;而是pthread库维护的一个唯一值 库内部也要承担对线程的管理 #include<stdio.h>…

2024青龙面板京东教程

一、接上文《2024最新青龙面板安装教程》 腾讯云轻量服务器2核2G4M&#xff0c;只要79一年&#xff0c;可续费一次。 购买地址&#xff1a;https://curl.qcloud.com/LpLkvjq1 二、拉库 拉库前请打开青龙面板-配置文件 第18行 GithubProxyUrl“” 双引号中的内容清空 复制以…

代理 IP 对于鸿蒙开发者的意义与帮助

华为推出的鸿蒙操作系统以其独特的分布式架构和强大的性能&#xff0c;吸引了众多开发者的目光。而在鸿蒙开发的过程中&#xff0c;代理 IP 技术也发挥着重要的作用&#xff0c;为开发者带来了诸多意义与帮助。 一、提供更广泛的测试环境 对于鸿蒙开发者来说&#xff0c;确保应…

高效数据集成:聚水潭采购入库单与金蝶云星空

聚水潭采购入库单与金蝶云星空的高效数据集成案例分享 在企业日常运营中&#xff0c;采购入库单的数据处理和管理是至关重要的一环。为了实现聚水潭采购入库单到金蝶云星空的无缝对接&#xff0c;我们采用了轻易云数据集成平台&#xff0c;成功配置并运行了“聚水潭采购入库单…

钉钉录播抓取视频

爬取钉钉视频 免责声明 此脚本仅供学习参考&#xff0c;切勿违法使用下载他人资源进行售卖&#xff0c;本人不但任何责任! 仓库地址: GItee 源码仓库 执行顺序 poxyM3u8开启代理getM3u8url用于获取m3u8文件userAgent随机请求头downVideo|downVideoThreadTqdm单线程下载和…

荣耀MagicOS 9.0发布会及开发者大会丨一图读懂应用服务及商业合作分论坛

更多优质流量变现服务&#xff0c;可点击荣耀广告变现服务查看&#xff1b; 荣耀远航计划——应用市场【耀闪行动】全新上线&#xff0c;更多激励及资源扶持可点击荣耀应用市场耀闪行动查看。

Zookeeper实战 集群环境部署

1、概述 今天我们来学习一下Zookeeper集群相关的内容&#xff0c;本文主要的内容有集群环境的搭建&#xff0c;集群常见的问题和对应的解决方案。 2、集群环境搭建 2.1、准备工作 首先我们准备好安装包&#xff0c;创建好集群部署的路径。将解压后的安装文件复制三分。这里…

水轮发电机油压自动化控制系统解决方案介绍

在现代水电工程中&#xff0c;水轮机组油压自动化控制系统&#xff0c;不仅直接关系到水轮发电机组的安全稳定运行&#xff0c;还影响着整个水电站的生产效率和经济效益。 一、系统概述 国科JSF油压自动控制系统&#xff0c;适用于水轮发电机组调速器油压及主阀&#xff08;蝶…

【功能安全】 独立于环境的安全要素SEooC

目录 01 SEooC定义 02 SEooC开发步骤 03 SEooC开发示例 04 SEooC问答 01 SEooC定义 缩写: SEooC:Safety Element out of Context独立于环境的安全要素 SEooC出处:GB/T34590.10—2022,第9章节 SEooC与相关项什么关系? SEooC可以是系统、系统组合、子系统、软件组件、…

【Unity】游戏UI中添加粒子特效导致穿层问题的解决

这里介绍一下简易的ui系统中&#xff0c;添加粒子特效导致的穿层问题 首先是在ui界面中添加粒子特效预制体&#xff0c;这个时候&#xff0c;控制这个粒子显示层级的有两个方面 上图中&#xff0c;如果你的Sorting Layer ID的值&#xff08;Layer排序&#xff09;是大于当前C…