一、单选题
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天。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!