CCF-GESP 等级考试 2024年3月认证C++四级真题

2024年3月真题

一、单选题(每题2分,共30分)

第 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 的地址是 0x28cc00,则 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(N^2)

第 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 的值为( )。

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. 成⽴⽅正公司

二、判断题(每题2分,共20分)

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

第 2 题 如果待排序数据不能都装进内存,需要使⽤外排序算法。( )

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

第 4 题 两个函数之间可以使⽤全局变量来传递数据。( )

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

第 6 题 在 C++ 语⾔中,函数的参数为指针时,可以在函数内部修改该参数的值。( )

第 7 题 在 C++ 语⾔中 try ⼦句⾥抛出的结构体等类型的异常⽆法被 catch 捕获。( )

第 8 题 C++ 语⾔中 cout << 9^2 << endl; 会输出 81。( )

第 9 题 ⼩杨今年春节回奶奶家了,奶奶家的数字电视要设置 ip 地址并接⼊到 WIFI 盒⼦才能收看节⽬,那这个 WIFI 盒⼦具有路由器的功能。( )

第 10 题 任何⼀个 for 循环都可以转化为等价的 while 循环。( )

三、编程题(每题25分,共50分)

3.1 编程题 1

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 样例输入 1
5
apple applee
apple appe
apple bpple
applee bpple
apple apple
3.1.5 样例输出 1
similar
similar
similar
not similar
similar

3.2 编程题 2

3.2.1 问题描述

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

3.2.2 输入格式

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

3.2.3 输出格式

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

3.2.4 样例输入 1
4
3 1 4 1
3.2.5 样例输出 1
3

对于全部数据,保证有1 ≤ n ≤ (10^6),1 ≤ ai ≤(10^9)

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天秀信奥编程培训

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值