CCF编程能力等级认证GESP—C++1级—20230923

CCF编程能力等级认证GESP—C++1级—20230923

  • 单选题(每题 2 分,共 30 分)
  • 判断题(每题 2 分,共 20 分)
  • 编程题 (每题 25 分,共 50 分)
    • 买⽂具
    • ⼩明的幸运数
  • 答案及解析
    • 单选题
    • 判断题
    • 编程题1
    • 编程题2

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

1、我们通常说的“内存”属于计算机中的( )。

A. 输出设备
B. 输⼊设备
C. 存储设备
D. 打印设备

2、. 以下 C++不可以作为变量的名称的是( )。

A. redStar
B. RedStar
C. red_star
D. red star

3、C++表达式 2 - 1 && 2 % 10 的值是( )。

A. 0
B. 1
C. 2
D. 3

4、下⾯C++代码段执⾏后的输出是( )。

int a = 3, b = 4;
cout << "a+b=" << a + b;
A. 3+4= 7
B. 3+4=7
C. a+b=7
D. a+b=a+b

5、在 C++语⾔中, int 类型的变量 x 、 y 、 z 的值分别为2 、4 、6,以下表达式的值为真的是( )。

A. x > y || x > z
B. x != z - y
C. z > y + x
D. x < y || !x < z

6、对 int 类型的变量 a 、 b 、 c ,下列语句不符合C++语法是()。

A. c += 5;
B. b = c % 2.5;
C. a = (b = 3, c = 4, b + c);
D. a -= a = (b = 6) / (c = 2);

7、下⾯C++代码执⾏后的输出是( )。

int m = 14;
int n = 12;
if (m % 2 == 0 && n % 2 == 0)cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)cout << "都是奇数";
elsecout << "不都是偶数或奇数" ;
A. 都是偶数
B. 都是奇数
C. 不都是偶数或奇数
D. 以上说法都不正确

8、下⾯C++代码执⾏后的输出是( )。

int m = 14;
int n = 12;
if (m % 2 && n % 2)cout << "都是偶数";
else if (m % 2 == 1 && n % 2 == 1)cout << "都是奇数";
elsecout << "不都是偶数或奇数" ;
A. 都是偶数
B. 都是奇数
C. 不都是偶数或奇数
D. 以上说法都不正确

9、下⾯C++代码执⾏后的输出是( )。

int m = 7;
if (m / 5 || m / 3)cout << 0;
else if (m / 3)cout << 1;
else if (m / 5)cout << 2;
elsecout << 3;
A. 0
B. 1
C. 2
D. 3

10、下⾯C++代码段执⾏后的输出是( )。

int cnt = 0;
for (int i = 1; i <= 5; i++)cnt = cnt + 1;
cout << cnt;
A. 1
B. 4
C. 5
D. 10

11、下⾯C++代码执⾏后的输出是( )。

int tnt = 0;
for (int i = 1; i < 5; i += 2)tnt = tnt + i;
cout << tnt;
A. 2
B. 4
C. 9
D. 10

12、下⾯C++代码执⾏后的输出是( )。

int n = 5;
int cnt = 1;
while (n >= 0){cnt += 1;n -= 2;
}
cout << cnt;
A. 3
B. 4
C. 6
D. 7

13、下⾯C++代码⽤于求正整数的所有因数,即输出所有能整除⼀个正整数的数。如,输⼊10,则输出为 1、2、5、10;输⼊12,则输出为1、2、3、4、6、12;输⼊17,则输出为 1、17。在横线处应填⼊代码是( )。

int n = 0;
cout << "请输入一个正整数: ";
cin >> n;
for (________) // 此处填写代码if (n % i == 0)cout << i << endl; 
A. int i = 1; i < n; i + 1
B. int i = 1; i < n + 1; i + 1
C. int i = 1; i < n; i++
D. int i = 1; i < n + 1; i++

14、在下列代码的横线处填写( ),可以使得输出是正整数1234 各位数字的平⽅和。

int n = 1234, s = 0;
for (; n; n /= 10)s += ________; //此处填写代码
cout << s << endl; 
A. n / 10
B. (n / 10) * (n / 10)
C. n % 10
D. (n % 10) * (n % 10)

15、执⾏以下 C++语⾔程序后,输出结果是( )。

int n = 5, s = 1;
for (; n = 0; n--)s *= n;
cout << s << endl; 
A. 1
B. 0
C. 120
D. ⽆法确定

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

