2024年3月
GESP CCF 编程能力等级认证 C++编程一级
共 27 题,编程题有参考答案
1、C++表达式 (3 - 2) * 3 + 5 的值是( )。
2、C++语句 cout << "5%2=" << 5 % 2 执行后的输出是( )。
3、执行C++语句 cin >> a 时如果输入5+2, 下述说法正确的是( ) 。
4、下面C++代码执行后的输出是( ) 。
int a = 1;
cout << "a+1= " << a+1 << endl;
5、下面C++代码执行后的输出是( ) 。
int a = 1;
printf("a+1=%d\n", a+1);
6、下面C++代码执行时输入21后, 有关描述正确的是( ) 。
int N;
cin >> N;
if (N % 3 == 0)
cout << "能被3整除";
else if (N % 7 == 0)
cout << "能被7整除";
else
cout << "不能被3和7整除";
cout << endl;
7、下面C++代码第2行, 总共被执行次数是( ) 。
for (int i = -10; i < 10; i++)
cout << i << " ";
8、下面C++代码执行后的输出是( ) 。
int tnt = 0;
for (int i = 0; i < 10; i++)
if (i % 3 && i % 7)
tnt += i;
cout << tnt << endl;
9、下面C++代码执行后的输出是( ) 。
int N = 10;
while (N) {
N -= 1;
if (N % 3 == 0)
cout << N << "#";
}
10、下面C++代码用于判断键盘输入的整数是否为质数。 质数是只能被1和它本⾝整除的数。 在横线处应填入代码是( ) 。
int N;
cin >> N;
int cnt = 0; // 记录N被整除的次数
for (int i = 1; i < N + 1; i++)
if (________________)
cnt += 1;
if (cnt == 2)
cout << N << "是质数";
else
cout << N << "不是质数";
11、下面关于整型变量 int x 的赋值语句不正确是( )。
12、C++语⾔中下面可以完成数据输入的语句是( ) 。
13、在Dev C++中对一个写好的C++源文件要生成一个可执行程序需要执行下面哪个处理步骤? ( )
14、小杨的父母最近刚刚给他买了一块华为手表, 他说手表上跑的是鸿蒙, 这个鸿蒙是? ( )
15、中国计算机学会(CCF) 在2024年1⽉ 27⽇ 的颁奖典礼上颁布了王选奖, 王选先生的重大贡献是( ) 。
16、在C++代码中变量n被赋值为27, 则 cout << n%10 执行后输出的是7。 ( )
17、C++语句 printf("%d#%d&",2,3) 执行后输出的是2#3&。 ( )
18、C++函数scanf()必须含有参数, 且其参数为字符串型字面量, 其功能是提示输入。 ( )
19、C++表达式 "10"*2 执行时将报错, 因为 "10" 是字符串类型而2是整数类型, 它们数据类型不同, 不能在一起运算。 ( )
20、在C++中, while可能是死循环, 而for循环不可能是死循环。 ( )
21、在C++, break语句用于提前终⽌当前层次循环, 适用于while循环, 但不适用于for循环。 ( )
22、C++语⾔中3.0和3的值相等, 所以它们占用的存储空间也相同。 ( )
23、在C++的程序中, cin是一个合法的变量名。 ( )
24、小杨今年春节回奶奶家了, 奶奶家的数字电视可以通过遥控器输入电视剧名称来找到想播放的电视剧, 所以可以推知⾥面有交互式程序在运行。 ( )
25、任何一个for循环都可以转化为等价的while循环( ) 。
26、(小杨买书)小杨同学积攒了一部分零用钱想要用来购买书籍, 已知一本书的单价是13元, 请根据小杨零用钱的金额, 编写程序计算最多可以购买多少本书, 还剩多少零用钱。
【输入说明】
输入1行。输入一个正整数 m, 表示小杨拥有的零用钱数。保证有 1<m<200。
【输出说明】
输出2行。第一行, 购买图书的本书, 第⼆行剩余的零用钱数。
【输入样例】
100
【输出样例】
7
9
【参考答案】
#include <iostream>
using namespace std;
int main() {
int m;
cin >> m;
cout << m / 13 << endl;
cout << m % 13 << endl;
return 0;
}
27、(找因数)小 A 最近刚刚学习了因数的概念, 具体来说, 如果一个正整数 a 可以被另一个正整数 b 整除, 那么我们就说 b 是 a 的因数。
请你帮忙写一个程序, 从小到大输出正整数 a 的所有因数。
【输入说明】
输入1行。输入一个正整数 。 保证 1<a<1000。
【输出说明】
输出若干行。为 的所有约数, 从小到大排列。
在常规程序中, 输入、 输出时提供提示是好习惯。 但在本场考试中, 由于系统限定, 请不要在输入、 输出中附带任何提示信息。
【输入样例】
6
【输出样例】
1
2
3
6
【参考程序】
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
for (int i = 1; i <= a; ++i) {
if (a % i == 0) {
cout << i << endl;
}
}
return 0;
}