#GESP2OBJ02. GESP C++ 二级考前客观题模拟(二)

GESP C++ 二级考前客观题模拟(二)

GESP C++ 二级考前客观题模拟(二)

共 25 题,总分 50 分。
第一部分:单项选择题 15 题,每题 2 分;第二部分:判断题 10 题,每题 2 分。
请直接在每题下方选择答案,提交后由系统自动评分。

一、单项选择题

1. 运行下面程序,输出结果是( )。

#include <iostream>
using namespace std;

int main() {
    int a = 17, b = 5;
    cout << a / b + a % b;
    return 0;
}

A. 3
B. 5
C. 7
D. 17

{{ select(1) }}

  • A
  • B
  • C
  • D

2. 运行下面程序,输出结果是( )。

int x = 7;

if (x % 2 == 1)
    x += 3;

if (x > 8)
    x /= 2;

cout << x;

A. 5
B. 7
C. 10
D. 3

{{ select(2) }}

  • A
  • B
  • C
  • D

3. 运行下面程序,输出结果是( )。

int x = 3 + 4 * 2;

cout << (x > 10 && x % 2 == 1);

A. 0
B. 1
C. 10
D. 11

{{ select(3) }}

  • A
  • B
  • C
  • D

4. 运行下面程序,变量 cnt 最后的值是( )。

int cnt = 0;

for (int i = 1; i <= 4; i++) {
    for (int j = 1; j <= i; j++) {
        if ((i + j) % 2 == 0)
            cnt++;
    }
}

A. 4
B. 5
C. 6
D. 10

{{ select(4) }}

  • A
  • B
  • C
  • D

5. 运行下面程序,输出结果是( )。

int sum = 0;

for (int i = 1; i <= 8; i++) {
    if (i % 3 == 0)
        continue;

    sum += i;
}

cout << sum;

A. 21
B. 27
C. 30
D. 36

{{ select(5) }}

  • A
  • B
  • C
  • D

6. 运行下面程序,输出结果是( )。

int n = 50724;
int ans = 0;

while (n > 0) {
    int x = n % 10;

    if (x % 2 == 0)
        ans += x;

    n /= 10;
}

cout << ans;

A. 2
B. 4
C. 6
D. 11

{{ select(6) }}

  • A
  • B
  • C
  • D

7. 运行下面程序,输出结果是( )。

int n = 1203;
int ans = 0;

while (n > 0) {
    ans = ans * 10 + n % 10;
    n /= 10;
}

cout << ans;

A. 1203
B. 3021
C. 321
D. 30210

{{ select(7) }}

  • A
  • B
  • C
  • D

8. 运行下面程序,输出结果是( )。

int x = 1;

for (int i = 1; i <= 4; i++) {
    x = x * 2 - i;
}

cout << x;

A. -10
B. -4
C. 0
D. 10

{{ select(8) }}

  • A
  • B
  • C
  • D

9. 运行下面程序,输出结果是( )。

int cnt = 0;

for (int i = 1; i <= 4; i++) {
    for (int j = 1; j <= 4; j++) {
        if (i + j > 5)
            break;

        cnt++;
    }
}

cout << cnt;

A. 8
B. 9
C. 10
D. 16

{{ select(9) }}

  • A
  • B
  • C
  • D

10. 运行下面程序,结果是( )。

int a = 0;
int b = 5;

if (a != 0 && b / a > 2)
    cout << "A";
else
    cout << "B";

A. 输出 A
B. 输出 B
C. 程序一定发生除零错误
D. 程序无法编译

{{ select(10) }}

  • A
  • B
  • C
  • D

11. 下面程序的输出结果是( )。

for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 4; j++) {
        if (j <= i)
            cout << "*";
        else
            cout << ".";
    }
    cout << endl;
}

A.

*...
**..
***.

B.

***.
**..
*...

C.

****
***
**

D.

...*
..**
.***

{{ select(11) }}

  • A
  • B
  • C
  • D

12. 在 1~30 中,能被 4 或 6 整除的正整数共有多少个?( )

A. 8
B. 9
C. 10
D. 12

{{ select(12) }}

  • A
  • B
  • C
  • D

13. 假设采用常见 ASCII 编码,运行下面程序输出( )。

char c = 'A' + 3;
cout << c;

A. A
B. C
C. D
D. 68

{{ select(13) }}

  • A
  • B
  • C
  • D

14. 十进制整数 45 对应的二进制表示是( )。

A. 101011
B. 101101
C. 110101
D. 101110

{{ select(14) }}

  • A
  • B
  • C
  • D

15. 运行下面程序,输出结果是( )。

int n = 1;
int cnt = 0;

while (n < 100) {
    n *= 3;
    cnt++;
}

cout << cnt;

A. 4
B. 5
C. 6
D. 100

{{ select(15) }}

  • A
  • B
  • C
  • D

二、判断题

正确请选择“正确”,错误请选择“错误”。

16. 在 C++ 中,如果两个整数进行除法,例如 7 / 2,结果为 3。

{{ select(16) }}

  • 正确
  • 错误

17. 下面程序中的循环体一次也不会执行。

int x = 10;

while (x < 5) {
    x++;
}

{{ select(17) }}

  • 正确
  • 错误

18. continue 语句执行后,会立即结束整个循环。

{{ select(18) }}

  • 正确
  • 错误

19. 下面程序结束后,cnt 的值为 3。

int cnt = 0;

for (int i = 1; i <= 5; i++) {
    if (i == 4)
        break;

    cnt++;
}

{{ select(19) }}

  • 正确
  • 错误

20. 在嵌套循环中执行 break,只会退出它所在的最内层循环。

{{ select(20) }}

  • 正确
  • 错误

21. 下面程序会输出 B。

int x = 5;

if (x > 0)
    if (x > 10)
        cout << "A";
    else
        cout << "B";

{{ select(21) }}

  • 正确
  • 错误

22. 运行下面代码时,循环体一共执行 5 次。

for (int i = 0; i < 10; i += 2) {
    cout << i;
}

{{ select(22) }}

  • 正确
  • 错误

23. 对于任意 int 类型整数 x,都可以使用下面条件判断 x 是否为奇数:

x % 2 == 1

{{ select(23) }}

  • 正确
  • 错误

24. 运行下面程序后,n 的值为 0。

int n = 1234;

while (n > 0)
    n /= 10;

{{ select(24) }}

  • 正确
  • 错误

25. 下面程序中,循环结束以后,cout << "A"; 只会执行一次。

for (int i = 0; i < 5; i++);

cout << "A";

{{ select(25) }}

  • 正确
  • 错误