2024年3月 GESP C++ 4级
2024年3月 GESP C++ 4级认证考试真题(含编程操作题部分)
// questions
题目预览
若函数声明为 int f(int &x){ x+=3; return x; },则对声明的变量 int a=3,下面哪个调用能够改变 aaa 的值( )。
f(&a);
f(*a);
f(a);
f(a-3);
下面 C++ 代码执行后,输出的是( )。
int main()
{
int x[] = {2, 0, 2, 4};
char geSP[] = "Grade Examination of SP";
cout << geSP[sizeof(x)] << endl;
cout << endl;
return 0;
}
G
e
n
P
下面 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;
}
111
1.11.11.1
333
3.13.13.1
对二维数组 int arr[3][16]; ,则 arr[1] 占用内存的大小为( )字节。
444
161616
484848
646464
对二维数组 int arr[3][16];,若 arr 的地址是 0x28cbc00x28cbc00x28cbc0,则 arr[1] 的值是( )。
0x28cbc40x28cbc40x28cbc4
0x28cbd00x28cbd00x28cbd0
0x28cc000x28cc000x28cc00
不确定
下面 C++ 代码执行后输出是( )。
int main()
{
char *p = "I love GESP!";
cout << p + 5 << endl;
cout << endl;
return 0;
}
e
I lov
e GESP!
GESP!
下面 C++ 代码执行以后输出的是( )。
int rc=5;
int main()
{
int rc;
cout << ++rc << endl;
cout << endl;
return 0;
}
000
111
666
不确定
下面 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];
}
递推
递归
迭代
循环
插入排序在最好情况下的时间复杂度是( )。
在如下的 C++ 代码执行后,设第 11 和 12 行的输出地址值分别为 XXX 和 YYY ,则下面正确的是( )。
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;
}
X>YX > YX>Y
X==YX == YX==Y
X<YX < YX<Y
不确定
如果文件 1.txt 中的内容如下,则执行下面 C++ 代码时,注释了 #### 那行代码所输出的 xxx 的值为( )。
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;
}
555
202420242024
333
000
执行下列 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;
}
2024
3.16
024
3
C++ 语言中下面哪个关键字能够限定对象的作用域( )。
extern
static
inline
public
小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是( )。
小程序
计时器
操作系统
神话人物
中国计算机学会(CCF)在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。
制造自动驾驶汽车
创立培训学校
发明汉字激光照排系统
成立方正公司
对 int a[]={2,0,2,4,3,1,6},执行第一趟选择排序处理后 aaa 中数据变为 {0,2,2,4,3,1,6}。( )
如果待排序数据不能都装进内存,需要使用外排序算法。( )
定义变量 int a = 5,则 cout << &++a 会输出 666。( )
两个函数之间可以使用全局变量来传递数据。 ( )
定义数组 int a[2024][3][16]={2,0,2,4,3,1,6},则 cout << a[2023][2][15] 的结果不确定。( )
在 C++ 语言中,函数的参数为指针时,可以在函数内部修改该参数的值。( )
在 C++ 语言中 try 子句里抛出的结构体等类型的异常无法被 catch 捕获。( )
C++ 语言中 cout << 9^2 << endl; 会输出 818181。( )
小杨今年春节回奶奶家了,奶奶家的数字电视要设置 ip 地址并接入到 WIFI 盒子才能收看节目,那这个 WIFI 盒子具有路由器的功能。( )
任何一个 for 循环都可以转化为等价的 while 循环( )。
试题名称:相似字符串
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
对于两个字符串 AAA 和 BBB,如果 AAA 可以通过删除一个字符,或插入一个字符,或修改一个字符变成 BBB,那么我们说 AAA 和 BBB 是相似的。
比如 apple\texttt{apple}apple 可以通过插入一个字符变成 applee\texttt{applee}applee,可以通过删除一个字符变成 appe\texttt{appe}appe,也可以通过修改一个字符变成 bpple\texttt{bpple}bpple。因此 apple\texttt{apple}apple 和 applee\texttt{applee}applee、appe\texttt{appe}appe、bpple\texttt{bpple}bpple 都是相似的。但 applee\texttt{applee}applee 并不能 通过任意一个操作变成 bpple\texttt{bpple}bpple,因此它们并不相似。
特别地,两个完全相同的字符串也是相似的。
给定 TTT 组 A,BA,BA,B,请你分别判断它们是否相似。
输入格式
第一行一个正整数 TTT。
接下来 TTT 行,每行两个用空格隔开的字符串 AAA 和 BBB。
输出格式
对组 A,BA,BA,B,如果他们相似,输出 similar,否则输出 not similar。
样例输入 #1
5
apple applee
apple appe
apple bpple
applee bpple
apple apple
样例输出 #1
similar
similar
similar
not similar
similar
说明/提示
对全部的测试数据,保证 1≤T≤1001 \leq T \leq 1001≤T≤100,AAA 和 BBB 的长度不超过 505050,仅含小写字母。
试题名称:做题
时间限制:1.0 s | 内存限制:512.0 MB
题目描述
小杨同学为了提高自己的实力制定了做题计划,在第 kkk 天时,他必须要完成 kkk 道题,否则他就会偷懒。
小杨同学现在找到了一个题库,一共有 nnn 套题单,每一套题单中有一定数量的题目。但是他十分挑剔,每套题单他只会使用一次,每一天也只能使用一套题单里的题目,之后那套题单就会弃之不用。对于每套题单,他不必完成题单内所有的题。
那么问题来了,小杨同学最多做题几天才偷懒呢?
输入格式
第一行,一个整数为 nnn,表示有多少套题单。
第二行 nnn 个整数 a1,a2,…ana_1, a_2, \dots a_na1,a2,…an,分别表示每套题单有多少道题。
输出格式
输出一行一个整数表示答案。
样例输入 #1
4
3 1 4 1
样例输出 #1
3
说明/提示
数据规模与约定
对全部的测试数据,保证 1≤n≤1061 \leq n \leq 10^61≤n≤106,1≤ai≤1091 \leq a_i \leq 10^91≤ai≤109。