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

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

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

  1. 据有关资料,⼭东⼤学于 1972 年研制成功 DJL-1 计算机,并于 1973 年投⼊运⾏,其综合性能居当时全国第三 位。DJL-1 计算机运算控制部分所使⽤的磁⼼存储元件由磁⼼颗粒组成,设计存贮周期为 2μs(微秒)。那么该磁⼼存储元件相当于现代计算机的? {{ select(1) }}
  • 内存
  • 磁盘
  • CPU
  • 显示器

  1. IPv4版本的因特⽹总共有( )个A类地址⽹络? {{ select(2) }}
  • 65000
  • 200万
  • 126
  • 128

  1. 在C++中,下列不可做变量的是? {{ select(3) }}
  • ccf_gesp
  • ccf gesp
  • ccfGesp
  • ccfGesp

  1. 在C++中,与 for (int i = 1; i < 10; i++) 效果相同的是? {{ select(4) }}
  • for (int i = 0; i < 10; i++)
  • for (int i = 0; i < 11; i++)
  • for (int i = 1; i < 10; ++i)
  • for (int i = 0; i < 11; ++i)

  1. 在C++中,cout << (5 / 2 + 5 % 3) 的输出是? {{ select(5) }}
  • 1
  • 2
  • 4
  • 5

  1. 假定变量a和b可能是整型、字符型或浮点型,则下⾯C++代码执⾏时先后输⼊-2 和3.14 后,其输出不可能是?

[已知字符'+'、'-'、'=' 的ASCII码值分别是43、45和61]

{{ select(6) }}

  • 1
  • 1.14
  • 47
  • 将触发异常

  1. 在C++代码中假设N为正整数,则下面代码能获得个位数的是? {{ select(7) }}
  • N % 10
  • N / 10
  • N && 10
  • 以上选项均不正确

  1. 下面C++代码执行后的输出是?

{{ select(8) }}

  • 0#
  • 1#
  • 0#0#1
  • 没有输出

  1. 执行下面C++代码并输入1和0,有关说法正确的是?

{{ select(9) }}

  • 1
  • 2
  • 3
  • 4

  1. 下面C++代码执行后的输出是?

{{ select(10) }}

  • 1
  • 2
  • 3
  • 5

  1. 下图是C++程序执行后的输出。为实现其功能,横线处应填入代码是?

{{ select(11) }}

  • j = i; j < i; j++
  • j = 1; j < i; j++
  • j = i; j < i*2; j++
  • j = i+1; j < i+i; j++

  1. 下⾯C++代码执⾏后输出逆序数,如输⼊123 则输出 321。如输⼊120 则输出21 。横线处先后应填⼊的代码是?

{{ select(12) }}

  • rst = rst * 10 + N % 10 N = N / 10
  • rst += N % 10 N = N / 10
  • rst = rst * 10 + N / 10 N = N % 10
  • rst += N / 10 N = N % 10

  1. 下⾯的C++代码⽤于输⼊学⽣成绩,并根据⼈数计算出平均成绩,有关说法错误的是?

{{ select(13) }}

  • 代码 while (1) 写法错误
  • 如果输⼊负数,将结束输⼊,并正确输出
  • 如果输⼊的学⽣成绩含有⼩数,程序将⽆法正常执⾏
  • 变量 int score 初始值不确定,但不影响程序执⾏

  1. 以下C++代码判断输⼊的正整数是否为质数,如果该数字是质数,则输出 YES ,否则输出 NO 。质数是指仅 能被 1 和它本⾝整除的正整数。请在横线上填写代码?

{{ select(14) }}

  • num % i
  • num % i == 0
  • num / i
  • num / i == 0

  1. ⼀个数如果能被某个数(⽐如7)整除,或者含有该数,则说该数是某个数的相关数。下⾯C++代码⽤于判 定输⼊的数与7是否有关。下列说法错误的是?

{{ select(15) }}

  • 删除 break 语句不会导致死循环,但有时会导致结果错误
  • 删除 M /= 10 将可能导致死循环
  • 删除 M = N 并将其后代码中的M变量改为 N,并调整输出同样能完成相关功能
  • 删除 break 语句不会导致死循环,但有时会影响效率

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

  1. ⼩杨最近开始学习C++编程,⽼师说C++是⼀门⾯向对象的编程语⾔,也是⼀门⾼级语⾔。 {{ select(16) }}

  1. 在C++中,cout << (3, 4, 5) 可以输出 3 4 5 ,且每个输出项之间用空格分开。 {{ select(17) }}

  1. C++表达式 12 % 10 % 10 的值为2。 {{ select(18) }}

  1. C++语句 cout << rand() << ' ' << rand(); 的第二个输出值较大。 {{ select(19) }}

  1. 定义C++的 int 类型的变量 ch ,而且值为 '1' ,则语句 cout << int(ch); 的输出为 1。 {{ select(20) }}

  1. 下面C++代码执行后将输出10。

{{ select(21) }}


  1. 下面C++代码能求整数N和M之间所有整数之和,包含N和M。

{{ select(22) }}


  1. 将下面C++代码中的 L3 标记的代码行调整为 for (int i = 0; i < 5; i++) 后输出结果相同。

{{ select(23) }}


  1. 某一系列数据的规律是从第3个数值开始是前两个数之和。下面的代码求第 N 个数的值,N 限定为大于 2。

{{ select(24) }}


  1. 下面C++代码执行时如果输入 2024 ,则输出是 4202。

{{ select(25) }}


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

  1. 【数位之和】
  2. 【小杨的 N 字矩阵】