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

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

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

  1. 若函数声明为 int f(int &x){ x+=3; return x; } ,则对声明的变量 int a=3 ,下面哪个调用能够改变 a 的值? {{ select(1) }}
  • f(&a) ;
  • f(*a) ;
  • f(a) ;
  • f(a-3) ;

  1. 下面C++代码执行后,输出的是?
1. int main()
2. {
3.	 int x[]= {2, 0, 2, 4};
4.	 char geSP[]="Grade Examination of SP";
5.	 cout << geSP[sizeof(x)] << endl;
6.	 cout << endl;
7.	 return 0;
8. }

{{ select(2) }}

  • G
  • e
  • n
  • p

  1. 下面C++代码执行后输出是?
1. int foo(float *f)
2. {
3.	 return int(*f*2);
4. }
5.
6. int main()
7. {
8.	 float fnum[10]= {1.1};
9.	 fnum[1]=foo(fnum);
10.	 cout << fnum[0]+fnum[1] << endl;
11.
12.	 cout << endl;
13.	 return 0;
14. }

{{ select(3) }}

  • 1
  • 1.1
  • 3
  • 3.1

  1. 对二维数组 int arr[3][16]; ,则 arr[1] 占用内存的大小为( )字节? {{ select(4) }}
  • 4
  • 16
  • 48
  • 64

  1. 对二维数组 int arr[3][16]; ,若 arr 的地址是 0x28cbc0 ,则 arr[1] 的值是? {{ select(5) }}
  • 0x28cbc4
  • 0x28cbd0
  • 0x28cc00
  • 不确定

  1. 下面C++代码执行后输出是?
1. int main()
2. {
3.	 char *p="I love GESP!";
4.	 cout << p+5 << endl;
5.
6.	 cout << endl;
7.	 return 0;
8. }

{{ select(6) }}

  • e
  • I lov
  • e GESP!
  • GESP!

  1. 下面C++代码执行以后输出的是?
1. int rc=5;
2. int main()
3. {
4.	 int rc;
5.	 cout << ++rc << endl;
6.
7.	 cout << endl;
8.	 return 0;
9. }

{{ select(7) }}

  • 0
  • 1
  • 6
  • 不确定

  1. 下面C++函数中采用的算法是?
1. int fib(int n)
2. {
3.	 int i, f[n] = {0, 1};
4.	 for(int i=2; i<=n; i++)
5.		 f[i]=f[i-1]+f[i-2];
6.	 return f[n];
7. }

{{ select(8) }}

  • 递推
  • 递归
  • 迭代
  • 循环

  1. 插入排序在最好情况下的时间复杂度是? {{ select(9) }}
  • O(1)O(1)
  • O(N/2)O(N/2)
  • O(N)O(N)
  • O(N2)O(N^2)

  1. 在如下的C++代码执行后,设第11和12行的输出地址值分别为 X 和 Y ,则下面正确的是?
1. struct pass
2. {
3.	 int no;
4.	 char name[20];
5.	 int level;
6. };
7. int main()
8. {
9.	 struct pass XiaoYang;
10.
11.	 cout << "&XiaoYang=" << &XiaoYang << endl; //第11行
12.	 cout << "&(XiaoYang.no)=" << &(XiaoYang.no) << endl; //第12行
13.
14.	 cout << endl;
15.	 return 0;
16. }

{{ select(10) }}

  • X>Y
  • X==Y
  • X<Y
  • 不确定

  1. 如果文件 1.txt 中的内容如下,则执行下面C++代码时,注释了 #### 那行代码所输出的 x 的值为?
50 2024 3.16 I
love
GESP!
1. int main()
2. {
3.	 ifstream fin;
4.	 string line;
5.	 int x;
6.	 fin.open("1.txt",ios::in);
7.
8.	 for (int i=0; i< 2; i++)
9.	 {
10.		 fin >> line;
11.		 cout << line << endl;
12.	 }
13.	 fin>>x;
14.	 cout << x << endl; //####
15.
16.	 cout << endl;
17.	 return 0;
18. }

{{ select(11) }}

  • 5
  • 2024
  • 3
  • 0

  1. 执行下列C++代码时输出中的第2行是?
1. int main()
2. {
3.	 char *s[]= {(char*)"2024",(char*)"3.16",(char*)"GESP"};
4.
5.	 for (int i=0; i< 2; i++)
6.	 {
7.		 cout << *s+i << endl;
8.	 }
9.
10.	 cout << endl;
11.	 return 0;
12. }

{{ select(12) }}

  • 2024
  • 3.16
  • 024
  • 3

  1. C++语言中下面哪个关键字能够限定对象的作用域? {{ select(13) }}
  • extern
  • static
  • inline
  • public

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

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

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

  1. int a[]={2,0,2,4,3,1,6} ,执行第一趟选择排序处理后 a 中数据变为 {0,2,2,4,3,1,6}。 {{ select(16) }}


  1. 如果待排序数据不能都装进内存,需要使用外排序算法。 {{ select(17) }}


  1. 定义变量 int a=5 , 则 cout << &++a 会输出 6。 {{ select(18) }}


  1. 两个函数之间可以使用全局变量来传递数据。 {{ select(19) }}


  1. 定义数组 int a[2024][3][16]={2,0,2,4,3,1,6} ,则 cout << a[2023][2][15] 的结果不确定。 {{ select(20) }}


  1. 在C++语言中,函数的参数为指针时,可以在函数内部修改该参数的值。 {{ select(21) }}


  1. 在C++语言中 try 子句里抛出的结构体等类型的异常无法被 catch 捕获。 {{ select(22) }}


  1. C++语言中 cout << 9^2 << endl; 会输出81。 {{ select(23) }}


  1. 小杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接入到WIFI盒子才能收看节目,那这个WIFI盒子具有路由器的功能。 {{ select(24) }}


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


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

  1. 【相似字符串】

  2. 【做题】