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

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

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

  1. C++表达式 (3 - 2) * 3 + 5的值是? {{ select(1) }}
  • -13
  • 8
  • 2
  • 0

  1. C++语句cout << "5%2=" << 5 % 2 执⾏后的输出是? {{ select(2) }}
  • 2 2
  • 1 1
  • 5%2=2
  • 5%2=1

  1. 执⾏C++语句 cin >> a 时如果输⼊5+2,下述说法正确的是? {{ select(3) }}
  • 变量a将被赋值为整数7
  • 变量a将被赋值为字符串,字符串内容为5+2
  • 语句执⾏将报错,不能输⼊表达式
  • 依赖于变量a的类型。如果没有定义,会有编译错误

  1. 下⾯C++代码执⾏后的输出是?
1. int a = 1;  
2. cout << "a+1= " << a+1 << endl;

{{ select(4) }}

  • a+1= 2
  • a+1=2
  • 2=2
  • 2= 2

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

    1. int a = 1;  
    2. printf("a+1=%d\n", a+1);
    

    {{ select(5) }}

  • a+1= 2
  • a+1=2
  • 2=2
  • 2= 2

  1. 下⾯C++代码执⾏时输⼊21后,有关描述正确的是?
1. int N;  
2. cin >> N; 
3. if(N% 3 == 0)  
4.     cout << "能被3整除";  
5. else if (N % 7 == 0)  
6.     cout << "能被7整除";  
7. else  
8.     cout << "不能被3和7整除";  
9. cout << endl;

{{ select(6) }}

  • 代码第4⾏被执⾏
  • 第4和第7⾏代码都被执⾏
  • 仅有代码第7⾏被执⾏
  • 第8⾏代码将被执⾏,因为input()输⼊为字符串

  1. 下⾯C++代码第2⾏,总共被执⾏次数是?
    1. for(int i=-10; i<10; i++)  
    2.     cout << i << " ";
    

{{ select(7) }}

  • 10
  • 19
  • 20
  • 21

  1. 下⾯C++代码执⾏后的输出是?
1. int tnt = 0;  
2. for(int i=0; i<10; i++)  
3.     if(i%3 && i%7)  
4.         tnt +=i;  
5. cout << tnt << endl;

{{ select(8) }}

  • 0
  • 7
  • 18
  • 20

  1. 下⾯C++代码执⾏后的输出是?
1. int N = 10;  
2. while(N){  
3.     N -= 1;  
4.     if(N%3 == 0)  
5.         cout << N << "#"; 
6. }

{{ select(9) }}

  • 9#6#3#
  • 9#6#3#0#
  • 8#7#5#4#2#1#
  • 10#8#7#5#4#2#1#

  1. 下⾯C++代码⽤于判断键盘输⼊的整数是否为质数。质数是只能被1和它本⾝整除的数。在横线处应填⼊代 码是?
1. int N;  
2. cin >> N; 
3. int cnt = 0; // 记录N被整除的次数 
4. for(int i=1; i<N+1; i++)  
5.     if(________________)  
6.         cnt +=1;  
7. if(cnt == 2)  
8.     cout << N << "是质数";  
9. else  
10.    cout << N << "不是质数";

{{ select(10) }}

  • N % i
  • N % i == 0
  • N / i == 0
  • N / i

  1. 下⾯关于整型变量int x的赋值语句不正确是?

{{ select(11) }}

  • x=(3.16);
  • x=3.16;
  • x=int(3.16);
  • x=3.16 int;

  1. C++语⾔中下⾯可以完成数据输⼊的语句是?

{{ select(12) }}

  • printf语句
  • scanf语句
  • default语句
  • cout语句

  1. 在Dev C++中对⼀个写好的C++源⽂件要⽣成⼀个可执⾏程序需要执⾏下⾯哪个处理步骤?

{{ select(13) }}

  • 创建
  • 编辑
  • 编译
  • 调试

  1. ⼩杨的⽗母最近刚刚给他买了⼀块华为⼿表,他说⼿表上跑的是鸿蒙,这个鸿蒙是? {{ select(14) }}
  • ⼩程序
  • 计时器
  • 操作系统
  • 神话⼈物

  1. 中国计算机学会(CCF)在2024年1⽉27⽇的颁奖典礼上颁布了王选奖,王选先⽣的重⼤贡献是? {{ select(15) }}
  • 制造⾃动驾驶汽车
  • 创⽴培训学校
  • 发明汉字激光照排系统
  • 成⽴⽅正公司

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

  1. 在C++代码中变量n被赋值为27,则 cout << n%10 执⾏后输出的是7。 {{ select(16) }}


  1. C++语句 printf("%d#%d&",2,3) 执⾏后输出的是2#3&。 {{ select(17) }}


  1. C++函数scanf()必须含有参数,且其参数为字符串型字⾯量,其功能是提⽰输⼊。 {{ select(18) }}


  1. C++表达式 "10"*2 执⾏时将报错,因为 "10" 是字符串类型⽽2是整数类型,它们数据类型不同,不能在⼀ 起运算。 {{ select(19) }}


  1. 在C++中,while可能是死循环,⽽for循环不可能是死循环。 {{ select(20) }}


  1. 在C++,break语句⽤于提前终⽌当前层次循环,适⽤于while循环,但不适⽤于for循环。 {{ select(21) }}


  1. C++语⾔中3.0和3的值相等,所以它们占⽤的存储空间也相同。 {{ select(22) }}


  1. 在C++的程序中,cin是⼀个合法的变量名。 {{ select(23) }}


  1. ⼩杨今年春节回奶奶家了,奶奶家的数字电视可以通过遥控器输⼊电视剧名称来找到想播放的电视剧,所以 可以推知⾥⾯有交互式程序在运⾏。 {{ select(24) }}


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


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

  1. 【小杨买书】
  2. 【找因数】