#O3521. GESP.2024年3月四级认证.理论题

GESP.2024年3月四级认证.理论题

GESP C++ 四级 2024 年 3 月

1 单选题(每题 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:
6:  	cout << geSP[sizeof(x)] << endl;
7:
8:  	cout << endl;
9:  	return 0;
10: }

{{ 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:  	cout << endl;
7:
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:  
7:  	return f[n];
8:  }

{{ select(8) }}

  • 递推
  • 递归
  • 迭代
  • 循环
  1. 插入排序在最好情况下的时间复杂度是( )。{{ select(9) }}
  • O(1)
  • O(N/2N/2)
  • O(NN)
  • O(N2N^2)
  1. 在如下的 C++ 代码执行后,设第 11 和 12 行的输出地址值分别为 X 和 Y ,则下面正确的是( )。
 1: struct pass{
 2: 	int no;
 3: 	char name[20];
 4: 	int level;
 5: };
 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: 		fin >> line;
10: 		cout << line << endl;
11:	    }
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: 	for (int i=0; i< 2; i++){
 5: 		cout << *s+i << endl;
 6: 	}
 7:
 8: 	cout << endl;
 9:	return 0;
10: }

{{ 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) }}
  • 制造自动驾驶汽车
  • 创立培训学校
  • 发明汉字激光照排系统
  • 成立方正公司

2 判断题(每题 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) }}
  • 正确
  • 错误