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

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

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

  1. 下面有关函数参数的说法,正确的是? {{ select(1) }}
  • 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值不变
  • 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值将随子函数一样改变而改变
  • 函数参数传递时,主函数如果将参数的地址传递给子函数,若子函数将参数值改变,主函数当中的参数值将不改变
  • 函数参数传递可以不满足子函数的参数个数要求

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

    image

    {{ select(2) }}

  • chen
  • c
  • chen a dai
  • dai

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

    image

    {{ select(3) }}

  • 1
  • 2
  • 3
  • 4

  1. 下面C++代码执行后的结果是?

    image

    {{ select(4) }}


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

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

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

    image {{ select(5) }}

  • 1,2,3
  • 1
  • 2
  • 3

  1. 如果变量x的地址是0x6ffe14,下面C++代码执行以后输出的是?

    image {{ select(6) }}

  • 0x6ffe11
  • 0x6ffe14
  • 0x6ffe18
  • 0x6ffe15

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

image {{ select(7) }}

  • 400
  • 200
  • 20
  • 100

  1. 下列C++语句执行以后结果是true的是? {{ select(8) }}
  • 3&&false
  • 5&&2
  • 101&&000
  • 4&true

  1. 在如下的C++代码中实现了对字符串中出现的26个字母的个数统计,横线处应填入是?

image {{ select(9) }}

  • alpha[i]=alpha[i-1]+1;
  • alpha[i]=alpha[i]+1;
  • alpha[i+1]=alpha[i]+1;
  • alpha[i-1]=alpha[i]+1;

  1. 下面C++代码执行后生成的文件其字节数为?

    image {{ select(10) }}

  • 10
  • 16
  • 40
  • 24

  1. 下列C++代码输入 1,2,3,4 ,执行后,将输出的是?

    image {{ select(11) }}

  • 1#4#
  • 1#3#
  • 1#2#3#4#
  • 1#2#3#4

  1. 以下C++代码用于实现每个整数对应的因数,如输入 12 ,则输出 1 2 3 4 6 12 ;如输入 18 ,则输出 1 2 3 6 9 18。横线处应填入代码是?

    image {{ select(12) }}

  • if(n%i==0)
  • if(n/i==0)
  • if(n%i!=0)
  • if(n/i!=0)

  1. 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的? {{ select(13) }}
  • 麦克风
  • 扬声器
  • 油量表
  • 传感器

  1. 现代计算机是指电子计算机,它所基于的是( )体系结构? {{ select(14) }}
  • 艾伦·图灵
  • 冯·诺依曼
  • 阿塔纳索夫
  • 无埃克特-莫克利

  1. 输入一个正整数N(N>=7),想找出它所有相邻的因数对,比如,输入12,因数对有(1,2)、(2,3)、(3.4)。下面哪段代码找不到所有的因数对? {{ select(15) }}
  • for(i=1;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
  • for(i=2;i<N;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);
  • for(i=2;i<N/2;i++) if(!(N%(i-1)) && !(N%i)) printf("(%d,%d)\n", i-1, i);
  • for(i=1;i<N/2;i++) if(!(N%i) && !(N%(i+1))) printf("(%d,%d)\n", i, i+1);

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

  1. C++的内置函数 sort() 支持数组的局部排序。例如 int a={10,9,8,7,6,5,4,3,2,1} ,可以用sort(a,a+5) ,排序成 {6,7,8,9,10,5,4,3,2,1}。 {{ select(16) }}


  1. 用递归法求N的阶乘,时间复杂度是O(n)O(n)。{{ select(17) }}


  1. [(1,2)*2]*3 在C++中是合法的表达式。 {{ select(18) }}


  1. 在下面的C++代码中,将对1.txt文件写入 hello。

    image {{ select(19) }}



  1. 文本文件 1.txt 第1行由 01234 共5个字符组成其间没有空格,当用C++代码正常打开文件成功并执行如下代码以后,第1行长度为5。

    image {{ select(20) }}



  1. 执行C++代码 cout<<(5||2); 后将输出 1。 {{ select(21) }}


  1. 在C++中,两个字符串相加的运算符为+相当于字符串的合并运算。下面C++代码执行后,将输出chenadai。

    image {{ select(22) }}



  1. C++内置函数 sort() 可以对整数、浮点数、字符数组进行从大到小,从小到大,局部排序。 {{ select(23) }}


  1. 小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。 {{ select(24) }}


  1. 任何一个while循环都可以转化为等价的for循环。 {{ select(25) }}


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

  1. 【小杨的字典】去做题

  2. 【田忌赛马】去做题