题号 1 2 3 4 5 6 7 8 9 10 11 1 2 13 14 15
答 案 B B B C B C D B C A D A C C C
C ++ 二级
2024 年 0 3 ⽉
1 单选题(每题 2 分,共 30 分)
第 1 题 下 列流程图的输出结果是? ( )
A . 优 秀
B. 良 好
C. 不 及格
D. 没 有输出
第 2 题 以 下选项中不符合 C ++ 变量命名规则的是?( )
A. student
B . 2_from
C . _to
D . Text
第 3 题 以 下选项中,不能⽤于表⽰分⽀结构的 C++ 保留字是?( )
A. switch
B . return
C . else
D . if
第 4 题 下 列说法错误的是?( )
A. while 循 环满⾜循环条件时不断地运⾏,直到指定的条件不满⾜为⽌
B. if 语 句通常⽤于执⾏条件判断
C. 在 C++ 中可以使⽤ foreach 循 环
D. break 和 continue 语 句都可以⽤在 for 循 环和 while 循 环中
第 5 题 下 列 4 个表达式中,答案不是整数 8 的是?( )
A. abs(-8)
B . min(max(8, 9), 10)
C . int(8.88)
D . sqrt(64)
第 6 题 下 ⾯ C++ 代码执⾏后的输出是?()
A. 8
B. 14
C . 26
D . 50
第 7 题 下 ⾯ C++ 代码执⾏后的输出是?()
A. 16
B . 36
C . 49
D . 81
第 8 题 下 ⾯ C++ 代码执⾏后的输出是?()
int n,a,m,i;
n=3, a = 5;
m = ( a - 1) * 2;
for ( i=0; i<n-1; i++ )
m = ( m - 1) * 2;
cout << m;
1
2
3
4
5
6
7
8
int n,i,result ;
n = 81 ;
i = 1, result = 1;
while ( i * i <= n){
if ( n % ( i * i) == 0)
result = i * i;
i += 1;
}
cout << result ;
1
2
3
4
5
6
7
8
9
1 0
11
A. 2
B. 3
C . 4
D. 5
第 9 题 下 ⾯ C++ 代码执⾏后的输出是?()
A. 5
B. 6
C . 7
D. 8
第 1 0 题 以 下 C++ 代码判断⼀个正整数 N 的各个数位是否 都是偶数。如果都是,则输出 “ 是 ” ,否则输出 “ 否 ” 。例如
N=2024 时输出 “ 是 ” 。则横线处应填⼊( )。
int s,t,ans ;
s = 2, t = 10 ;
ans = 0;
while ( s != t){
if ( t % 2 == 0 && t / 2 >= s)
t /= 2;
else
t -= 1;
ans += 1;
}
cout << ans ;
1
2
3
4
5
6
7
8
9
1 0
11
int n, masks , days ,cur ;
n = 17 , masks = 10 , days = 0;
cur = 2;
while ( masks != n){
if ( cur == 0 || cur == 1)
masks += 7;
masks -= 1;
days += 1;
cur = ( cur + 1) % 7;
}
cout << days ;
1
2
3
4
5
6
7
8
9
1 0
11
12
int N,Flag ;
cin >> N;
Flag = true ;
while ( N != 0){
if ( N %2 != 0){
Flag = false ;
_____________
}
else
N /= 10 ;
1
2
3
4
5
6
7
8
9
1 0
A. break
B . continue
C . N = N / 10
D . N = N % 10
第 1 1 题 有 句俗话叫 “ 三天打渔,两天晒⽹ ” 。如果⼩杨前三天打渔,后两天晒⽹,⼀直重复这个过程,以下程序代码
⽤ 于判断,第 n 天⼩杨是在打鱼还是晒⽹,横线处 应填写?( )
A. i == 0
B . i == 4
C . i == 0 && i == 4
D . i == 0 || i == 4
第 1 2 题 ⼀ 个数的所有数字倒序排列后这个数的⼤⼩保持 不变,这个数就是回⽂数,⽐如 1 01 与 6 886 都是回⽂数,
⽽ 1 00 不是回⽂数。以下程序代码⽤于判断⼀个 数是否为回⽂数,横线处应填写?( )
A. 10 * a + n % 10
B . a + n % 10
C . 10 * a + n / 10
D . a + n / 10
}
if (Flag == true )
cout << "是 " ;
else
cout << "否 " ;
11
12
13
14
15
int n,i;
cin >> n;
i = n % 5;
if ( __________________ ) // 在此处填写代码
cout << "晒 网 " ;
else
cout << "打 鱼 " ;
1
2
3
4
5
6
7
int n,a,k;
cin >> n;
a = 0;
k = n;
while ( n > 0){
a = __________ ; // 在此处填写代码
n /= 10 ;
}
if ( a == k)
cout << "是 回文数 " ;
else
cout << "不 是回文数 " ;
1
2
3
4
5
6
7
8
9
10
11
12
题号 1 2 3 4 5 6 7 8 9 10
答 案
第 1 3 题 给 定两个整数 与 ,打印出⼀个栅栏图形,这个栅栏应该分成 段 ,段与段之间的间隔为 + , 段内的填
充为 个 - 。形如 , 时 ,图形如下:
以下程序代码⽤于绘制该图形,横线处应填写?( )
A. cout << '+' << endl;
B . cout << '+' << ' ' << endl;
C . cout << '+';
D . cout << '+' << ' ';
第 1 4 题 ⼩ 杨的⽗母最近刚刚给他买了⼀块华为⼿表,他 说⼿表上跑的是鸿蒙,这个鸿蒙是。( )
A. ⼩ 程序
B. 计 时器
C. 操 作系统
D. 神 话⼈物
第 1 5 题 中 国
GESP 3月认证C++二级真题,2024年3月GESP等级认证C++编程二级真题及答案