#CK101. C++练习题 - 1

    ID: 67 客观题 尝试: 3 已通过: 1 难度: 7 上传者: 标签>客观题排序结构体二维数组循环结构高精度计算一维数组

C++练习题 - 1

1. 在以下代码中,循环的最终输出结果是什么?

for (int i = 0; i < 5; ++i) {
    cout << i << " ";
}

{{ select(1) }}

  • 0 1 2 3 4
  • 1 2 3 4 5
  • 0 1 2 3 4 5
  • 1 2 3 4

2. 以下哪种排序算法是稳定排序?

{{ select(2) }}

  • 快速排序
  • 选择排序
  • 归并排序
  • 堆排序

3.下列哪个表达式能够正确访问二维数组 arr[2][3] 的第三行第二列的元素?

{{ select(3) }}

  • arr[2][1]
  • arr[1][2]
  • arr[2][3]
  • arr[3][2]

4. 下面代码的输出结果是什么?

int a = 5, b = 10;
swap(a, b);
cout << a << " " << b;

{{ select(4) }}

  • 5 10
  • 10 5
  • 编译错误(Compile Error)
  • 运行时错误(Runtime Error)

5. 关于C++的内存管理,下列描述正确的是:

{{ multiselect(5) }}

  • new 操作符用于动态分配内存
  • 使用 delete 释放动态分配的内存
  • 局部变量存储在堆中
  • 动态分配的内存在程序退出时自动释放

6. 给定以下代码:

int arr[3] = {1, 2, 3};
int *p = arr;
cout << *(p + 1);

输出的结果是什么?

{{ select(6) }}

  • 1
  • 2
  • 3
  • 编译错误(Compile Error)

7. 下面哪一个是合法的C++数组声明?

{{ multiselect(7) }}

  • int arr[10.5];
  • int arr[10];
  • int arr[];
  • int arr[10] = {1, 2};

8. 以下代码的输出是什么?

int arr[5] = {2, 4, 6, 8, 10};
cout << arr[1] + arr[3];

{{ select(8) }}

  • 6
  • 8
  • 10
  • 12

9. 下面关于C++循环结构的描述正确的是:

{{ multiselect(9) }}

  • for循环可以没有初始化部分
  • while循环至少会执行一次
  • do-while循环是先执行循环体,再判断条件,因此无论条件是否成立,都会至少执行一次。
  • break 只能跳出当前循环,并不能跳出多层嵌套循环,所以此选项错误。

10. 若有以下代码:

struct Student {
    int id;
    string name;
};

如何定义一个 Student 类型的变量?

{{ multiselect(10) }}

  • Student s;
  • struct Student s;
  • student s;
  • s Student;