#GESP202406C2T1. 单选题(每题 2 分,共 30 分)
单选题(每题 2 分,共 30 分)
- 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语言有几种?
{{ select(1) }}
- 1
- 2
- 3
- 4
- 下面流程图在
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)
- 在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++代码时输入1,则输出是( )。
1 int month;
2
3 cin >> month;
4
5 switch(month) {
6 case 1:
7 cout << "Jan ";
8 case 3:
9 cout << "Mar ";
10 break;
11 default:
12 ;
13 }
{{ select(6) }}
- Jan
- Mar
- Jan Mar
- 以上均不对
- 执行下面C++代码后,有关说法错误的是( )。
1 int a, b;
2 cin >> a >> b;
3 if (a && b)
4 cout << "1";
5 else if (!(a || b))
6 cout << "2";
7 else if (a || b)
8 cout << "3";
9 else
10 cout << "4";
{{ select(7) }}
- 如果先后输入1和1,则将输出1
- 如果先后输入0和1或者1和0,则将输出3
- 如果先后输入0和0,则将输出2
- 如果先后输入0和0,则将输出4
- 某货币由5元,2元和1元组成。输入金额(假设为正整数),计算出最少数量。为实现其功能,横线处应填入代码是( )。
1 int N;
2 cin >> N;
3
4 int M5,M2,M1;
5 M5 = N / 5;
6 M2 = ______________;
7 M1 = ______________;
8 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++代码执行后的输出是( )。
1 int loopCount = 0;
2 for (int i=0; i < 10; i++)
3 for (int j=1; j < i; j++)
4 loopCount += 1;
5 cout << loopCount;
{{ select(9) }}
- 55
- 45
- 36
- 28
- 下面C++代码执行后的输出是( )。
1 int loopCount = 0;
2 for (int i=0; i < 10; i++) {
3 for (int j=0; j < i; j++)
4 if (i * j % 2)
5 break;
6 loopCount += 1;
7 }
8 cout << loopCount;
{{ select(10) }}
- 25
- 16
- 10
- 9
- 假设下面C++代码执行过程中仅输入正负整数或0,有关说法错误的是( )。
1 int N,Sum = 0;
2 cin >> N;
3 while (N) {
4 Sum += N;
5 cin >> N;
6 }
7 cout << Sum;
{{ select(11) }}
- 执行上面代码如果输入0,将终止循环
- 执行上面代码能实现所有非0整数的求和
- 执行上面代码第一次输入0,最后将输出0
- 执行上面代码将陷入死循环,可将
while(N)
改为while(N==0)
- 执行下面的C++代码,有关说法正确的是( )【质数是指仅能被1和它本身整除的正整数】。
1 int N;
2 cin >> N;
3 bool Flag = true;
4 for ( int i = 2; i < N; i++) {
5 if (i * i > N)
6 break;
7 if (N % i == 0) {
8 Flag = false;
9 break;
10 }
11 }
12 if (Flag)
13 cout << N << "是质数" << endl;
14 else
15 cout << N << "不是质数" << endl;
{{ select(12) }}
- 如果输入正整数,上面代码能正确判断N是否为质数
- 如果输入整数,上面代码能正确判断N是否为质数
- 如果输入大于等于0的整数,上面代码能正确判断N是否质数
- 如将
Flag = true
修改为Flag = N>=2? true:false
则能判断所有整数包括负整数、0、正整数是否为质数
- 下面C++代码用于实现如下图所示的效果,其有关说法正确的是( )。
1 for (int i = 1; i < 6; i++) { // L1
2 for (int j = 1; j < i+1; j++) //L2
3 cout << i*j << " ";
4 cout << endl;
5 }
{{ select(13) }}
- 当前代码能实现预期效果,无需调整代码
- 如果
cout << endl;
移到循环L2内部,则可实现预期效果 - 如果
cout << endl;
移到循环L1外部,则可实现预期效果 - 删除
cout << endl;
行,则可实现预期效果
- 下面C++代码执行后,输出是( )。
1 int cnt1 = 0, cnt2 = 0;
2 for (int i = 0; i < 10; i++) {
3 if (i % 2 == 0)
4 continue;
5 if (i % 2)
6 cnt1 += 1;
7 else if (i % 3 == 0)
8 cnt2 += 1;
9 }
10 cout << cnt1 << " " << cnt2;
{{ select(14) }}
- 5 2
- 5 0
- 0 2
- 0 0
- 在下面的C++代码中,N必须是小于10大于1的整数,M为正整数(大于0)。如果M被N整除则 M为幸运数,如果M中含有N且能被N整除,则为超级幸运数,否则不是幸运数。程序用于判断M是否为幸运数或超级幸运数或非幸运数。阅读下面代码,有关说法正确的是( )。
1 int N, M;
2 cout << "请输入幸运数字:";
3 cin >> N;
4 cout << "请输入正整数:";
5 cin >> M;
6
7 bool Lucky;
8 if (M % N == 0)
9 Lucky = true;
10 else
11 Lucky = false;
12 while (M) {
13 if (M % 10 == N && Lucky) {
14 printf("%d是%d的超级幸运数!", M, N);
15 break;
16 }
17 M /= 10;
18 }
19 if (M == 0)
20 if (Lucky)
21 printf("%d是%d的幸运数!", M, N);
22 else
23 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的超级幸运数!