1、早期计算机内存不够⼤,可以将字库固化在⼀个包含只读存储器的扩展卡中插⼊计算机主板帮助处理汉字。

2、神威·太湖之光超级计算机是中国⾃主研制的超级计算机,在全球超级计算机TOP500 排⾏榜中多次荣膺榜⾸。

3、C++表达式 int(3.14) 的值为 3 。

4、C++语句 cout<<(2,3,“23”) 的输出为 2,3,23 。

5、C++的循环语句 for (int i = 0; i <10; i += 2) 表⽰i 从0 开始到10 结束但不包含 10,间隔为 2。

6、C++表达式 (‘1’ + ‘1’) 的值为 ‘2’ 。

7、. 在 C++语⾔中, do-while 循环不可能导致死循环,但while 有可能。

8、在下⾯的 C++代码中,由于循环中的 continue 是⽆条件被执⾏,因此将导致死循环。

for (int i = 1; i < 10; i++) continue;

9、在 C++代码中,不可以将变量命名为 cout ,因为 cout 是C++的关键字。

10、. C++是⼀种⾼级程序设计语⾔。

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

买⽂具

【问题描述】
开学了,⼩明来到⽂具店选购⽂具。签字笔 2 元⼀⽀,他需要X⽀;记事本5元⼀本,他需要 Y 本;直尺 3 元⼀把,他需要Z把。⼩明⼿⾥有Q 元钱。你通过编程帮⼩明算算,他⼿⾥的钱是否够买他需要的⽂具。
【输入描述】
输⼊4⾏。
第⼀⾏包含⼀个正整数 X ,是⼩明购买签字笔的数量。约定1≤X≤10 。
第⼆⾏包含⼀个正整数 Y ,是⼩明购买记事本的数量。约定1≤Y≤10 。
第三⾏包含⼀个正整数 Z ,是⼩明购买直尺的数量。约定1≤Z≤10 。
第四⾏包含⼀个正整数 Q ,是⼩明⼿⾥的钱数(单位:元)。
【输出描述】
输出 2⾏。如果⼩明⼿⾥的钱够买他需要的⽂具,则第⼀⾏输出"Yes",第⼆⾏输出⼩明会剩下的钱数(单位:元); 否则,第⼀⾏输出"No",第⼆⾏输出⼩明缺少的钱数(单位:元)。
【样例输入 1】
1
1
1
20
【样例输出 1】
Yes
10
【样例输入 2】
1
1
1
5
【样例输出 2】
No
5

⼩明的幸运数

【问题描述】
所有个位数为 k 的正整数,以及所有 k 的倍数,都被⼩明称为“k 幸运数”。⼩明想知道正整数 L 和 R 之间(包括 L 和 R) 所有 k 幸运数的和,你能帮帮他吗?
【输入描述】
输⼊3⾏。第⼀⾏包含⼀个正整数 k,第⼆⾏包含⼀个正整数L,第三⾏包含⼀个正整数 R。约定 2≤k≤9,1≤L≤R≤1000。
【输出描述】
输出 1⾏,符合题意的幸运数之和。
【样例输入 1】
7
1
10
【样例输出 1】
7
【样例解释 1】
1 和 10 之间共有 1 个 7 幸运数:7。因为 7 既是 7 的倍数,个位数⼜为7。因此,结果为 7。
【样例输入 2】
7
10
20
【样例输出 2】
31
【样例解释 2】
10 和 20 之间共有 2 个 7 幸运数:14 和 17。14 是 7 的倍数,17 的个位数为7。因此,结果为 31。

答案及解析

单选题

1、
【答案】C
【考纲知识点】 计算机基础知识
【解析】本题属于考察计算机基础知识中的存储设备问题;内存是一种存储设备,也可以考虑关联内存中的“存”字,选 C。

2、
【答案】D
【考纲知识点】 变量的定义与使用
【解析】本题属于变量命名规则问题。C++中的变量包括数字、字母和下划线。D 选项中含有空格,因此选 D。

3、
【答案】B
【考纲知识点】 基本运算
【解析】本题考察运算符优先级,算数运算符包括:+,-,*,/,%,优先级大于&&。2-1 等于 1,2%10 等于 2,1&&2 等于 1,选 B。

4、
【答案】C
【考纲知识点】 变量的定义与使用、输入输出语句、基本运算【解析】本题考察程序模拟,双引号和没有双引号。直接输出双引号里的内容,计算 a+b 的结果,然后输出。选 C。

