中国计算机学会编程能力等级认证GESP C++一级、二级、三级、四级、五级、六级、七级、八级 真题PDF版本,可打印版本。
排版整洁紧凑,节约打印纸张,每张试卷仅需2-4页A4版面,祝您刷题获得考试高分。
包括无答案版本,方便打印做题,和有答案版本,方便练习巩固,后续免费更新试卷。
无答案版本 PDF 截图:
有答案版本样卷截图:
也有在线模拟测试,历年题库,最新真题,AI智能评分,专业详细解析,轻松考级;
试卷记录,试题收藏,错题回顾,重点复习。
客观题、编程题均有详细解析,小白也能轻松看懂。
C++编程等级认证一级2024年03月理论 120分钟
【单选题】(每题2分)
1、C++表达式 (3 - 2) * 3 + 5 的值是?( )
A、-13 B、8 C、2 D、0
2、C++语句 cout << "5%2=" << 5 % 2 执行后的输出是?( )
A、2 2 B、1 1 C、5%2=2 D、5%2=1
3、执行C++语句 cin >> a 时如果输入5+2,下述说法正确的是?( )
A、变量a将被赋值为整数7 B、变量a将被赋值为字符串,字符串内容为5+2 C、语句执行将报错,不能输入表达式
D、依赖于变量a的类型。如果没有定义,会有编译错误
4、下面C++代码执行后的输出是?( )
int a = 1;
cout << "a+1= " << a+1 << endl;
A、a+1= 2 B、a+1=2 C、2=2 D、2= 2
5、下面C++代码执行后的输出是?( )
int a = 1;
printf("a+1=%d\n", a+1);
A、a+1= 2 B、a+1=2 C、2=2 D、2= 2
6、下面C++代码执行时输入21后,有关描述正确的是?( )
int N;
cin >> N;
if(N% 3 == 0)
cout << "能被3整除"; //第4行
else if (N % 7 == 0)
cout << "能被7整除";
else //第7行
cout << "不能被3和7整除"; //第8行
cout << endl;
A、代码第4行被执行 B、第4和第7行代码都被执行 C、仅有代码第7行被执行
D、第8行代码将被执行,因为input()输入为字符串
7、下面C++代码第2行,总共被执行次数是?( )
for(int i=-10; i<10; i++)
cout << i << " ";
A、10 B、19 C、20 D、21
8、下面C++代码执行后的输出是?( )
int tnt = 0;
for(int i=0; i<10; i++)
if(i%3 && i%7)
tnt +=i;
cout << tnt << endl;
A、0 B、7 C、18 D、20
9、下面C++代码执行后的输出是?( )
int N = 10;
while(N){
N -= 1;
if(N%3 == 0)
cout << N << "#";
}
A、9#6#3# B、9#6#3#0# C、8#7#5#4#2#1# D、10#8#7#5#4#2#1#
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 << "不是质数";
A、N % i B、N % i == 0 C、N / i == 0 D、N / i
11、下面关于整型变量int x的赋值语句不正确是?( )
A、x=(3.16); B、x=3.16; C、x=int(3.16); D、x=3.16 int;
12、C++语言中下面可以完成数据输入的语句是?( )
A、printf语句 B、scanf语句 C、default语句 D、cout语句
13、在Dev C++中对一个写好的C++源文件要生成一个可执行程序需要执行下面哪个处理步骤?( )
A、创建 B、编辑 C、编译 D、调试
14、小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )
A、小程序 B、计时器 C、操作系统 D、神话人物
15、中国计算机学会(CCF)在2024年1月27日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是?( )
A、制造自动驾驶汽车 B、创立培训学校 C、发明汉字激光照排系统 D、成立方正公司
【判断题】(每题2分)
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元,请根据小杨零用钱的金额,编写程序计算最多可以购买多少本书,还剩多少零用钱。
【输入描述】
输入一个正整数 m,表示小杨拥有的零用钱数。
【输入描述】
输出包含两行,第一行,购买图书的本书,第二行剩余的零用钱数。
【样例输入 1】
100
【样例输出 1】
7
9
【样例输入 2】
199
【样例输出 2】
15
4
对于全部数据,保证有 0 < m < 200。
27、找因数
【问题描述】
小 A 最近刚刚学习了因数的概念,具体来说,如果一个正整数 a 可以被另一个正整数 b 整除,那么我们就说 b 是 a 的因数。
请你帮忙写一个程序,从小到大输出正整数 a 的所有因数。
【输入描述】
输入一行一个正整数 a。保证 a ≤ 1,000。
【输入描述】
输出若干行,为 a 的所有约数,从小到大排列。
【特别提醒】
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
【样例输入 1】
1
【样例输出 1】
1
【样例输入 2】
6
【样例输出 2】
1
2
3
6
【样例输入 3】
10
【样例输出 3】
1
2
5
10