#1301. GESP-C++一级(2024-06)
GESP-C++一级(2024-06)
CCF GESP C++ 一级 (2024 年 06 月)
一、单选题(每题 2 分,共 30 分)
1.在 C++ 中,下列不可做变量的是 ( )。
{{ select(1) }}
- five-Star
- five_star
- fiveStar
- _fiveStar
2.C++ 表达式 3 - 3 * 3 / 5 的值是 ( )。
{{ select(2) }}
- -1.2
- 1
- 0
- 2
3.在 C++ 中,假设 N 为正整数,则表达式 cout <<(N % 3 + N % 7) 可能输出的最大值是 ( )。
{{ select(3) }}
- 6
- 8
- 9
- 10
4.C++ 语句 printf ("5%%2={% d}\n",5 % 2) 执行后的输出是 ( )。
{{ select(4) }}
- 1={1}
- 5%2={5%2}
- 5%2={1}
- 5 ={1}
5.对整型变量 i,执行 C++ 语句 cin >> i, cout <<i 时如果输入 5+2 ,下述说法正确的是 ()。
{{ select(5) }}
- 将输出整数 7
- 将输出 5
- 语句执行将报错,输入表达式不能作为输出的参数
- 语句能执行,但输出内容不确定
6.下面 C++ 代码执行后的输出是 ( )。
float a;
a = 101.101;
a = 101;
printf("a+1={%.0f}",a+1);
{{ select(6) }}
- 102={102}
- a+1={a+1}
- a+1={102}
- a 先被赋值为浮点数,后被赋值为整数,执行将报错
7.表达式 9/4 - 6 % (6 - 2) * 10 的值是 ( )。
{{ select(7) }}
- -17.75
- -18
- -14
- -12.75
8.下面 C++ 代码执行时输入 10 后,正确的输出是 ( )。
int N;
cout << "请输入正整数:";
cin >> N;
if (N % 3)
printf("第5行代码%2d", N % 3);
else
printf("第6行代码%2d", N % 3);
{{ select(8) }}
- 第 5 行代码 1
- 第 6 行代码 1
- 第 5 行代码 1
- 第 6 行代码 1
9.下面 C++ 代码执行后输出是 ( )。
int Sum = 0, i = 0;
for ( ; i < 10; )
Sum += i++;
cout << i << " " << Sum;
{{ select(9) }}
- 9 45
- 10 55
- 10 45
- 11 55
10.下面 C++ 代码用于判断 N 是否为质数 (只能被 1 和它本身整除的正整数)。程序执行后,下面有关描述正确的是 ( )。
int N;
cout << "请输入整数:";
cin >> N;
bool Flag = false;
if (N >= 2){
Flag = true;
for (int i=2; i < N; i++)
if (N % i == 0){
Flag = false;
break;
}
}
if(Flag)
cout << "是质数";
else
cout << "不是质数";
{{ select(10) }}
- 如果输入负整数,可能输出 “是质数”
- 如果输入 2,将输出 “不是质数”,因为此时循环不起作用
- 如果输入 2,将输出 “是质数”,即便此时循环体没有被执行
- 如果将 if (N>= 2) 改为 if (N > 2) 将能正确判断 N 是否质数
11.下面的 C++ 代码用于求 1~N 之间所有奇数之和,其中 N 为正整数,如果 N 为奇数,则求和时包括 N。有关描述错误的是 ( )。
int N;
cout << "请输入正整数:";
cin >> N;
int i = 1, Sum = 0;
while (i <= N){
if (i % 2 == 1)
Sum += i;
i += 1;
}
cout << i << " " << Sum;
{{ select(11) }}
- 执行代码时如果输入 10,则最后一行输出将是 11 25
- 执行代码时如果输入 5,则最后一行输出将是 6 9
- 将 i += 1 移到 if (i % 2 == 1) 前一行,同样能实现题目要求
- 删除 if (i % 2 == 1),并将 i += 1 改为 i += 2,同样可以实现题目要求
12.如果一个整数 N 能够表示为 X*X 的形式,那么它就是一个完全平方数,下面 C++ 代码用于完成判断 N 是否为一个完全平方数,在横线处应填入的代码是 ( )。
int N;
cin >> N;
for(int i = 0; i <= N; i++)
if(______)
cout << N << "是一个完全平方数\n";
{{ select(12) }}
- i == N*N
- i*10 == N
- i+i == N
- i*i == N
13.执行下面 C++ 代码后输出的 cnt 的值是 ( )。
int cnt=0;
for(int i = 0; i*i < 64; i+=2)
cnt++;
cout << cnt;
{{ select(13) }}
- 8
- 7
- 4
- 1
14.小杨父母带他到某培训机构给他报名参加 CCF 组织的 GESP 认证考试的第 1 级,那他可以选择的认证语言有几种?( )
{{ select(14) }}
- 1
- 2
- 3
- 4
15.ENIAC 于 1946 年投入运行,是世界上第一台真正意义上的计算机,它的主要部件都是 ( ) 组成的。
{{ select(15) }}
- 感应线圈
- 电子管
- 晶体管
- 集成电路
二、判断题(每题 2 分,共 20 分)
16.在 C++ 代码中变量 X 被赋值为 16.44,则 cout <<X / 10 执行后输出的一定是 1。()
{{ select(16) }}
- 对
- 错
17.C++ 的整型变量 N 被赋值为 10,则语句 cout <<N / 4 << "->" << N % 4 << "->" << N / 4.0 执行后输出是 2->2->2.0。( )
{{ select(17) }}
- 对
- 错
18.定义 C++ 的 float 型变量 N,则语句 cin >> N; cout <<int (float (N)) 可以输入正负整数和浮点数,并将其转换为整数后输出。( )
{{ select(18) }}
- 对
- 错
19.C++ 的整型 N 被赋值为 5,语句 printf ("% d*2",N) 执行后将输出 10。( )
{{ select(19) }}
- 对
- 错
20.在 C++ 中,break 语句用于终止当前层次的循环,循环可以是 for 循环,也可以是 while 循环。( )
{{ select(20) }}
- 对
- 错
21.在 C++,continue 语句通常与 if 语句配合使用。( )
{{ select(21) }}
- 对
- 错
22.在 C++ 代码中,不可以将变量命名为 printf,因为 printf 是 C++ 语言的关键字。( )
{{ select(22) }}
- 对
- 错
23.在 C++ 中有整型变量 N,则表达式 N += 8/4//2 相当于 N += 8/(4/2)。( )
{{ select(23) }}
- 对
- 错
24.C++ 中定义变量 int N,则表达式 (!!N) 的值也是 N 的值。( )
{{ select(24) }}
- 对
- 错
25.GESP 测试是对认证者的编程能力进行等级认证,同一级别的能力基本上与编程语言无关。( )
{{ select(25) }}
- 对
- 错
相关
在下列比赛中: