#J3002. CCF-GESP编程能力等级认证真题【C032309】

CCF-GESP编程能力等级认证真题【C032309】

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

  1. 人们所使用的手机上安装的App通常指的是? {{ select(1) }}
  • 一款操作系统
  • 一款应用软件
  • 一种通话设备
  • 以上都不对

  1. 下列流程图的输出结果是?

    image

    {{ select(2) }}

  • 60
  • 20
  • 5
  • 1

  1. 已知大写字符 'A' 的ASCII编码的十六进制表示为 0x41 ,则字符 'L' 的ASCII编码的十六进制表示为? {{ select(3) }}
  • 4A
  • 4B
  • 4C
  • 52

  1. 以下哪个不是C++语言中的运算符? {{ select(4) }}
  • ~
  • ~~
  • <
  • <<

  1. 如果数组定义为 long long array[] = {3, 5, 7, 2}; ,则数组 array 占用的字节数为? {{ select(5) }}
  • 32
  • 16
  • 8
  • 4

  1. 一个数组定义为 double array[3]; ,则可合理访问这个数组的元素的下标最大为? {{ select(6) }}
  • 2
  • 3
  • 23
  • 24

  1. 以下数组定义,符合C++语言语法的是? {{ select(7) }}
  • double a[];
  • double b[] = {1, 2.0, '3'};
  • double c[3.0];
  • double[] d = new double[3];

  1. 下列关于进制的叙述,正确的是? {{ select(8) }}
  • 只有十进制和二进制能够用来表示小数,八进制和十六进制不可以。
  • 常用的进制包括二进制、八进制、十进制、十六进制,其他进制在日常生活中很少使用。
  • 对任意正整数,其二进制表示不会比它的十进制表示更短。
  • 正整数的八进制表示中,每一位可能出现的最大数字是8。

  1. 下列关于C++语言中数组的叙述,不正确的是? {{ select(9) }}
  • 可以定义 0 个元素的数组。
  • 不能定义 -1 个元素的数组。
  • 数组下标越界访问会产生编译错误。
  • 程序运行时发生数组下标的越界访问,程序依然可能正常结束。

  1. 如果 a 是 int 类型的变量,下列哪个表达式的值一定为 true? {{ select(10) }}
  • a + 1000 - 1000 == a
  • a * 2 / 2 == a
  • (a & 1) == 1
  • (a | 1) == a + 1

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

  1. 如果 a 为 char 类型的变量,下列哪个表达式可以正确判断“a是大写字母”? {{ select(12) }}
  • a - 'A' <= 26
  • 'A' <= a <= 'Z'
  • 'A' <= 'a' <= 'Z'
  • ('A' <= a) && (a <= 'Z')

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

image

{{ select(13) }}

  • a = a >> 8; b = a & 0xff
  • b = a >> 8; a = a & 0xff;
  • a = b; b = a & 0xff;
  • b = a; a = b;

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

    image

{{ select(14) }}

  • res += array[i];
  • res *= array[i]
  • res = array[i]
  • 以上均不对

  1. 执行下列代码输出是的结果是?

    image

{{ select(15) }}

  • 15
  • 28
  • 45
  • 55

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

  1. 二进制数 101.101 在十进制下是 5.005。 {{ select(16) }}


  1. 在C++语言中,位运算符也有类似“先乘除、后加减”的优先级规则。因此,使用时应注意合理使用括号。 {{ select(17) }}


  1. 字符常量 '3' 的值和 int 类型常量 3 的值是相同的,只是占用的字节数不同。 {{ select(18) }}


  1. 在C++语言中,长度为nn的数组,访问下标为nn的元素会引起编译错误。 {{ select(19) }}


  1. 在C++语言中,所有 int 类型的值,经过若干次左移操作( << )后,它们的值总会变为 0。 {{ select(20) }}


  1. 在C++语言中,数组下标的大小决定元素在逻辑上的先后顺序,与元素在内存中位置的先后顺序无关。 {{ select(21) }}


  1. 在C++语言中,定义数组时, [] 中必须指定元素个数。 {{ select(22) }}


  1. 著名的哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和。我们可以通过枚举法来证明它。 {{ select(23) }}


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


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


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

  1. 【小杨的储蓄】
  2. 【进制判断】