#GESPC2202406. GESP-2024年6月份 C++ 二级 客观题
GESP-2024年6月份 C++ 二级 客观题
单选题
- ⼩杨⽗母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语⾔有⼏ 种?( ) {{ select(1) }}
1
2
3
4
2 下⾯流程图在yr输⼊2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填⼊( )。
{{ select(2) }}
(yr%400==0) || (yr%4==0)
(yr%400==0) || (yr%4==0 && yr%100!=0)
(yr%400==0) && (yr%4==0)
(yr%400==0) && (yr%4==0 && yr%100!=0)
3 在C++中,下列不可做变量的是( )。 {{ select(3) }}
five-Star
five_star
fiveStar
_fiveStar
4 在C++中,与for(int i=0; i<10; i++) 效果相同的是( )。 {{ select(4) }}
for(int i=0; i<10; i+=1)
for(int i=1; i<=10; i++)
for(int i=10; i>0; i--)
for(int i=10; i<1; i++)
5 在C++中,cout << (5 % 2 && 5 % 3)的输出是( )。 {{ select(5) }}
- 1
- 2
- true
- flase
- 执⾏下⾯的C++代码时输⼊ 1 ,则输出是( )。
int month;
cin >> month;
switch(month){
case 1:
cout << "Jan ";
case 3:
cout << "Mar ";
break;
default:
;
}
{{ select(6) }}
Jan
Mar
Jan Mar
- 以上均不对
7 执⾏下⾯C++代码后,有关说法错误的是( )。
int a, b;
cin >> a >> b;
if (a && b)
cout << "1";
else if (!(a || b))
cout << "2";
else if (a || b)
cout << "3";
else
cout << "4";
{{ select(7) }}
- 如果先后输⼊1和1,则将输出1
- 如果先后输⼊0和1或者1和0,则将输出3
- 如果先后输⼊0和0,则将输出2
- 如果先后输⼊0和0,则将输出4
8 某货币由5元,2元和1元组成。输⼊⾦额(假设为正整数),计算出最少数量。为实现其功能,横线处应填 ⼊代码是( )。
int N;
cin >>N;
int M5,M2,M1;
M5 = N / 5;
M2 = ______________;
M1 = ______________;
printf("5*%d+2*%d+1*%d", M5, M2, M1);
{{ select(8) }}
- 第1横线处应填⼊:N / 2 第2横线处应填⼊:N - M5 - M2
- 第1横线处应填⼊:(N - M5 * 5) / 2 第2横线处应填⼊:N - M5 * 5 - M2 * 2
- 第1横线处应填⼊:N - M5 * 5 / 2 第2横线处应填⼊:N - M5 * 5 - M2 * 2
- 第1横线处应填⼊:(N - M5 * 5) / 2 第2横线处应填⼊:N - M5 - M2
9 下面C++代码执行后的输出是( )。
int loopCount = 0;
for (int i=0; i < 10; i++)
for (int j=1; j < i; j++)
loopCount += 1;
cout << loopCount;
{{ select(9) }}
55
45
36
28
10 下面C++代码段执行后的输出是( )。
int loopCount = 0;
for (int i=0; i < 10; i++){
for (int j=0; j < i; j++)
if (i * j % 2)
break;
loopCount += 1;
}
cout << loopCount;
{{ select(10) }}
25
16
10
9
11 假设下⾯C++代码执⾏过程中仅输⼊正负整数或0,有关说法错误的是( )。
int N,Sum = 0;
cin >> N;
while (N){
Sum += N;
cin >> N;
}
cout << Sum;
{{ select(11) }}
- 执⾏上⾯代码如果输⼊0,将终⽌循环
- 执⾏上⾯代码能实现所有⾮0整数的求和
- 执⾏上⾯代码第⼀次输⼊0,最后将输出0
- 执⾏上⾯代码将陷⼊死循环,可将while (N) 改为while (N==0)
12 执⾏下⾯的C++代码,有关说法正确的是( )【质数是指仅能被1和它本⾝整除的正整数】
int N;
cin >> N;
bool Flag = true;
for ( int i = 2; i < N; i++){
if (i * i > N)
break;
if (N % i == 0){
Flag = false;
break;
}
}
if (Flag)
cout << N << "是质数" << endl;
else
cout << N << "不是质数" << endl;
{{ select(12) }}
- 如果输⼊正整数,上⾯代码能正确判断N是否为质数
- 如果输⼊整数,上⾯代码能正确判断N是否为质数
- 如果输⼊⼤于等于0的整数,上⾯代码能正确判断N是否质数
- 如将Flag = true 修改为Flag = N>=2? true:false 则能判断所有整数包括负整数、0、正整数是否为质数
13 下⾯C++代码⽤于实现如下图所⽰的效果,其有关说法正确的是( )。
for (int i = 1; i < 6; i++){ // L1
for (int j = 1; j < i+1; j++) //L2
cout << i*j << " ";
cout << endl;
}
{{ select(13) }}
- 当前代码能实现预期效果,⽆需调整代码
- 如果cout << endl; 移到循环L2内部,则可实现预期效果
- 如果cout << endl; 移到循环L1外部,则可实现预期效果
- 删除cout << endl; ⾏,则可实现预期效果
14 下⾯C++代码执⾏后,输出是( )。
int cnt1 = 0, cnt2 = 0;
for (int i = 0; i < 10; i++){
if (i % 2 == 0)
continue;
if (i % 2)
cnt1 += 1;
else if (i % 3 == 0)
cnt2 += 1;
}
cout << cnt1 << " " << cnt2;
{{ select(14) }}
5 2
5 0
0 2
0 0
15 在下⾯的C++代码中,N必须是⼩于10⼤于1的整数,M为正整数(⼤于0)。如果M被N整除则M为幸运 数,如果M中含有N且能被N整除,则为超级幸运数,否则不是幸运数。程序⽤于判断M是否为幸运数或超级幸运数或⾮幸运数。阅读下⾯代码,有关说法正确的是( )。
int N, M;
cout << "请输入幸运数字:";
cin >> N;
cout << "请输入正整数:";
cin >> M;
bool Lucky;
if (M % N == 0)
Lucky = true;
else
Lucky = false;
while (M){
if (M % 10 == N && Lucky){
printf("%d是%d的超级幸运数!", M, N);
break;
}
M /= 10;
}
if (M == 0)
if (Lucky)
printf("%d是%d的幸运数!", M, N);
else
printf("%d非%d的幸运数!", M, N);
{{ select(15) }}
- 如果N输⼊3,M输⼊36则将输出:36是3的超级幸运数!
- 如果N输⼊7,M输⼊21则将输出:21是7的幸运数!
- 如果N输⼊8,M输⼊36则将输出:36⾮8的超级幸运数!
- 如果N输⼊3,M输⼊63则将输出:63是3的超级幸运数!
16 执⾏C++代码cout << '9'+'1'; 的输出为10。( ) {{ select(16) }}
- 对
- 错
17 C++表达式-12 % 10 的值为2。( ) {{ select(17) }}
- 对
- 错
18 C++表达式int(12.56) 的值为13。( ) {{ select(18) }}
- 对
- 错
19 C++的整型变量N被赋值为10,则语句cout << N / 3 << "-" << N % 3执⾏后输出是3-1。 ( ) {{ select(19) }}
- 对
- 错
20 在C++代码中,不可以将变量命名为scanf,因为scanf是C++语⾔的关键字。( ) {{ select(20) }}
- 对
- 错
21 下⾯C++代码执⾏后将导致死循环。( )
for (int i = 0; i < 10; i++)
continue;
{{ select(21) }}
- 对
- 错
22 下⾯C++代码执⾏后将输出10。( )
int cnt = 0;
for (int i = 0; i < 10; i++)
for (int j = 0; j < i; j++){
cnt += 1;
break;
}
cout << cnt;
{{ select(22) }}
- 对
- 错
23 下⾯C++代码执⾏后,将输出5。( )
int cnt = 0;
for (int i = 1; i < 5; i++)
for (int j = i; j < 5; j +=i)
if (i * j % 2 == 0)
cnt += 1;
cout << cnt;
{{ select(23) }}
- 对
- 错
24 下⾯C++代码能实现正整数各位数字之和。( )
int N,Sum = 0;
cin >> N;
while (N){
Sum += N % 10;
N /= 10;
}
cout << Sum;
{{ select(24) }}
-
对
-
错
25 GESP测试是对认证者的编程能⼒进⾏等级认证,同⼀级别的能⼒基本上与编程语⾔⽆关。( ) {{ select(25) }}
- 对
- 错
统计
相关
在下列试卷中: