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