5、
【答案】D
【考纲知识点】 基本运算
【解析】本题考察算数运算符、比较运算符和逻辑运算符。比较运算符高于逻辑运算符,例如 A 选项,先计算 x>y 和 x>z,x>y 结果 0,x>z 结果是0,0||0 的结果是 0,因此 A 的表达式值为 0。同理计算 BCD 选项,选D。

6、
【答案】B
【考纲知识点】 基本运算
【解析】本题考察 C++的语法知识点。%运算符,操作数只能是整数,c%2.5不符合语法规则,因此选 B。

7、
【答案】A
【考纲知识点】 选择结构、基本运算
【解析】本题考察程序模拟结果,考察 if 分支结构。14 和12 都是偶数,对2取余结果都等于 0,因此 A 选项正确。

8、
【答案】C
【考纲知识点】 选择结构、基本运算
【解析】本题考察程序模拟结果,注意是考察的输出结果,输出结果不一定与事实相符。首先 14 和 12 都是偶数,14%2 的结果等于 0,12%2 也是一样,会进入第2 个 if 判断,最终输出 C 选项。

9、
【答案】A
【考纲知识点】 选择结构、基本运算
【解析】本题考察程序模拟结果,考察 if 语句和除法运算。整数除以整数的答案还是整数,7/51,7/32,第 1 个 if 条件成立,输出0,选A。

10、
【答案】C
【考纲知识点】 循环结构
【解析】本题考察 for 循环结构,循环执行了 5 次,cnt 增加了5,答案选C。

11、
【答案】B
【考纲知识点】 循环结构
【解析】本题考察 for 循环结构,循环执行了 i=1,i=3,共2 次,注意i+=2;cnt 增加了 1+3,答案选 B。

12、
【答案】B
【考纲知识点】 循环结构、基本运算
【解析】本题考察 while 循环结构,循环执行了 n=5,n=3,n=1 共3 次,cnt 增加了 3,最开始 cnt=1,答案选 B。

13、
【答案】D
【考纲知识点】 循环结构、选择结构
【解析】本题考察 for 循环结构,求一个正整数的所有因子,1 和n 是数字n的因子,循环的终止条件 i<=n,或者 i<n+1,B 和 D 选项符合。B 选项中i+1,i 的值不能累加,会造成死循环,D 选项正确。

14、
【答案】D
【考纲知识点】 循环结构、基本运算
【解析】本题考察 for 循环结构,求各位数字的平方和,BD 是求的平方和,D选项可以分别求出各位上的数字,选 D。

15、
【答案】A
【考纲知识点】 循环结构、基本运算
【解析】本题考察 for 循环结构,循环推出条件 n 赋值为0,循环不会执行,输出 s 原有值 1。选 A。

判断题

1、
【答案】正确
【考纲知识点】 计算机基础知识、计算机历史
【解析】本题计算机基础知识,计算机存储。

2、
【答案】正确
【考纲知识点】 计算机历史
【解析】本题计算机发展,超级计算机。

3、
【答案】正确
【考纲知识点】数据类型
【解析】本题 C++语言强制类型转换,将浮点型转换为整形,用int()格式。

4、
【答案】错误
【考纲知识点】 输入输出语句
【解析】本题考察 C++语言—逗号表达式,输出括号内最后一项内容。

5、
【答案】正确
【考纲知识点】 循环结构
【解析】本题考察 C++循环知识,看 for 里面的条件,i 初始值是0,每次增加2,i 分别是 0,2,4,6,8,10,到 10 退出循环。

6、
【答案】错误
【考纲知识点】 基本数据类型、基本运算
【解析】本题考察 C++字符知识,字符相加是根据对应 ASCII 码值相加,‘1’的ASCII
值是 49,‘2’的 ASCII 值是 50,输出是 49+49 对应的字符,不是50。

7、
【答案】错误
【考纲知识点】 循环结构
【解析】本题考察 C++循环知识,只要条件成立,都会导致死循环。

8、
【答案】错误
【考纲知识点】 循环结构
【解析】本题考察 C++循环知识,循环变量会增加,等于10 的时候退出循环。

9、
【答案】错误
【考纲知识点】 变量的定义和使用
【解析】本题考察 C++知识,cout 不是关键字,是一个类的对象。

10、
【答案】正确
【考纲知识点】 计算机基础知识
【解析】本题考察 C++语言知识,c++是一门高级程序设计语言。

编程题1

