========================================================================
答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> C/C++ ----> 二级】
网站链接
青少年软件编程历年真题模拟题实时更新
========================================================================
2025年12月 GESP CCF编程能力等级认证C++二级真题
一、 单选题(每题 2 分,共 30 分)
第 1 题 近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故分析后的结果显示,强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而引发飞行异常。那这里的飞行控制系统执行判断的部件最可能是下面的( )。
A. 辐射传感器
B. 处理器
C. 内存单元
D. 输出设备
第 2 题 小明最近为了备考GESP,开始看B站上关于网络知识的视频。其中提到计算机网络系统有不同的划分标准,那他平时上学所在的教学楼内的网络是一个( )。
A. PAN
B. LAN
C. MAN
D. WAN
第 3 题 下面有关C++变量的说法,正确的是( )。
A. 不可以用 for 作为变量名,因为 for 是C++的关键字(保留字)。
B. _tnt 不可以是变量名,因为变量名的第一个字符必须是英文字母。
C. _tnt_ 不可以是变量名,因为最后一个字符容易与减号混淆。
D. 可以用 printf 作为变量名,因为 printf 是关键字,但这不是好习惯,因为 printf 有约定的功能与含义。
第 4 题 一个小数是0.123123123……无限循环,其小数点后1位是1,后2位是2,依此类推,求第N位的值。横线处应填入的代码是( )。
int N; cin >> N; remainder = ______________; if (remainder == 0) cout << 1; else if (remainder == 1) cout << 2; else cout << 3;A. N % 3
B. (N - 1) % 3
C. N / 3
D. (N - 1) / 3
第 5 题 某同学执行C++代码时 printf("%g\n", (3 + 3.1415926535)); 输出 6.14159 ,其原因最可能是( )。
A. C++中整数和浮点数相加时,整数会被转换为浮点数,而某些十进制小数无法精确表示为二进制小数,从而产生某些舍入误差。
B. C++的 printf 函数在输出浮点数时根据格式有默认小数点位数,因此输出了较少的位数。
C. 3.1415926535 是一个无限循环小数,在计算机中无法精确表示。
D. 由于计算机CPU的运算错误导致。
第 6 题 某单位工号的编码规则:编码总长5位,均为数字,前4位依次整除以3其值累加之和除以10的余数为第5位数字。如某工号为76587,前4位分别整除以3后,商分别为2、2、1、2,其累加之和为7,除以10的余数为7,故第5位为7。下面代码依次输入前4位后,两个横线处分别应填的是( )。
int rst = 0, N; for (int i = 0; i < 4; i++){ cin >> N; rst += ___________; // L1 } cout << ___________; // L2A.
N % 3
rst / 10
B.
N % 3
rst % 10
C.
N / 3
rst / 10
D.
N / 3
rst % 10
第 7 题 下面的C++代码执行后的输出是( )。
for (int i = -2; i < 2; i++) if (i % 2) printf("%d#",i);A. -1#1#
B. -1#0#1#
C. -2#-1#1#
D. -2#-1#1#2#
第 8 题 下面的C++代码执行后其输出是( )。
int cnt = 0, N; for (int i =1; i < 10; i += 2) for (int j =0; j < i; j++) cnt += 1; cout << cnt;A. 100
B. 55
C. 45
D. 25
第 9 题 下面C++代码执行后其输出是( )。
int i,j; for (i = 1; i < 12; i++){ if (i % 2 == 0) continue; for (j = 0; j < i; j++) if (i * j % 2 == 0) break; if(j >= i) cout << i * j << " "; } if(i >= 12) cout << (i * j);A. 0 0
B. 11
C. 0
D. 0 11
第 10 题 与下面C++输出效果不一致的代码是( )。
int i; for (i = 0; i < 10; i++) cout << i;A.
int i = 0; while (i < 10){ cout << i; i += 1; }B.
int i = 0; while (i < 10){ i += 1; cout << i; }C.
int i = 0; while (true){ cout << i; i += 1; if (i >= 10) break; }D.
int i = 0; while (true){ if (i >= 10) break; cout << i; i += 1; }========================================================================
答案和更多内容请查看网站:【试卷中心 -----> CCF GESP ----> C/C++ ----> 二级】
网站链接
青少年软件编程历年真题模拟题实时更新
========================================================================