#monthly2608A. 八月月赛选择题

八月月赛选择题

1、在计算机中,1 GB 通常表示多少字节?

{{ select(1) }}

  • 10^9
  • 1000 × 1000
  • 1024^3
  • 10^6

2、十六进制数 2F 转换为十进制数是?

{{ select(2) }}

  • 47
  • 41
  • 55
  • 32

3、在 C++ 中,表达式 6 * 4 % 7 + 5 / 2 的运算结果为?

{{ select(3) }}

  • 4
  • 5
  • 6
  • 3

4、下面 C++ 程序片段的输出结果是?

int a = 3, b = 5;
cout << (a < b && b % 2 == 1);

{{ select(4) }}

  • 1
  • 0
  • true
  • false

5、下面 C++ 程序片段的输出结果是?

for (int i = 9; i >= 1; i -= 2) {
    cout << i << ' ';
}

{{ select(5) }}

  • 9 7 5 3
  • 9 7 5 3 1
  • 8 6 4 2
  • 9 7 5

6、下面 C++ 程序片段的输出结果是?

int a[6] = {7, 4, 9, 2, 5, 6};
int cnt = 0;
for (int i = 0; i < 6; i++) {
    if (a[i] % 2 == 1) cnt++;
}
cout << cnt;

{{ select(6) }}

  • 2
  • 3
  • 4
  • 5

7、将序列 6 1 5 3 按从小到大进行一趟冒泡排序,从左到右依次比较相邻元素,若前一个数更大则交换。完成一趟后的序列是?

{{ select(7) }}

  • 1 3 5 6
  • 6 5 3 1
  • 1 5 6 3
  • 1 5 3 6

阅读下面 C++ 程序片段,回答第 8 ~ 10 题:

int cnt = 0;
int a[8] = {2, 5, 7, 9, 11, 13, 15, 17};
int x = 13;
int l = 0, r = 7, ans = -1;
while (l <= r) {
    int mid = (l + r) / 2;
    cnt++;
    if (a[mid] >= x) {
        ans = mid;
        r = mid - 1;
    } else {
        l = mid + 1;
    }
}
cout << ans << ' ' << cnt << ' ' << a[ans];

8、第一次执行完 while 循环体后,lrans 的值分别是?

{{ select(8) }}

  • l = 4, r = 7, ans = 5
  • l = 4, r = 7, ans = -1
  • l = 4, r = 3, ans = -1
  • l = 4, r = 7, ans = 3

9、上述程序片段的输出结果是?

{{ select(9) }}

  • 6 2 15
  • 5 2 13
  • 5 3 13
  • 13 3 5

10、上述程序片段的主要功能是?

{{ select(10) }}

  • 在有序数组中寻找第一个大于等于 x 的元素位置
  • 判断 x 是否在数组中出现
  • 对数组从小到大排序
  • 在有序数组中寻找最后一个小于等于 x 的元素位置