#GESP1030. [GESP202406二级] 客观题
[GESP202406二级] 客观题
一.单选题(每题2分,共30分)
-
小杨父母带他到某培训机构给他报名参加
CCF
组织的GESP
认证考试的第1级,那他可以选择的认证语言有几种?( )。
{{ select(1) }}
-
下面流程图在
yr
输入 时,可以判定yr
代表闰年,并输出 月是 天 ,则图中菱形框中应该填入 ( )。
{{ 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)
- 在C++中,下列不可做变量的是( )。
{{ select(3) }}
five-Star
five_star
fiveStar
_fiveStar
- 在
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++)
- 在C++中,
cout << (5 % 2 && 5 % 3)
的输出是( )。
{{ select(5) }}
- 1
- 2
true
false
-
执行下面的C++代码时输入 ,则输出是( )。
int month; cin >> month; switch(month){ case 1: cout << "Jan "; case 3: cout << "Mar "; break; default: ; }
{{ select(6) }}
- Jan
- Mar
- Jan Mar
- 以上均不对
-
执行下面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) }}
-
如果先后输入 和 ,则将输出
-
如果先后输入 和 或者 和 ,则将输出
-
如果先后输入 和 ,则将输出
-
如果先后输入 和 ,则将输出
-
某货币由 元, 元和 元组成。输入金额(假设为正整数),计算出最少数量。为实现其功能,横线处应填入代码是( )。
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
-
下面C++代码执行后的输出是
int loopCount = 0; for (int i=0; i < 10; i++) for (int j=1; j < i; j++) loopCount += 1; cout << loopCount;
{{ select(9) }}
-
下面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) }}
-
假设下面C++代码执行过程中仅输入正负整数或 ,有关说法错误的是( )。
int N,Sum = 0; cin >> N; while (N){ Sum += N; cin >> N; } cout << Sum;
{{ select(11) }}
- 执行上面代码如果输入 ,将终止循环
- 执行上面代码能实现所有非 整数的求和
- 执行上面代码第一次输入 ,最后将输出
- 执行上面代码将陷入死循环,可将
while (N)
改为while (N==0)
-
执行下面的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
是否为质数 -
如果输入大于等于 的整数,上面代码能正确判断
N
是否质数 -
如将
Flag = true
修改为Flag = N>=2? true:false
则能判断所有整数包括负整数、0、正整数是否为质数
-
下面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;
行,则可实现预期效果
-
下面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
-
在下面的C++代码中,
N
必须是小于 大于 的整数,M
为正整数(大于 )。如果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
输入 ,M
输入 则将输出: 是 的超级幸运数! - 如果
N
输入 ,M
输入 则将输出: 是 的幸运数! - 如果
N
输入 ,M
输入 则将输出: 非 的超级幸运数! - 如果
N
输入 ,M
输入 则将输出: 是 的超级幸运数!
二.判断题(每题2分,共20分)
- 执行C++代码
cout << '9'+'1';
的输出为10。 {{ select(16) }}
- 正确
- 错误
- C++表达式
-12 % 10
的值为2。
{{ select(17) }}
- 正确
- 错误
-
C++表达式
int(12.56)
的值为 。{{ select(18) }}
- 正确
- 错误
- C++的整型变量
N
被赋值为 ,则语句cout << N / 3 << "-" << N % 3
执行后输出是3-1
。
{{ select(19) }}
- 正确
- 错误
-
在C++代码中,不可以将变量命名为
scanf
,因为scanf
是C++语言的关键字。{{ select(20) }}
-
正确
-
错误
-
下面C++代码执行后将导致死循环。
int cnt = 0; for (int i = 0; i < 10; i++) for (int j = 0; j < i; j++){ cnt += 1; break; } cout << cnt;
{{ select(21) }}
- 正确
- 错误
-
下面C++代码执行后将输出 。
int cnt = 0; for (int i = 0; i < 10; i++) for (int j = 0; j < i; j++){ cnt += 1; break; } cout << cnt;
{{ select(22) }}
- 正确
- 错误
-
下面C++代码执行后,将输出 。
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) }}
- 正确
- 错误
-
下面C++代码能实现正整数各位数字之和。
int N,Sum = 0; cin >> N; while (N){ Sum += N % 10; N /= 10; } cout << Sum;
{{ select(24) }}
- 正确
- 错误
-
GESP
测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。{{ select(25) }}
-
正确
-
错误