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

CCF编程能力等级认证GESP—C++2级—20250628

CCF编程能力等级认证GESP—C++2级—20250628

  • 单选题(每题 2 分,共 30 分)
  • 判断题(每题 2 分,共 20 分)
  • 编程题 (每题 25 分,共 50 分)
    • 数三角形
    • 幂和数

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

1、2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用
身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。

A. 处理器
B. 存储器
C. 输入设备
D. 输出设备

正确答案:C

2、小明购置的计算机使用一年后觉得内存不够用了,想购置一个容量更大的内存条,这时他需要的内存条是( )。

A. RAM
B. ROM
C. CACHE
D. EPROM

正确答案:A

3、下面C++代码执行后的输出是( )。

int a=3;
float b = 3.5;
cout << (a *= b);
A. 3
B. 3.5
C. 10
D. 11

正确答案:C

4、下面C++代码用于获得正整数的第3位数,如1234则输出2。如果是一位数或两位数,则输出0。横线处应填入的代码是( )。

int N, remainder;
cout << "请输入正整数:";
cin >> N;
cout << _________________;
A. N % 1000 / 100
B. N / 1000 % 100
C. N / 1000 / 100
D. N % 100 / 100

正确答案:A

5、下面C++代码执行,其输出是( )。

int a, b = (6, 28);
b == a;
a = b;
cout << a << ' ' << b;
A. 6 28
B. 6 6
C. 28 6
D. 28 28

正确答案:D

6、今天星期六,其后第N天星期几?如果是星期一到星期六输出形如:星期1、星期2等,星期天则输出星期天。下面的C++代码用于完成上述要求,横线处应填上的代码是( )。

int N, remainder;
cin >> N;
remainder = _____________;
if(remainder == 0)printf("星期六后第%d天是星期天\n", N);
elseprintf("星期六后第%d天是星期%d\n", N, remainder);
A. (N + 6) / 7
B. (N + 6) // 7
C. N % 7
D. (N + 6) % 7

正确答案:D

7、下面的C++代码执行后其输出是( )。

int i, Sum = 0;
for (i = 1; i < 10; i++){Sum += i;if(i % 2) continue;if(i % 7) break;
}
cout << Sum;
A. 45
B. 28
C. 3
D. 0

正确答案:C

8、下面C++代码执行后其输出是( )。

int i, j;
for(i = 1; i < 12; i++)for(j = 1; j < i; j++)if(i * j % 2 == 1)break;
cout << i * j;
A. 110
B. 22
C. 12
D. 3

正确答案:C

9、下面C++代码执行后输出是( )。

int i, cnt = 0;
for(i = -99; i < 100; i += 2)cnt = 1 + cnt;
cout << cnt;
A. 101
B. 100
C. 99
D. 98

正确答案:B

10、下面C++代码执行后输出是( )。

int i;
for(i = 1; i < 10; i++){if(i % 3 != 0){printf("A#");continue;}elsebreak;printf("0#");
}
if(i == 10) cout << "1";
A. A#A#
B. A#0#A#0
C. A#A#1
D. A#0#A#0#1

正确答案:A

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

int i,j;
for(i = 0; i < 3; i++)for(j = 0; j < i; j++)printf("%d#%d-", i, j);
printf("END");
A. 0#0-1#0-2#0-2#1-END
B. 0#0-1#0-1#1-2#0-2#1-2#2-3#0-3#1-3#2-END
C. 0#0-1#0-1#1-2#0-2#1-2#2-END
D. 1#0-2#0-2#1-END

正确答案:D

12、下面C++代码执行后,将输出不能被3整除且除以5余数为2的数。下列选项不能实现的是( )。

int i,j;for(i = 0; i < 100; i++)if(______________________)cout << i << endl;
A. (i % 3 != 0) && (i % 5 == 2)
B. (i % 3) && (i % 5 == 2)
C. (i % 3) && !(i % 5 != 2)
D. !(i % 3) && (i % 5 == 2)

正确答案:D

