试卷 2024年3月GESP认证C++编程四级真题试卷
2024年3月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++代码执⾏后 ,输出的是(  )。

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 }
A.

G

B.

e

C.

n

D.

P

第 3 题    单选题

下⾯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 }
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++代码执⾏后输出是(    )。

1 int main(  )
2 {
3  char *p="I love GESP!";
4  cout << p+5 << endl;
5
6  cout << endl;
7  return 0;
8 }
A.

e

B.

 I lov

C.

 e GESP!

D.

GESP!

第 7 题    单选题

下⾯C++代码执⾏以后输出的是(    )。

1 int rc=5;
2 int main()
3 {
4  int rc;
5  cout << ++rc << endl;
6
7  cout << endl;
8  return 0;
9 }
10
A.

0

B.

1

C.

6

D.

不确定

第 8 题    单选题

下⾯C++函数中采⽤的算法是(    )。

1 int fib(int n)
2 {
3  int i, f[n]={0, 1};
4
5  for(int i=2; i<=n; i++)
6   f[i]=f[i-1]+f[i-2];
7
8  return f[n];
9 }
10
A.

递推

B.

 递归

C.

迭代

D.

循环

第 9 题    单选题

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

A.

O(1)

B.

O(N/2)

C.

O(N)

D.

O(N2

第 10 题    单选题

在如下的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 }
A.

 X>Y

B.

X==Y

C.

X<Y

D.

不确定

第 11 题    单选题

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

1 50 2024 3.16 I

2 love

3 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  fin>>x;
13  cout << x << endl; //####
14
15  cout << endl;
16  return 0;
17 }
A.

5

B.

2024

C.

3

D.

0

第 12 题    单选题

执⾏下列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   cout << *s+i << endl;
7  }
8
9  cout << endl;
10  return 0;
11 }
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 题    问答题

试题名称:相似字符串

3.1.1 问题描述

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

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

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

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

3.1.2 输入描述

第一行一个正整数T。

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

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

3.1.3 输出描述

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

3.1.4 特别提醒

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

3.1.5 样例输入 1

3.1.6 样例输出 1

第 27 题    问答题

试题名称:做题

3.2.1 题目描述

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

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

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

3.2.2 输入格式

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

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

3.2.3 输出格式

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

3.2.4 样例1

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

答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
判断题
编程题
26 27
题目总数:27
总分数:100
时间:120分钟