#J3000. CCF-GESP编程能力等级认证【三级样题】

CCF-GESP编程能力等级认证【三级样题】

一、选择题。(15题,每题2分,共30分)

  1. 下列关于负数的原码、反码、补码的描述中,正确的是? {{ select(1) }}
  • 原码和反码互为按位取反(符号位除外),补码为反码加1
  • 原码和反码互为按位取反(符号位除外),补码为原码加1
  • 反码和补码互为按位取反(符号位除外),原码为反码加1
  • 补码和原码互为按位取反(符号位除外),反码为补码加1

  1. 一个 int 类型的值乘以 8,等价于以下哪个位运算? {{ select(2) }}
  • 左移 3 位
  • 右移 3 位
  • 左移 8 位
  • 右移 8 位

  1. 以下哪个属于 C++语言中的位运算符? {{ select(3) }}
  • +
  • -
  • *
  • &

  1. 若有以下代码,则数组 arr 的长度是?

image

{{ select(4) }}

  • 3
  • 4
  • 5
  • 6

  1. 在 C++语言中,可以定义一个一维整型数组的是? {{ select(5) }}
  • int array[5];
  • int array[];
  • int[5] array;
  • int[] array;

  1. 枚举算法的主要特点是? {{ select(6) }}
  • 以空间换时间
  • 逐个尝试所有可能的解
  • 动态规划
  • 贪心策略

  1. 对于一个十进制数 37,以下哪个是它的二进制表示? {{ select(7) }}
  • 10101
  • 100101
  • 101001
  • 1000101

  1. 下列关于十六进制的描述中,正确的是? {{ select(8) }}
  • 使用 0-9 和 A-F 表示
  • 使用 0-9 和 A-E 表示
  • 使用 1-9 和 A-F 表示
  • 使用 1-9 和 A-E 表示

  1. 下列哪个是 C++语言中用于获取字符串长度的函数? {{ select(9) }}
  • length()
  • len()
  • getLength()
  • strlen()

  1. 通常用下列哪种方式来描述算法? {{ select(10) }}
  • 汇编语言
  • 伪代码
  • SQL
  • CSS

  1. 如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断“a 等于0 且b等于 0”的是? {{ select(11) }}
  • ((~a) && (~b))
  • ((a & b) == 0)
  • ((a | b) == 0)
  • ((a ^ b) == 0)

  1. 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于a 且是 4 的倍数”的整数中最小的? {{ select(12) }}
  • (a & (~3))
  • (a / 4 * 4)
  • ((a - 1) | 3) + 1
  • (a << 2)

13.下面流程图,输入 1 2 3,会输出?

image

{{ select(13) }}

  • 无输出
  • 1
  • 2
  • 3

  1. 在下列代码的横线处填写(),可以保证输出是“1357”,不会有多余字符。

image

{{ select(14) }}

  • int i = 0; i < strlen(str); i++
  • int i = 0; str[i] != '\0'; i++
  • int i = 1; i <= 7; i += 2
  • int i = 0; i <= 6; i += 2

  1. 在下列代码的横线处填写( ),可以使得输出是“17 11”?

image

{{ select(15) }}

  • a + b
  • a - b
  • a ^ b
  • a & b

二、判断题​。(10题,每题2分,共20分)

  1. 二进制数据编码中,负数的补码是通过对原码按位取反并加1 得到的。 {{ select(16) }}


  1. 在 C++语言中,数组的下标从 1 开始计数。 {{ select(17) }}


  1. 在 C++语言中,字符串是以'\0'结尾的字符数组。 {{ select(18) }}


  1. 在 C++语言中,可以使用浮点数(如 3.0)作为数组下标。 {{ select(19) }}


  1. 枚举算法是一种暴力求解方法,逐个尝试所有可能的解。 {{ select(20) }}


  1. C++语言中数字的符号位是不参与位运算的。 {{ select(21) }}


  1. C++语言中的数组可以根据需要自动调整大小。 {{ select(22) }}


  1. 在 C++语言中,表达式(0xff == 255)的值为 true。 {{ select(23) }}


  1. 如果 a 为 int 类型的变量,且表达式((a & 1) == 0)的值为true,则说明 a 是偶数。 {{ select(24) }}


  1. 表达式(7 >> 2)的计算结果为 1.75,且结果类型为double。 {{ select(25) }}


三、​编程题。(2题,每题25分,共50分)

  1. 【逛商场】
  2. 【进制转换】