CCF编程能力等级认证GESP—C++4级—样题1

CCF编程能力等级认证GESP—C++4级—样题1

  • 单选题(每题 2 分,共 30 分)
  • 判断题(每题 2 分,共 20 分)
  • 编程题 (每题 25 分,共 50 分)
    • 第一题 绝对素数
    • 第二题 填幻方
  • 参考答案
    • 单选题
    • 判断题
    • 编程题1
    • 编程题2

单选题(每题 2 分,共 30 分)

1、在 C++中,指针变量的大小(单位:字节)是( )

A. 2
B. 4
C. 8
D. 与编译器有关

2、以下哪个选项能正确定义一个二维数组( )

A. int a[][];
B. char b[][4];
C. double c[3][];
D. bool d[3][4];

3、在 C++中,以下哪种方式不能用于向函数传递参数()

A. 值传递
B. 引用传递
C. 指针传递
D. 模板传递

4、以下关于 C++函数的形参和实参的叙述,正确的是()

A. 形参是实参的别名
B. 实参是形参的别名
C. 形参和实参是完全相同的
D. 形参用于函数声明,实参用于函数调用

5、排序算法的稳定性是指( )

A. 相同元素在排序后的相对顺序保持不变
B. 排序算法的性能稳定
C. 排序算法对任意输入都有较好的效果
D. 排序算法容易实现

6、如果有如下二维数组定义,则 a[0][3]的值为()

int a[2][2] = {{0, 1}, {2, 3}};
A. 编译出错
B. 1
C. 3
D. 0

7、以下哪个选项能正确访问二维数组 array 的元素()

A. array[1, 2]
B. array(1)(2)
C. array[1][2]
D. array{1}{2}

8、以下哪个选项是 C++中正确的指针变量声明( )

A. int *p;
B. int p*;
C. *int p;
D. int* p*;

9、在 C++中,以下哪个关键字或符号用于声明引用()

A. pointer
B. &
C. *
D. reference

10、以下哪个递推关系式表示斐波那契数列( )

A. F(n) = F(n-1) + F(n-2) + F(n-3)
B. F(n) = F(n-1) + F(n-2)
C. F(n) = F(n-1) * F(n-2)
D. F(n) = F(n-1) / F(n-2)

11、以下哪个函数声明在调用时可以传递二维数组的名字作为参数?

A. void BubbleSort(int a[3][4]);
B. void BubbleSort(int a[][]);
C. void BubbleSort(int * a[]);
D. void BubbleSort(int ** a);

12、在 C++中,以下哪个关键字用来捕获异常( )

A. throw
B. catch
C. try
D. finally

13、在下列代码的横线处填写( ),可以使得输出是“20 10”。

#include <iostream>using namespace std;
void xchg(________________) { // 在此处填入代码int t = x;x = y;y = t;
}
int main() {int a = 10, b = 20;xchg(a, b);cout << a << " " << b << endl;return 0;
}
A. int x, int y
B. int & x, int & y
C. int a, int b
D. int & a, int & b

14、在下列代码的横线处填写( ),可以使得输出是“21”。

#include <iostream>using namespace std;int main() {int a[5];a[0] = 1;for (int i = 1; i < 5; i++)a[i] = a[i – 1] * 2;int sum = 0;for (int i = 0; i < 5; ________) // 在此处填入代码sum += a[i];cout << sum << endl;return 0;
}
A. i++
B. i += 2
C. i += 3
D. i |= 2

15、在下列代码的横线处填写( ),完成对有 n 个 int 类型元素的数组array由小到大排序。

void BubbleSort(int array[], int n) {for (int i = n; i > 1; i--)for (____________________) // 在此处填入代码if (array[j] > array[j + 1]) {int t = array[j];array[j] = array[j + 1];array[j + 1] = t;}
}
A. int j = i – 2; j >= 0; j--
B. int j = i - 1; j >= 0; j--
C. int j = 0; j < i - 1; j++
D. int j = 0; j < i; j++

判断题(每题 2 分,共 20 分)

1、C++语言中的指针变量可以指向任何类型的数据。( )

2、在 C++语言中,函数的参数默认以地址传递方式进行传递。( )

