image

编辑人: 未来可期

calendar2025-06-16

message1

visits852

2024年3月CCF-GESP编程能力等级认证C++编程四级真题参考答案

一、单选题

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

A f(&a) ;

B f(*a) ;

C f(a) ;

D f(a-3) ;


2、下面C++代码执行后,输出的是(   )。

int main()
{
	int x[]={2, 0, 2, 4};
	char geSP[]="Grade Examination of SP";
	cout << geSP[sizeof(x)] << endl;
	cout << endl;
	return 0;
}

A G

B e

C n

D P


3、下面C++代码执行后输出是(   )。

int foo(float *f)
{
	return int(*f*2);
}
int main()
{
	float fnum[10]={1.1};
	fnum[1]=foo(fnum);
	cout << fnum[0]+fnum[1] << endl;
	cout << endl;
	return 0;
}

A 1

B 1.1

C 3

D 3.1


4、对二维数组 int arr[3][16]; ,则 arr[1] 占用内存的大小为(   )字节。

A 4

B 16

C 48

D 64


5、对二维数组 int arr[3][16]; ,若 arr 的地址是 0x28cbc0 ,则 arr[1] 的值是(   )。

A 0x28cbc4

B 0x28cbd0

C 0x28cc00

D 不确定


6、下面C++代码执行后输出是(   )。

int main()
{
	char *p="I love GESP!";
	cout << p+5 << endl;
	cout << endl;
	return 0;
}

A e

B I lov

C e GESP!

D GESP!


7、下面C++代码执行以后输出的是(   )。

int rc=5;
int main()
{
	int rc;
	cout << ++rc << endl;
	cout << endl;
	return 0;
}

A 0

B 1

C 6

D 不确定


8、下面C++函数中采用的算法是(   )。

int fib(int n)
{
	int i, f[n]={0, 1};
	for(int i=2; i<=n; i++)
		f[i]=f[i-1]+f[i-2];
	return f[n];
}

A 递推

B 递归

C、

迭代

D、

循环


9、插入排序在最好情况下的时间复杂度是(   )。

A O(1)

B O(N/2)

C O(N)

D O(N2)


10、在如下的C++代码执行后,设第11和12行的输出地址值分别为 X 和 Y ,则下面正确的是(   )。

struct pass{
	int no;
	char name[20];
	int level;
};
int main()
{
	struct pass XiaoYang;
	cout << "&XiaoYang=" << &XiaoYang << endl; //第11行
	cout << "&(XiaoYang.no)=" << &(XiaoYang.no) << endl; //第12行
	cout << endl;
	return 0;
}

A X>Y

B X==Y

C X<Y

D 不确定


11、如果文件 1.txt 中的内容如下,则执行下面C++代码时,注释了 #### 那行代码所输出的 x 的值为( C )。

50 2024 3.16 I
love
GESP!
int main()
{
	ifstream fin;
	string line;
	int x;
	fin.open("1.txt",ios::in);
	for (int i=0; i< 2; i++){
		fin >> line;
		cout << line << endl;
	}
	fin>>x;
	cout << x << endl; //####
	cout << endl;
	return 0;
}

A 5

B 2024

C 3

D 0


12、执行下列C++代码时输出中的第2行是(   )。

int main()
{
	char *s[]={(char*)"2024",(char*)"3.16",(char*)"GESP"};
	for (int i=0; i< 2; i++){
		cout << *s+i << endl;
	}
	cout << endl;
	return 0;
}

A 2024

B 3.16

C 024

D、

3


13、C++语言中下面哪个关键字能够限定对象的作用域(   )。

A extern

B static

C inline

D public


14、小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是(   )。

A、

小程序

B、

计时器

C、

操作系统

D、

神话人物


15、中国计算机学会(CCF)在2024年1月27日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是(   )。

A、

制造自动驾驶汽车

B、

创立培训学校

C、

发明汉字激光照排系统

D、

成立方正公司


二、判断题

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

A 正确

B 错误


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

A 正确

B 错误


18、定义变量 int a=5 , 则 cout << &++a 会输出 6 。(   )

A 正确

B 错误


19、两个函数之间可以使用全局变量来传递数据。 (   )

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


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

A 正确

B 错误


23、C++语言中 cout << 9^2 << endl; 会输出81。(   )

A 正确

B 错误


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

A 正确

B 错误


25、任何一个for循环都可以转化为等价的while循环(   )。

A 正确

B 错误


三、实操题

26、相似字符串

问题描述

对于两个字符串A和B,如果A可以通过删除一个字符,插入一个字符,修改一个字符变成B,那么我们说A和B是相似的。

比如 apple 可以通过插入一个字符变成 applee ,可以通过删除一个字符变成 appe ,也可以通过修改一个字符变成 bpple ,因此 apple 和 applee 、 appe 、 bpple 都是相似的。但 applee 并不能通过任意一个操作变成bpple ,因此它们并不相似。

特别地,完全相同的两个字符串也是相似的。

给定T组A,B,请你分别判断他们是否相似。

输入描述

第一行一个正整数T。

接下来T行,每行两个用空格隔开的字符串A和B。

保证T≤100,A,B的长度不超过50。保证A和B只包含小写字母。

输出描述

输出T行,对于每组A,B,如果它们相似,则输出 similar ,否则输出 not similar 。

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。


样例输入 1

5
apple applee
apple appe
apple bpple
applee bpple
apple apple

样例输出 1

similar
similar
similar
not similar
similar

参考答案:br />对于每一组输入,分别判断A和B是否相似,输出相应的结果。


27、做题

题目描述

小杨同学为了提高自己的实力制定了做题计划,在第k天时,他必须要完成k道题,否则他就会偷懒。

小杨同学现在找到了一个题库,一共有n套题单,每一套题单中有一定数量的题目。但是他十分挑剔,每套题单他只会使用一次,每一天也只能使用一套题单里的题目,之后那套题单就会被弃之不用。对于每套题单,他不必完成题单内所有的题。

那么问题来了,小杨同学最多会做题几天才偷懒呢?

输入格式

第一行,1个数为n,表示有多少套题单。

第二行,n个整数a1,a2,...,an,分别表示每套题单有多少道题。

输出格式

输出一行,小杨同学偷懒前最多做题天数。


样例输入

4
3 1 4 1

样例输出

3

对于全部数据,保证有1≤n≤106,1≤ai≤109

参考答案:对于样例输入,小杨同学偷懒前最多做题天数为3天。


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2024年3月CCF-GESP编程能力等级认证C++编程四级真题参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share