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

news2024/11/28 19:38:58

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

一、单项选择题(共20题,每题3.5分,共70分)

CP2_1_1.下列C++程序段中,对二维数组arr的正确定义是(  )。

A.

int N=5;

int arr[N][N];  

B.

int N=5;

int arr[N-1][N];  

C.

int N;

int arr[N][N];  

D.

#define N 5;

int arr[N-1][N];  

CP2_1_2.在C++中,下列对二维数组a1进行初始化的语句,不正确的是(  )。

A.int a1[3][3]={1,2,3,4};

B.int a1[3][3]={{0}};

C.int a1[2][2]= {{0},{0},{0}};

D.int a1[2][2]={1,2,3,4};

CP2_1_3 在C++中,若有定义:int x[ ][3]={0,1,2,3,4,5,6,7,8,9}; 则数组x的行数是(  )。

A.2  

B.4  

C.3  

D.9  

CP2_1_4.在C++中,下列程序段能使指针变量q指向变量x的是(  )。

A.

int *q = &x;

int x = 8;

B.

int x;

int *q = &x;

C.

int *q;

int x;

*q = &x;

D.

int x;

int *q,

*q = x;

CP2_1_5.在C++中,若有定义:int i,j,*p1,*p2=&j; 则下列赋值语句不正确的是(  )。

A.*p1=100;

B.*p2=100;

C.p1=&i;

D.p1=p2;

CP2_1_6.在C++中,若有定义float y[4]={1.5,2.5,3.5,4.5}, *py=y; 则下列表达式不正确的是(  )。

A.*py+0.5  

B.py+=1  

C.*(py+1)-0.5  

D.py+=1.5  

CP2_1_7.在C++中,执行下列程序,若x1,x2分别输入10和20,则输出的结果是(  )。

#include <iostream>

using namespace std;

void swap(int *p1,int *p2)

{

int temp;

temp =*p1,*p1=*p2,*p2=temp;

}

int main()

{

int x1 ,x2;

    cin>>x1>>x2;

    swap(&x1,&x2);

cout << x1 << x2 << endl;

return 0;

}

A.1010

B.1020

C.2010

D.2020

CP2_1_8.在C++中,若有下列程序段,则表达式的值为字符“f”的是(  )。

#include <string>

string str="butterfly";

A.str[6]

B.str[7]

C.str[0]

D.str[10]

CP2_1_9.阅读下列框图。设i,n为整型变量,若给i,n分别输入1和15,则s的输出结果是(  )。

A.121

B.120

C.106

D.105

CP2_1_10.执行下列程序,若给a,b,c,d分别输入4 3 2 1,则输出的结果是(  )。

#include <iostream>

using namespace std;

int main()

{

int a,b,c,d,flag;

    cin>>a>>b>>c>>d;

if (a>b)

    {  if (a>c)

       if (a>d)

      flag=1;

       else

      flag=2;

     }

     else

flag=3;

     cout << flag << endl;

return 0;

}

A.1

B.2

C.3

D.4

CP2_1_11.执行下列程序,若输入:135,则输出的结果是(  )。

#include <iostream>

using namespace std;

int main()

{ char c;

  while((c=getchar())!='\n')

      {

 switch(c-'1')

         {

case 0:

          case 1: cout<< 'A';

          case 2: cout<< 'B';break;

          case 3: cout<< 'C'; break;

          default:cout<< 'D';

}

      }

  return 0;

}

A.ABCD 

B.ABBD

C.C

D.D

CP2_1_12.执行下列程序,最后一个输出的值是(  )。

#include <iostream>

using namespace std;

int main()

{

int i,j;

for(int i = 0;i < 4;i++)

for(int j = 1;j < 5;j++)

cout<< i+j << endl;

return 0;

}

A.15

B.7

C.16

D.9

CP2_1_13.执行下列程序,输出的结果是(  )。

#include <iostream>

using namespace std;

int main(  )

{

    int i,j,n,result=0;

for(i=3;i<6;i++)

{   j=1;

    n=1;

do

{

 n=n*j;

 j++;

}while(j<=i);

result=result+n;

}

cout << result;

}