3、C++语言中的全局变量在整个程序的生命周期内都是有效的。( )

4、递推算法通常有初始值。( )

5、冒泡排序是一种稳定的排序算法。( )

6、C++语言中,如果异常发生,但没有处理异常的代码,则程序会由于一直等待处理而死机。( )

7、C++语言中的局部变量在函数调用结束后会被销毁。( )

8、&和&&都是 C++语言的运算符,*和**也都是。( )

9、如果希望设计一个函数 xchg,实现交换两个 int 变量的值,则它的声明可以写为 void xchg(int a, int b);。( )

10、已知数组 a 定义为 int a[100];,则赋值语句 a[‘0’] = 3;会导致编译错误。( )

编程题 (每题 25 分,共 50 分)

第一题 绝对素数

【问题描述】
如果一个两位数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如 13。给定两个正整数 A、B,请求出大于等于A、小于等于B 的所有绝对素数。
【输入格式】
输入 1 行,包含两个正整数 A 和 B。保证 10<A<B<100。
【输出格式】
若干行,每行一个绝对素数,从小到大输出。
【样例输入】
11 20
【样例输出】
11
13
17

第二题 填幻方

【问题描述】
在一个 N×N 的正方形网格中,每个格子分别填上从1 到N×N 的正整数,使得正方形中任一行、任一列及对角线的几个数之和都相等,则这种正方形图案就称为“幻方”(输出样例中展示了一个 3×3 的幻方)。我国古代称为“河图”、“洛书”,又叫“纵横图”。
幻方看似神奇,但当 N 为奇数时有很方便的填法:
1)一开始正方形中没有填任何数字。首先,在第一行的正中央填上1。
2)从上次填数字的位置向上移动一格,如果已经在第一行,则移到同一列的最后一行;再向右移动一格,如果已经在最右一列,则移动至同一行的第一列。如果移动后的位置没有填数字,则把上次填写的数字的下一个数字填到这个位置。
3)如果第 2 步填写失败,则从上次填数字的位置向下移动一格,如果已经在最下一行,则移到同一列的第一行。这个位置一定是空的(这可太神奇了!),把上次填写的数字的下一个数字填到这个位置。
4)重复 2、3 步骤,直到所有格子都被填满,幻方就完成了!快来编写一个程序,按上述规则,制作一个 N×N 的幻方吧。
【输入格式】
输入为一个正奇数 N,保证 3≤N≤21。
【输出格式】
输出 N 行,每行 N 个空格分隔的正整数,内容为 N×N 的幻方。
【样例输入】
3
【样例输出】
8 1 6
3 5 7
4 9 2

参考答案

单选题

题号123456789101112131415
答案DDDDACCABBABBBC

判断题

题号12345678910
答案×××××

编程题1

#include <iostream>using namespace std;
bool is_prime(int num) {if (num < 2)return false;for (int i = 2; i * i <= num; i++) {if (num % i == 0)return false;}return true;
}
int main() {int a = 0, b = 0;cin >> a >> b;for (int num = a; num <= b; num++) {if (is_prime(num)) {int reversed_num = (num % 10) * 10 + num / 10;if (is_prime(reversed_num))cout << num << endl;}}return 0;
}

编程题2

#include<bits/stdc++.h>using namespace std;
int cube[21][21];
int main() {int n = 0;cin >> n;for (int i = 0; i < n; i++)for (int j = 0; j < n; j++)cube[i][j] = 0; // 清空正方形图表int x = 0, y = n / 2;cube[x][y] = 1; // 第 1 步,第一行正中填写 1for (int d = 2; d <= n * n; d++) {int nx = (x + n - 1) % n;int ny = (y + 1) % n; // 第 2 步,向右上移动一格if (cube[nx][ny] != 0) {nx = (x + 1) % n; // 第 3 步,如果第 2 步失败,向下移动一格ny = y;}cube[nx][ny] = d; // 填写下一个数字x = nx;y = ny;}for (int i = 0; i < n; i++) { // 输出幻方cout << cube[i][0];for (int j = 1; j < n; j++)cout << " " << cube[i][j];cout << endl;}return 0;
}

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

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

