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

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

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

  1. ⼩杨⽗母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级,那他可以选择的认证语⾔有⼏种? {{ select(1) }}
  • 1
  • 2
  • 3
  • 4

  1. 下⾯流程图在yr输⼊2024时,可以判定yr代表闰年,并输出2月是29天 ,则图中菱形框中应该填⼊?

{{ select(2) }}

  • (yr%400==0) || (yr%4==0)
  • (yr%400==0) || (yr%4==0 && yr%100!=0)
  • (yr%400==0) && (yr%4==0)
  • (yr%400==0) && (yr%4==0 && yr%100!=0)

  1. 在C++中,下列不可做变量的是? {{ select(3) }}
  • five-Star
  • five_star
  • fiveStar
  • _fiveStar

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

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

  1. 执⾏下⾯的C++代码时输⼊1,则输出是?

{{ select(6) }}

  • Jan
  • Mar
  • Jan Mar
  • 以上均不对

  1. 执⾏下⾯C++代码后,有关说法错误的是?

{{ select(7) }}

  • 如果先后输⼊1和1,则将输出1
  • 如果先后输⼊0和1或者1和0,则将输出3
  • 如果先后输⼊0和0,则将输出2
  • 如果先后输⼊0和0,则将输出4

  1. 某货币由5元,2元和1元组成。输⼊⾦额(假设为正整数),计算出最少数量。为实现其功能,横线处应填⼊代码是?

{{ select(8) }}

  • 第1横线处应填⼊:N / 2
    第2横线处应填⼊:N - M5 - M2
  • 第1横线处应填⼊:(N - M5 * 5) / 2
    第2横线处应填⼊:N - M5 * 5 - M2 * 2
  • 第1横线处应填⼊:N - M5 * 5 / 2
    第2横线处应填⼊:N - M5 * 5 - M2 * 2
  • 第1横线处应填⼊:(N - M5 * 5) / 2
    第2横线处应填⼊:N - M5 - M2


  1. 下⾯C++代码执⾏后的输出是?

{{ select(9) }}

  • 55
  • 45
  • 36
  • 28

  1. 下⾯C++代码执⾏后的输出是?

{{ select(10) }}

  • 25
  • 16
  • 10
  • 9

  1. 假设下⾯C++代码执⾏过程中仅输⼊正负整数或0,有关说法错误的是?

{{ select(11) }}

  • 执⾏上⾯代码如果输⼊0,将终⽌循环
  • 执⾏上⾯代码能实现所有⾮0整数的求和
  • 执⾏上⾯代码第⼀次输⼊0,最后将输出0
  • 执⾏上⾯代码将陷⼊死循环,可将 while (N) 改为 while (N==0)

  1. 执⾏下⾯的C++代码,有关说法正确的是?【质数是指仅能被1和它本⾝整除的正整数】

{{ select(12) }}

  • 如果输⼊正整数,上⾯代码能正确判断N是否为质数
  • 如果输⼊整数,上⾯代码能正确判断N是否为质数
  • 如果输⼊⼤于等于0的整数,上⾯代码能正确判断N是否质数
  • 如将 Flag = true 修改为 Flag = N>=2? true:false 则能判断所有整数包括负整数、0、正整数是否为质数

  1. 下⾯C++代码⽤于实现如下图所⽰的效果,其有关说法正确的是?

{{ select(13) }}

  • 当前代码能实现预期效果,⽆需调整代码
  • 如果 cout << endl; 移到循环L2内部,则可实现预期效果
  • 如果 cout << endl; 移到循环L1外部,则可实现预期效果
  • 删除 cout << endl; ⾏,则可实现预期效果

  1. 下⾯C++代码执⾏后,输出是?

{{ select(14) }}

  • 5 2
  • 5 0
  • 0 2
  • 0 0

  1. 在下⾯的C++代码中,N必须是⼩于10⼤于1的整数,M为正整数(⼤于0)。如果M被N整除则M为幸运数,如果M中含有N且能被N整除,则为超级幸运数,否则不是幸运数。程序⽤于判断M是否为幸运数或超级幸运数或⾮幸运数。阅读下⾯代码,有关说法正确的是?

{{ select(15) }}

  • 如果N输⼊3,M输⼊36则将输出:36是3的超级幸运数!
  • 如果N输⼊7,M输⼊21则将输出:21是7的幸运数!
  • 如果N输⼊8,M输⼊36则将输出:36⾮8的超级幸运数!
  • 如果N输⼊3,M输⼊63则将输出:63是3的超级幸运数!

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

  1. 执⾏C++代码 cout << '9'+'1'; 的输出为 10。 {{ select(16) }}


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


  1. C++表达式 int(12.56) 的值为 13。 {{ select(18) }}


  1. C++的整型变量 N 被赋值为 10,则语句 cout << N / 3 << "-" << N % 3 执⾏后输出是 3-1。 {{ select(19) }}


  1. 在C++代码中,不可以将变量命名为scanf,因为scanf是C++语⾔的关键字。 {{ select(20) }}


  1. 下⾯C++代码执⾏后将导致死循环。

{{ select(21) }}



  1. 下⾯C++代码执⾏后将输出 10。

{{ select(22) }}



  1. 下⾯C++代码执⾏后,将输出5。

{{ select(23) }}



  1. 下⾯C++代码能实现正整数各位数字之和。

{{ select(24) }}



  1. GESP测试是对认证者的编程能⼒进⾏等级认证,同⼀级别的能⼒基本上与编程语⾔⽆关。 {{ select(25) }}


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

  1. 【平⽅之和】
  2. 【计数】