#196. 七月月赛暨夏令营选拔线上赛选择题

七月月赛暨夏令营选拔线上赛选择题

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

{{ select(1) }}

  • 1000
  • 1024
  • 2048
  • 8

2、二进制数 101101 转换为十进制数是?

{{ select(2) }}

  • 45
  • 44
  • 37
  • 53

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

{{ select(3) }}

  • 2
  • 3
  • 4
  • 5

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

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

{{ select(4) }}

  • true
  • false
  • 1
  • 0

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

	for(int i = 1; i <= 16; i *= 2) {
		cout << i << ' ';
	}

{{ select(5) }}

  • 1 2 4 8 16
  • 1 2 4 8
  • 2 4 8 16
  • 1 3 5 7 9 11 13 15

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

	int a[5] = {4, 1, 3, 2, 5};
	int s = 0;
	for(int i = 0; i < 5; i += 2) {
		s += a[i];
	}
	cout << s;

{{ select(6) }}

  • 8
  • 10
  • 12
  • 15

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

{{ select(7) }}

  • 1 4 2 5
  • 1 2 4 5
  • 5 4 2 1
  • 1 5 2 4

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

	int cnt = 0;
	int a[8] = {1, 3, 4, 6, 8, 10, 13, 15};
	int x = 10;
	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 = 0, r = 2, ans = 3
  • l = 4, r = 7, ans = -1
  • l = 4, r = 7, ans = 3
  • l = 0, r = 7, ans = -1

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

{{ select(9) }}

  • 4 3 8
  • 5 2 10
  • 5 3 10
  • 10 3 5

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

{{ select(10) }}

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