13、下面C++代码用于判断一个大于0的正整数是几位数,横线处应填入代码先后是( )。

int N, cnt;
cout << "请输入大于0的正整数:";
cin >> N;
cnt = 0;
while (_________){cnt += 1;______________;
}
cout << cnt;
A.
N > 1
N = N / 10
B.
N > 1
N /= 10
C.
N == 0
N /= 10
D.
N > 0
N /= 10

正确答案:D

14、判断一个数是否为自守数。自守数的定义是如果一个数的平方其尾数与该数相同,则为自守数,如25的平方是625,其尾数是25,所以25是自守数。相关说法错误的是( )。

int N, N1, M1;
cout << "输入一个正整数:";
cin >> N;
N1 = N, M1 = N * N;
bool Flag = true;
while (N1 > 0){if (N1 % 10 != M1 % 10){Flag = false;break;}else{N1 = N1 / 10, M1 = M1 / 10;}
}
if (Flag == true)printf("%d的平方是%d,是自守数", N, N * N);
elseprintf("%d的平方是%d,不是自守数", N, N * N);
A. 如果Flag在循环中不被改为false,则说明该数是自守数
B. 代码 if (N1 % 10 != M1 % 10) 用于判断其个位数是否相等,如果不等,则表明不是自守数
C. 代码 N1 = N1 / 10, M1 = M1 / 10 将个位数去掉
D. 将 N1 > 0 改为 N > 0 效果相同

正确答案:D

15、下面C++代码实现输出如下图形,相关说法错误的是( )。

请输入层数: 10
0
12
345
6789
01234
567890
1234567
89012345
678901234
5678901234
int line_number, now_number;
int i,row;
cout << "请输入行数: ";
cin >> line_number;
now_number = 0;
for (row = 1; row < line_number + 1; row++){ // L1for (i = 0; i < row; i++){ // L2cout << now_number;now_number += 1;if (now_number == 10) now_number = 0; // L3}cout << endl;
}
A. 代码 now_number = 0 移动到 L1 和 L2 标记的两行代码之间,效果维持不变
B. 代码 now_number += 1 修改为 now_number = 1 + now_number 效果维持不变
C. 将代码 now_number == 10 调整为 now_number > 9 效果维持不变
D. 将最后一行的 cout << endl 修改为 cout << "\n" ,效果维持不变

正确答案:A

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

1、 人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌入操作系统及通信等功能,所以也不允许随身携带。( )

正确答案:正确

2、在C++代码中,假设N为正整数,则 N / 10 舍弃个位数。如果 N 小于10,则其值为0,大于10则是舍弃个位数的数。( )

正确答案:正确

3、下列C++代码执行后,其输出为 10 20 ,即 a == b 和 b == a 对 a 和 b 的值没有任何影响。( )

int a = 10, b = 20;
a == b;
b == a;
cout << (a, b);

正确答案:错误

4、 a 和 b 分别是C++的整型变量,如果表达式 max(a, b) == min(a, b) 的值为真,则说明 a 和 b 相等。( )

正确答案:正确

5、下面C++代码编译时将报错,因为字符变量 a 被赋值了浮点值。 ( )

char a = '1';
a = 45.6;
cout << a;

正确答案:错误

6、下面C++代码执行时如输入59.99,将输出 及格 两个汉字。( )

int score;
cout << "请输入学生成绩: ";
cin >> score;
if (score < 60)cout << "不及格";
elsecout << "及格";

正确答案:错误

7、在下面的C++代码中,因为 continue 将被执行,因此不会有输出。( )

int i;
for (i = 1; i < 10; i++)if (i % 2 == 0)continue;
if(i == 10)cout << "END";

正确答案:错误

8、下面的C++代码执行后将输出15。( )

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

正确答案:错误

9、将下面C++代码中的 (int i = 5; i > 1; i–) 调整为 (int i = 1; i < 5; i++) 输出结果相同,因为5到1与1到5的求和相同。( )