相关文章

上海某公司医疗实施工程师笔试题

文章目录 一、Oracle数据库基础二、作为一个实施人员&#xff0c;用户如果提出我们软件功能所不具备的需求&#xff0c;你该如何处理&#xff1f;简单列出你可能采取的几种措施三、简答题三、答案1.Oracle数据库基础2.作为一个实施人员&#xff0c;用户如果提出我们软件功能所不…

基于mindspore的大模型llama2-7b---微调/推理

环境信息&#xff1a; 1.mindformers指导链接&#xff1a; https://gitee.com/mindspore/mindformers/blob/dev/docs/model_cards/llama2.md#%E6%A8%A1%E5%9E%8B%E6%9D%83%E9%87%8D%E4%B8%8B%E8%BD%BD%E4%B8%8E%E8%BD%AC%E6%8D%A2 2.镜像&#xff1a;mindformers0.8.0_ms2.2.0…

钉钉统计部门个人请假次数go

前言 最近小组需要统计部门各种请假次数&#xff0c;写了一个方法&#xff0c;第一次实战中用到递归函数&#xff0c;简单记录一下。 效果展示 这些数据不需要返回json&#xff0c;这里这样是为了方便测试。可以通过这些数据完成其它的操作。 功能实现 钉钉服务端调试工具A…

短剧公众号系统:连接创作者与观众的桥梁

随着数字媒体的迅速发展&#xff0c;短剧公众号系统作为一种新型的内容传播方式&#xff0c;逐渐在社交媒体平台上崭露头角。它通过将创作者与观众紧密连接&#xff0c;为双方提供了丰富的内容与互动体验。本文将探讨短剧公众号系统的价值&#xff0c;以及如何通过这种系统连接…

Java主流分布式解决方案多场景设计与实战

Java的主流分布式解决方案的设计和实战涉及到多个场景&#xff0c;包括但不限于以下几点&#xff1a; 分布式缓存&#xff1a;在Java的分布式系统中&#xff0c;缓存是非常重要的一部分。常用的分布式缓存技术包括Redis、EhCache等。这些缓存技术可以用来提高系统的性能和响应…

多个Obj模型合并

MergeObj&#xff08;合并Obj模型&#xff09; 1 概述 由于项目原因&#xff0c;需要下载谷歌地图上的模型&#xff0c;关于谷歌模型下载的&#xff0c;见我的CSDN博客. 由于下载谷歌地图上的数据&#xff0c;会分多个模块下载。下载完成后&#xff0c;怎么合并&#xff0c;在…

【数据结构初阶】链表OJ

链表OJ 题目一&#xff1a;移除链表元素题目二&#xff1a;反转链表题目三&#xff1a;链表的中间节点题目四&#xff1a;链表中倒数第k个结点题目五&#xff1a;合并两个有序链表题目六&#xff1a;链表分割题目七&#xff1a;链表的回文结构题目八&#xff1a;相交链表题目九…

B2B企业如何打造独立站:从策略到实施的全面指南

随着数字化转型的加速&#xff0c;B2B企业越来越认识到独立站的重要性。然而&#xff0c;如何建设一个优秀的独立站&#xff0c;以及如何将独立站与企业的整体战略相结合&#xff0c;是许多企业面临的挑战。本文将详细探讨B2B企业如何从策略到实施打造一个成功的独立站。 一、…

Pytorch自动混合精度的计算:torch.cuda.amp.autocast

1 autocast介绍 1.1 什么是AMP? 默认情况下&#xff0c;大多数深度学习框架都采用32位浮点算法进行训练。2017年&#xff0c;NVIDIA研究了一种用于混合精度训练的方法&#xff0c;该方法在训练网络时将单精度&#xff08;FP32&#xff09;与半精度(FP16)结合在一起&#xff…

2656. K 个元素的最大和 --力扣 --JAVA

题目 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你需要执行以下操作 恰好 k 次&#xff0c;最大化你的得分&#xff1a; 从 nums 中选择一个元素 m 。 将选中的元素 m 从数组中删除。 将新元素 m 1 添加到数组中。 你的得分增加 m 。 请你返回执行以上操作恰好 k …