1、
【题目大意】
1.已知买一个签字笔、记事本、直尺的价格,输入要买的数量和总钱数,问是否能够买到需要的数量。
【考纲知识点】
1.变量的定义与使用、选择结构、基本运算、输入输出语句。
【解题思路】
1.按题目要求定义好需要的变量,并实现输入;
2.根据单价求出购买这些数量的需要总钱数;
3.如果有的钱数大于等于需要的钱数,输出“Yes”和剩余的钱数;否则输出“No” 和缺少的钱数。

#include <iostream>using namespace std;int main(){int x, y, z, q, need;cin >> x >> y >> z >> q;need = x * 2 + y * 5 + z * 3;if(need <= q){cout << "Yes" << endl;cout << q - need;}else{cout << "No" << endl;cout << need - q;}return 0;
}

编程题2

2、
【题目大意】
1.求 1-n 之间所有的数字是否是幸运数字。
【考纲知识点】
1.变量的定义与使用、控制语句结构、逻辑运算、算术运算、输入输出语句等。
【解题思路】
1.按题目要求定义好需要的变量,并实现输入;
2.判断每个数字是否是幸运数字,各位是 7 或者是 7 的倍数;3.是的话就累加,最终输出汇总结果。

#include <iostream>using namespace std;int main(){int k, l, r, sum = 0;cin >> k >> l >> r;for (int i = l; i <= r; i++){int ge = i % 10;if (ge == k || i % k == 0)sum += i;}cout << sum;return 0;
}

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

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

相关文章

MFC CLXHHandleEngine动态库-自定义设置对话框使用

实现的效果如下所示&#xff1a; void CSampleDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 CSgxMemDialog dlg(180, 100); dlg.SetEnable(true); dlg.SetWindowTitle(_T("自定义对话框")); dlg.AddStatic(1000, //控件资源…

基于ssm亿互游在线平台设计与开发论文

摘 要 随着旅游业的迅速发展&#xff0c;传统的旅游资讯查询方式&#xff0c;已经无法满足用户需求&#xff0c;因此&#xff0c;结合计算机技术的优势和普及&#xff0c;特开发了本亿互游在线平台。 本文研究的亿互游在线平台基于SSM框架&#xff0c;采用JSP技术、Java语言和…

HTML行内元素和块级元素的区别? 分别有哪些?

目录 一、行内元素和块级元素的区别二、行内元素和块级元素分别有哪些1、行内元素2、块级元素 一、行内元素和块级元素的区别 1、行内元素不会占据整行&#xff0c;在一条直线上排列&#xff0c;都是同一行&#xff0c;水平方向排列&#xff1b;    2、块级元素可以包含行内…

Android---Kotlin 学习001

Kotlin 的诞生 2011年&#xff0c;JetBrains 宣布开发 Kotlin 编程语言&#xff0c;这门新语言可以用来编写在 Java 虚拟机上运行的代码&#xff0c;是 Java 和 Scale 语言之外的又一选择。2017年&#xff0c;Google 在赢得与 Oracle 的诉讼一年后&#xff0c;Google 宣布 Ko…

仿短视频风格的自适应苹果CMS模板源码

这是一款仿短视频风格的自适应苹果CMS模板源码&#xff0c;设计简洁&#xff0c;适合用于搭建个人视频网站或者短视频分享平台。模板支持响应式布局&#xff0c;演示地 址 runruncode.com/yingshimanhau/19650.html 适配各种屏幕尺寸&#xff0c;功能丰富&#xff0c;用户体验良…

H.265视频压缩编码标准

H.265&#xff08;High Efficiency Video Coding&#xff0c;也称为HEVC&#xff09;是一种新一代视频压缩编码标准&#xff0c;被视为H.264的继任者。它引入了许多创新的技术和算法&#xff0c;以提供更高质量的视频压缩效果。在本文中&#xff0c;我将详细介绍H.265的背景、特…

【Go自学版】03-即时通信系统2

4. 在线用户查询 main.go | server.go | user.go // server.go type Server struct {IP stringPort int// 在线用户列表OnlineMap map[string]*UsermapLock sync.RWMutex// 消息广播Message chan string }// 创建server接口 func NewServer(ip string, port int) *Server…

EMNLP2023 | 短篇论文接受列表,含全部论文下载