A.24

B.120

C.150

D.6

CP2_1_14.执行下列程序,输出的“*”个数是(  )。

#include <iostream>

using namespace std;

int main()

{

for(int i=0;i<5;i++)

{

for(int j=0;j<=5;j++)

{

if(j==i+1)

break;

cout << "*";

    }

Cout << '\n';

}

return 0;

}

A.15个

B.10个

C.30个

D.20个

CP2_1_15.在C++中,若定义了函数:

int max(int a, int b)

{

int m;

if(a>b)

    z=a;

else

    z=b;

return z;

}

下列对其进行函数声明的语句中,不正确的是(  )。

A.int max(int x, int y);

B.int max(int a, b);

C.int max(int a, int b);

D.int max(int , int);

CP2_1_16.执行下列程序,输出结果是(  )。

#include <iostream>

using namespace std;

void Swap(int x, int y)

{

   int z;

   z=x; x=y; y=z;   

   cout << x <<" " << y << endl;

}

int main( )

{

    int a=100,b=200;

    Swap(a,b);                

    cout << a << " " << b << endl;

    return 0;

A.

100 200

100 200

B.

100 200

200 100

C.

200 100

200 100

D.

200 100

100 200

CP2_1_17.执行下列程序,输出的结果是(  )

#include <iostream>

using namespace std;

void sort(int b[ ],int n);

int main( )

{

  int a[10] = {11,22,63,97,58,80,45, 32,73,36};

  sort(a,10);

  cout << a[9] << endl;

}

void sort(int b[ ], int n)  

{

  int i,j,t;

  for (i=1; i<n; i++)

     for (j=0; j<n-i; j++ )

        if (b[j]>b[j+1])   {t=b[j];b[j]=b[j+1];b[j+1]=t;}

}

A.97

B.36

C.80

D.73

CP2_1_18.执行下列程序,输出的结果是(  )

#include <iostream>

using namespace std;

void sub1(int x,int &y)

{

    x+=2;

    y+=2;

}

int main()

{

int n1=15,n2=15;

sub1(n1,n2);

cout << n1 << "," << n2 << endl;

return 0;

}

A.17,17

B.15,17

C.15,15

D.17,15

CP2_1_19.执行下列程序,若给n输入4,输出的结果是(  )。

#include <iostream>

using namespace std;

int sub2(int n)

{

  return  n+2;

}

int sub1(int n)

{

int i,a=0;

  for (i=n; i>0; i--)  

      a+=sub2(i);

  return a ;

 }

int main()

{

int n;

cin >> n;

cout << sub1(n) << endl;

return 0;

}

A.14

B.10

C.18

D.4

CP2_1_20.执行下列程序,若给i,n分别输入2和6,输出的结果是(  )。

输出结果是(  )。

#include <iostream>

#include <cmath>

using namespace std;

int f(int x,int n)

{

    if(n == 0)

return 1;

    else

return x*pow(x,n-1);

}

int main()

{

int i,n;

cin >> i >> n;

cout << f(i,n) << endl;

return 0;

}

A.16

B.36

C.32

D.64

二、编程题(共2题,每题15分,共30分)

CP2_1_21:

编写程序,其功能是:求一个3×3整型二维数组中对角线元素之和,并输出结果。

样例:

输入:1 2 3 4 5 6 7 8 9

输出:15

CP2_1_22:

编写程序计算一个人的体重指数(BMI),国际上是通过计算公式来计算的,BMI的公式=体重(公斤)/身高(米)的平方。计算出的体重指数按照我国标准分类为:BMI<18.5消瘦。18.5-24.9正常,25-27.9超重,≥28肥胖。完成计算,判断其类别并输出。

说明:

(1)设体重的范围40-120kg,身高的范围1.4-2.1m。若输入的体重,或身高不在范围内,则直接输出NO。

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

样例1:

输入:70.5 1.72       //体重:70.5(kg),身高:1.72(m)

输出:23.8304 正常    //BMI:23.8304,类别:正常

样例2:

输入:90 1.65

输出:33.0579 肥胖

样例3:

输入:190 1.85

输出:NO

#include <iostream>

using namespace std;

void f(int w,int h)

{

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

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

}

int main()

{

int w,h;                // w代表体重,h代表身高

cin >> w >> h; 

if (w<40 || w>120||h<1.4||h>2.1)   

   {  

      cout << "NO" << endl;

      return 0;

   }

f(w,h);

return 0;

}

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

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

相关文章

PL/SQL Developer如何连接Oracle数据库(汉化)

简介 PL/SQL Developer是一种用于Oracle数据库开发的集成开发环境&#xff08;IDE&#xff09;。它提供了一个可视化的界面&#xff0c;使开发人员能够方便地编写、调试和执行PL/SQL代码。PL/SQL Developer还具有其他功能&#xff0c;如数据库对象浏览器、SQL编辑器、数据导入…

python深浅拷贝,可变变量与不可变变量

赋值 在 python 中&#xff0c;赋值是将一个值或对象分配给一个变量的过程。赋值操作符是 &#xff0c;用于将右侧的值或对象赋给左侧的变量。 赋值&#xff1a;l2的值会随着原对象l1的值一同改变 l1 [1, 2, 3, 4] print(l1:, l1) l2 l1 print(l2:, l2) 给li列表新增元素 …

Java基础:面向对象编程3

1 Java可变长参数 1.1 概述 Java 的可变长参数&#xff08;Varargs&#xff09;是在 Java 1.5 中引入的功能&#xff0c;允许方法接受任意数量的相同类型的参数。可变参数的语法是在参数类型后面加上三个点&#xff08;...&#xff09;&#xff0c;例如 int... numbers。 1.…

Zsh 安装与配置

目录 1 环境配置 1.1 基本工具安装 1.2 安装 oh-my-zsh 1.3 从.bashrc中迁移配置&#xff08;可选&#xff09; 2 主题配置 2.1 内置主题 2.2 自定义主题 2.2.1 推荐主题 3 插件安装 3.1 推荐插件 3.1.1 zsh -autosuggestions 3.1.2 zsh-syntax-highlighting 3.2 启…

kubernetes中的微服务

目录 一 什么是微服务 二 微服务的类型 三 ipvs模式 3.1 ipvs模式配置方式 四 微服务类型详解 4.1 clusterip 4.2 ClusterIP中的特殊模式headless 4.3 nodeport 4.4 loadbalancer 4.5 metalLB 4.6 externalname 五 Ingress-nginx 5.1 ingress-nginx功能 5.2 部署…

【数据结构】1.顺序表

「前言」 &#x1f308;个人主页&#xff1a; 代码探秘者 &#x1f308;C语言专栏&#xff1a;C语言 &#x1f308;C专栏&#xff1a; C &#x1f308;喜欢的诗句:天行健,君子以自强不息. 线性表 线性表&#xff08;List&#xff09;&#xff1a;零个或多个数据元素的有限序列…

软考(网工)——数据通信基础

&#x1f550;信道特性 1️⃣概念 通信得目的就是传递信息。通信中产生和发送信息得一端叫信源&#xff0c;接受信息的一段叫信宿&#xff0c;信源和信宿之间的通信线路称为信道。 2️⃣信道带宽 W 模拟信道&#xff1a;Wf2-f1&#xff08;f2 和 f1分别表示&#xff1a;信道…

树的中心——dfs

题目 代码 #include <bits/stdc.h> using namespace std; const int N 1e510, M N*2; int h[N], e[M], ne[M], idx; int n; int ans 2e9; bool st[N]; void add(int a, int b) // 添加一条边a->b {e[idx] b, ne[idx] h[a], h[a] idx ; } int dfs(int u) {int…

芯片记录一下

1、MC34063 电源管理DCDC 输入电压&#xff1a;-0.3~40V 输出电压&#xff1a;Vout1.25*&#xff08;1R2/R1&#xff09; 1.25V~40V

【报错解决】安装scikit-rebate包报错

scikit-rebate ReBATE是一套基于Relief的机器学习特征选择算法 报错信息 解决方案 conda install numpy scipy scikit-learnpip install skrebate依次运行以上两步&#xff0c;即可成功安装&#xff01;

如何实时监测你的光纤资源?

光纤资源作为重要的通信基础设施&#xff0c;实时监测光纤资源的状态是运营管理好光纤资源的重要手段&#xff0c;那常用的监测指标维度与方法有那些呢&#xff1f; 维度1&#xff1a;资源数量 资源数量主是建立资源的基础档案&#xff0c;掌握光缆的型号、路由&#xff1b;光…

健康推荐系统:SpringBoot技术实现

3系统分析 3.1可行性分析 通过对本基于智能推荐的卫生健康系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于智能推荐的卫生健康系统采用SSM框架&#…

python 位运算 笔记

起因&#xff0c; 目的: 位运算&#xff0c;令我头疼的地方。算法题里面也是经常见到。 位运算。 按位或&#xff0c;OR, | , 只要有一个为1&#xff0c; 结果就是1&#xff0c;否则为0按位异或&#xff0c;XOR, ^, 2个数不同&#xff0c;结果为1&#xff0c; 否则为0&#…

k8s jenkins 2.421动态创建slave

k8s jenkins 动态创建slave 简述使用jenkins动态slave的优势&#xff1a;制作jenkins-slave从节点jenkins-slave-latest:v1配置jenkins动态slave配置 Pod Template配置容器模板挂载卷 测试 简述 持续构建与发布是我们日常工作中必不可少的一个步骤&#xff0c;目前大多公司都采…

《OpenCV计算机视觉》—— 使用DNN模块实现图片风格迁移

文章目录 OpenCV中的DNN模块一、功能概述二、支持的模型格式三、基本使用方法四、DNN 模块的特点五、常见应用示例 示例&#xff1a;图片风格迁移 OpenCV中的DNN模块 OpenCV中的DNN&#xff08;Deep Neural Network&#xff09;模块是一个功能强大的工具&#xff0c;它允许开发…

python pip安装requirements.txt依赖与国内镜像

python pip安装requirements.txt依赖与国内镜像 如果网络通畅&#xff0c;直接pip安装依赖&#xff1a; pip install -r requirements.txt 如果需要国内的镜像&#xff0c;可以考虑使用阿里的&#xff0c;在后面加上&#xff1a; -i http://mirrors.aliyun.com/pypi/simple --…

Linux--多路转接之epoll

上一篇:Linux–多路转接之select epoll epoll 是 Linux 下多路复用 I/O 接口 select/poll 的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率。它是 Linux 下多路复用 API 的一个选择&#xff0c;相比 select 和 poll&#xff0c…

自建 Bitwarden 密码管理器

大佬零度解说的文件修改,与原文不太一样,详细请看&#xff1a;自建 Bitwarden 密码管理器&#xff01;完全免费开源&#xff0c;轻量级&#xff0c;安全又可靠&#xff01;-零度解说 教程&#xff1a;你的密码真的安全吗&#xff1f;Bitwarden 密码管理器&#xff01;一键部署…

【Redis】缓存预热、雪崩、击穿、穿透、过期删除策略、内存淘汰策略

Redis常见问题总结&#xff1a; Redis常见问题总结Redis缓存预热Redis缓存雪崩Redis缓存击穿Redis缓存穿透 Redis 中 key 的过期删除策略数据删除策略 Redis内存淘汰策略一、Redis对过期数据的处理&#xff08;一&#xff09;相关配置&#xff08;二&#xff09;内存淘汰流程&a…

el-table表格里面有一条横线

表格里面 有一条横线&#xff0c; 出现原因&#xff1a;是自定义了表格头.使用了固定列&#xff08;fixed&#xff09;&#xff0c;定宽。就很难受。。。 添加样式文件&#xff1a; <style lang"scss" scoped>::v-deep {.el-table__fixed-right {height: 100%…