【外贸干货】收到只有一句话的询盘该怎么回复?

外贸业务员收到询盘无疑是开心的事情&#xff0c;但收到的询盘多了&#xff0c;才知道“套路”也更深了。今天&#xff0c;我们将通过几个实际的询盘案例&#xff0c;来重点说一说当遇到一些简单笼统的询盘&#xff0c;甚至是只有一句话的询盘时&#xff0c;应该怎么办&#xf…

共享台球室小程序系统的数据统计与分析功能

随着共享经济的繁荣发展&#xff0c;共享台球室作为一种新型的娱乐方式&#xff0c;越来越受到年轻人的喜爱。为了更好地满足用户需求和提高管理效率&#xff0c;我们设计了一款基于微信小程序的共享台球室预订与管理系统。该系统不仅具备基本的预订和管理功能&#xff0c;还集…

Alter database open fails with ORA-00600 kcratr_nab_less_than_odr

Alter database open fails with ORA-00600 kcratr_nab_less_than_odr (Doc ID 1296264.1)​编辑To Bottom APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.1 to 11.2.0.1 [Release 11.2] Oracle Database - Enterprise Edition - Version 12.1.0.1 to …

2023NOIP A层联测32 红楼 ~ Eastern Dream

题目大意 给定一个长度为 n n n的序列 a a a&#xff0c;有 m m m次操作&#xff0c;每次操作有两种类型&#xff1a; 1 x y k&#xff0c;对于所有满足 ( i − 1 ) m o d x ≤ y (i-1)\bmod x\leq y (i−1)modx≤y的 i i i&#xff0c;将 a i a_i ai​的值加上 k k k2 l r&a…

servlet 的XML Schema从哪边获取

servlet 6.0的规范定义&#xff1a; https://jakarta.ee/specifications/servlet/6.0/ 其中包含的三个XML Schema&#xff1a;web-app_6_0.xsd、web-common_6_0.xsd、web-fragment_6_0.xsd。但这个页面没有给出下载的链接地址。 正好我本机有Tomcat 10.1.15版本的源码&#…

vue3 中的ref、reactive的介绍

reactive&#xff1a; 当使用reactive()处理数据后&#xff0c;数据再次被使用时&#xff0c;就会进行依赖收集 当数据发生改变时&#xff0c;所有收集到的依赖进行对应的响应式操作&#xff08;如&#xff1a;更新界面&#xff09;&#xff0c; 事实上&#xff0c;我们编写的d…

深入解析JavaScript中的变量作用域与声明提升

JS中的变量作用域 背景&#xff1a; ​ 之前做js逆向的时候&#xff0c;有一个网站很有意思&#xff0c;就是先出现对其赋值&#xff0c;但是后来的变量赋值没有对其发生修改&#xff0c;决定说一下js中的作用域问题. 全局作用域&#xff1a; ​ 全局作用域的变量可以在任何…

PDF自动打印

​ 最近接到用户提过来的需求&#xff0c;需要一个能够自动打印图纸的功能&#xff0c;经过几天的研究整出来个初版了的&#xff0c;分享出来给大家&#xff0c;希望能有帮助。 需求描述: ​ 生产车间现场每天都有大量的图纸需要打印&#xff0c;一个一个打印太慢了&#xff0…

什么是3D建模中的“高模”和“低模”?

3D建模中什么是高多边形和低多边形&#xff1f; 高多边形建模和低多边形建模之间的主要区别正如其名称所暗示的那样&#xff1a;您是否在模型中使用大量多边形或少量多边形。 然而&#xff0c;在决定每个模型的细节和多边形级别时&#xff0c;还需要考虑其他事项。最值得注意的…

一文解码语言模型:语言模型的原理、实战与评估

在本文中&#xff0c;我们深入探讨了语言模型的内部工作机制&#xff0c;从基础模型到大规模的变种&#xff0c;并分析了各种评价指标的优缺点。文章通过代码示例、算法细节和最新研究&#xff0c;提供了一份全面而深入的视角&#xff0c;旨在帮助读者更准确地理解和评估语言模…