来源: AINLPer公众号&#xff08;每日干货分享&#xff01;&#xff01;&#xff09; 编辑: ShuYini 校稿: ShuYini 时间: 2023-12-12 引言 EMNLP2023 于12月10日在新加坡落下帷幕&#xff0c;此次会议顺利举行。今年EMNLP2023 的投稿论文数量将近5000篇&#xff0c;长论文接收…

人工智能|深度学习——知识蒸馏

一、引言 1.1 深度学习的优点 特征学习代替特征工程&#xff1a;深度学习通过从数据中自己学习出有效的特征表示&#xff0c;代替以往机器学习中繁琐的人工特征工程过程&#xff0c;举例来说&#xff0c;对于图片的猫狗识别问题&#xff0c;机器学习需要人工的设计、提取出猫的…

安装python

1.下载python 选择版本 选择可执行文件安装包 2.安装 输入python检查是否安装成功

(十六)Flask之蓝图

蓝图 Flask蓝图&#xff08;Blueprint&#xff09;是Flask框架中用于组织和管理路由、视图函数以及静态文件的一种机制。它提供了一种将应用程序拆分为更小、可重用组件的方式&#xff0c;使得项目结构更清晰&#xff0c;代码更易于维护。 使用Flask蓝图&#xff0c;可以将相…

​pickle --- Python 对象序列化​

源代码&#xff1a; Lib/pickle.py 模块 pickle 实现了对一个 Python 对象结构的二进制序列化和反序列化。 "pickling" 是将 Python 对象及其所拥有的层次结构转化为一个字节流的过程&#xff0c;而 "unpickling" 是相反的操作&#xff0c;会将&#xff08…

用Sketch for Mac轻松创作无限可能的矢量绘图

在如今的数码时代&#xff0c;矢量绘图软件成为了许多设计师和创意爱好者的必备工具。而在众多的矢量绘图软件中&#xff0c;Sketch for Mac无疑是最受欢迎的一款。它以其简洁易用的界面和强大的功能&#xff0c;让用户能够轻松创作出无限可能的矢量图形。 首先&#xff0c;Sk…

单域名https证书怎么申请

单域名https证书可以保护www和两个域名记录&#xff0c;如果保护的域名是子域名时&#xff0c;只能保护一个子域名。单域名https证书能够为网站提供加密的HTTPS连接&#xff0c;保护网站的数据安全。今天随SSL盾小编了解单域名https证书的申请。 1. 确定证书类型&#xff1a;根…

【Lidar】Laspy库介绍+基础函数(读取、可视化、保存、旋转、筛选、创建点云数据)

1 Laspy库介绍 laspy是一个Python库&#xff0c;主要用于读取、修改和创建LAS点云文件。该库兼容Python 2.6和3.5&#xff0c;并且可以处理LAS版本1.0-1.3的文件。 在laspy库中&#xff0c;可以使用命令行工具进行文件操作&#xff0c;如格式转换和验证&#xff0c;以及比较LAS…

Apache或Nginx在Linux上配置虚拟主机

在Linux上使用Apache或Nginx配置虚拟主机可以让您在同一台服务器上托管多个网站。这样不仅可以充分利用服务器资源&#xff0c;还能降低每个网站的运营成本。以下是使用Apache和Nginx配置虚拟主机的步骤。 使用Apache配置虚拟主机 安装Apache服务器软件。在终端中使用以下命令…

RK3568驱动指南|第八篇 设备树插件-第74章 虚拟文件系统ConfigFS介绍

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

mysql数据恢复

使用MySQL第三方工具binlog2sql binlog2sql&#xff0c;一款基于python开发的开源工具&#xff0c;是由大众点评团队的DBA使用python开发出来的&#xff0c;从MySQL binlog解析出你要的SQL。根据不同选项&#xff0c;你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。其功…

大数据驱动下的人口普查:新时代下的新变革

人口普查数据大屏&#xff0c;是指一种通过大屏幕显示人口普查数据的设备&#xff0c;可以将人口普查数据以可视化的形式呈现出来&#xff0c;为决策者提供直观、准确的人口数据。这种大屏幕的出现&#xff0c;让人口普查数据的利用变得更加高效、便捷。 如果您需要制作一张直观…

一篇文章让你读懂Jenkins的用途

Jenkins是一款强大的自动化构建工具,广泛应用于软件开发和测试领域。它能够帮助团队在软件开发过程中实现自动化,从而提高生产效率和质量。下面我们将详细介绍Jenkins的用途。 1、持续集成与持续部署 Jenkins最大的特点是支持持续集成与持续部署。在软件开发过程中,持续集…