int tnt;
tnt = 0;
for (int i = 5; i > 1; i--)tnt += i;
cout << tnt;cout << endl;

正确答案:错误

10、为实现如下效果,即N行N列字符。当输入是奇数时,中间列为 * ,其他是-;当输入是偶数时,则中间两列是 * ,其他是-。字符阵列后的代码能实现其效果。( )

/*
5
--*--
--*--
--*--
--*--
--*--
*/
int N;
cin >> N;
int i,j;
for (i = 0; i < N; i++){for (j = 0; j < N; j++)if ((j == N / 2) || (j == (N-1) / 2))cout << "*";elsecout << "-";cout << endl;
}

正确答案:正确

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

数三角形

【问题描述】
直角三角形有两条直角边与一条斜边,设两条直角边的长度分别为a,b,则直角三角形的面积为ab2\frac{ab}{2}2ab
请你计算当直角边长a,b均取不超过n的正整数时,有多少个不同的面积为整数的直角三角形。直角边长分别为a,b和a’,b’的两个直角三角形相同,当且仅当a=a’,b=b′或者a=b’,b=a’。
【输入格式】
一行,一个整数 ,表示直角边长的最大值。
【输出格式】
输出一行,一个整数,表示不同的直角三角形数量。
【样例输入 1】
3
【样例输出 1】
3
【样例输入 2】
5
【样例输出 2】
9
【数据范围】
对于所有测试点,保证1≤n≤1000。

幂和数

【问题描述】
对于正整数n,如果n可以表示为两个2的次幂之和,即n=2x+2yn=2^x+2^yn=2x+2y(x,y均为非负整数),那么称n为幂和数。给定正整数l,r,请你求出满足l≤n≤r的整数n中有多少个幂和数。

【输入格式】
一行,两个正整数l,r,含义如上。

【输出格式】
输出一行,一个整数,表示l,r之间幂和数的数量。

【样例输入 1】
2 8
【样例输出 1】
6
【样例输入 2】
10 100
【样例输出 2】
20
【数据范围】
对于所有测试点,保证1≤l≤r≤1041≤l≤r≤10^41lr104

http://www.dtcms.com/a/285411.html

相关文章:

  • 张力场中的领航者:驾驭二元对立的“情境智慧”模型
  • UVC for USBCamera in Android - 篇二
  • HAL库的串口
  • Vite/Vue 项目 | 开发环境指定Host(允许其它电脑访问)
  • uniapp+vue2——自定义底部导航tabbar
  • STC89C52系列单片机内部结构详解
  • 我用EV-21569-SOM评估来开发ADSP-21569(八)-UART串口例程
  • 基于单片机的点阵式汉字电子显示屏的设计
  • Vue3 业务落地全景:脚手架、权限、国际化、微前端、跨端与低代码 50 条实战心法
  • 基于单片机的便携太阳能光伏系统研究
  • 基于单片机金沙河粮仓环境监测系统设计与实现
  • stm32驱动双步进电机
  • 第三章第四节 按键控制光敏传感器控制蜂鸣器
  • LeetCode|Day18|20. 有效的括号|Python刷题笔记
  • 格式转换Total Excel Converter:20 种格式XLS XLSX 批量转 PDFWord
  • 饿了么app 抓包 hook
  • 【论文蒸馏】Recent Advances in Speech Language Models: A Survey
  • 怎么判断一个对象是不是vue的实例
  • 新手向:图片批量裁剪工具
  • 【IOS webview】IOS13不支持svelte 样式嵌套
  • 为什么IoTDB成为物联网场景的技术优选?
  • NAND闪存(NAND Flash)是什么?
  • rt_thread hc32f460引脚编号
  • 利用steps()分步实现奔跑的小熊案例
  • 『 C++ 入门到放弃 』- set 和 map 容器
  • 【机器学习深度学习】什么是 GGUF?
  • 【QT】调用外部dll
  • QT窗口(4)-浮动窗口
  • Qt窗口(2)-工具栏
  • 【嵌入式硬件实例】-555定时器实现LED追逐效果