GESP 2024年3月_C++四级试卷

从PDF导入:GESP 2024年3月_C++四级试卷

C++ 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
若函数声明为int f(int &x){ x+=3; return x; },则对声明的变量int a=3,下面哪个调用能够改变a的值( )。

int f(int &x) { x+=3; return x; }

A. f(&a);
B. f(*a);
C. f(a);
D. f(a-3);
第2题 中级 2.0分 单选
下面C++代码执行后,输出的是( )。

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

A. G
B. e
C. n
D. P
第3题 中级 2.0分 单选
下面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;
return 0;
}

A. 1
B. 1.1
C. 3
D. 3.1
第4题 中级 2.0分 单选
对二维数组int arr[3][16];,则arr[1]占用内存的大小为( )字节。
A. 4
B. 16
C. 48
D. 64
第5题 中级 2.0分 单选
对二维数组int arr[3][16];,若arr的地址是0x28cbc0,则arr[1]的值是( )。
A. 0x28cbc4
B. 0x28cbd0
C. 0x28cc00
D. 不确定
第6题 中级 2.0分 单选
下面C++代码执行后输出是( )。

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

A. e
B. I lov
C. e GESP!
D. GESP!
第7题 中级 2.0分 单选
下面C++代码执行以后输出的是( )。

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

A. 0
B. 1
C. 6
D. 不确定
第8题 中级 2.0分 单选
下面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题 中级 2.0分 单选
插入排序在最好情况下的时间复杂度是( )。
A. O(n)
B. O(n^2)
C. O(n log n)
D. O(log n)
第10题 中级 2.0分 单选
在如下的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行
return 0;
}

A. X>Y
B. X==Y
C. X
D. 不确定
第11题 中级 2.0分 单选
如果文件1.txt中的内容如下,则执行下面C++代码时,注释了####那行代码所输出的x的值为( )。

// 文件1.txt内容:
// 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; //####
return 0;
}

A. 5
B. 2024
C. 3
D. 0
第12题 中级 2.0分 单选
执行下列C++代码时输出中的第2行是( )。

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

A. 2024
B. 3.16
C. 024
D. 3
第13题 中级 2.0分 单选
C++语言中下面哪个关键字能够限定对象的作用域( )。
A. extern
B. static
C. inline
D. public
第14题 中级 2.0分 单选
小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是( )。
A. 小程序
B. 计时器
C. 操作系统
D. 神话人物
第15题 中级 2.0分 单选
中国计算机学会(CCF)在2024年1月27日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。
A. 制造自动驾驶汽车
B. 创立培训学校
C. 发明汉字激光照排系统
D. 成立方正公司
第16题 中级 2.0分 判断
对int a[]={2,0,2,4,3,1,6},执行第一趟选择排序处理后a中数据变为{0,2,2,4,3,1,6}。( )
T. 正确
F. 错误
第17题 中级 2.0分 判断
如果待排序数据不能都装进内存,需要使用外排序算法。( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
定义变量int a=5, 则cout << &++a会输出6。( )
T. 正确
F. 错误
第19题 中级 2.0分 判断
两个函数之间可以使用全局变量来传递数据。( )
T. 正确
F. 错误
第20题 中级 2.0分 判断
定义数组int a[2024][3][16]={2,0,2,4,3,1,6},则cout << a[2023][2][15]的结果不确定。( )
T. 正确
F. 错误
第21题 中级 2.0分 判断
在C++语言中,函数的参数为指针时,可以在函数内部修改该参数的值。( )
T. 正确
F. 错误
第22题 中级 2.0分 判断
在C++语言中try子句里抛出的结构体等类型的异常无法被catch捕获。( )
T. 正确
F. 错误
第23题 中级 2.0分 判断
C++语言中cout << 9^2 << endl;会输出81。( )
T. 正确
F. 错误
第24题 中级 2.0分 判断
小杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接入到WIFI盒子才能收看节目,那这个WIFI盒子具有路由器的功能。( )
T. 正确
F. 错误
第25题 中级 2.0分 判断
任何一个for循环都可以转化为等价的while循环( )。
T. 正确
F. 错误
第26题 中级 25.0分 编程
相似字符串

时间限制:1.0 s 内存限制:512.0 MB
对于两个字符串A和B,如果A可以通过删除一个字符,或插入一个字符,或修改一个字符变成B,那么我们说A和B是相似的。
比如apple可以通过插入一个字符变成applee,可以通过删除一个字符变成appe,也可以通过修改一个字符变成bpple,因此apple和applee、appe、bpple都是相似的。
特别地,完全相同的两个字符串也是相似的。
给定T组A、B,请你分别判断他们是否相似。

【输入格式】
第一行一个正整数T。
接下来T行,每行两个用空格隔开的字符串A和B。
保证A、B的长度不超过10^5。保证A和B只包含小写字母。
【输出格式】
输出T行,对于每组A、B,如果它们相似,则输出similar,否则输出not similar。
【样例输入】

5
apple applee
apple appe
apple bpple
applee bpple
apple apple
【样例输出】

similar
similar
similar
not similar
similar
第27题 中级 25.0分 编程
做题

时间限制:1.0 s 内存限制:512.0 MB
小杨同学为了提高自己的实力制定了做题计划,在第i天时,他必须要完成i道题,否则他就会偷懒。
小杨同学现在找到了一个题库,一共有n套题单,每一套题单中有一定数量的题目。但是他十分挑剔,每套题单他只会使用一次,每一天也只能使用一套题单里的题目,之后那套题单就会被弃之不用。对于每套题单,他不必完成题单内所有的题。
那么问题来了,小杨同学最多会做题几天才偷懒呢?

【输入格式】
第一行,1个数为n,表示有多少套题单。
第二行,n个整数ai,分别表示每套题单有多少道题。
【输出格式】
输出一行,小杨同学偷懒前最多做题天数。
【样例输入】

4
3 1 4 1
【样例输出】

3
💬