GESP 2023年12月_C++四级试卷

从PDF导入:GESP 2023年12月_C++四级试卷

C++ 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
下面有关函数参数的说法,正确的是( )。
A. 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值不变。
B. 函数参数传递时,主函数当中采用值传递方式将参数传递给子函数时,若子函数将参数值改变,主函数当中的参数值将随子函数一样改变而改变。
C. 函数参数传递时,主函数如果将参数的地址传递给子函数,若子函数将参数值改变,主函数当中的参数值将不改变。
D. 函数参数传递可以不满足子函数的参数个数要求。
第2题 中级 2.0分 单选
下面C++代码执行后,输出的是( )。

string s = "chen a dai";
char c = s[0];
cout << c << endl;

A. chen
B. c
C. chen a dai
D. dai
第3题 中级 2.0分 单选
下面C++代码最后执行后输出是( )。

int arr[5] = {10, 20, 30, 40, 50};
int* p = arr;
p += 3;
cout << *p << endl;

A. 1
B. 2
C. 3
D. 4
第4题 中级 2.0分 单选
下面C++代码执行后的结果是( )。

int arr[2][3] = {{1,2,3}, {4,5,6}};
cout << arr[1][0] << endl;

A. 1
B. 2
C. 4
D. 5
第5题 中级 2.0分 单选
下面C++代码执行后输出是( )。

int a[5] = {1, 2, 3, 4, 5};
int* p = a;
cout << *(p + 2) << endl;

A. 1,2,3
B. 1
C. 3
D. 2
第6题 中级 2.0分 单选
如果变量x的地址是0x6ffe14,下面C++代码执行以后输出的是( )。

int x = 10;
int* p = &x;
p++;
cout << p << endl;

A. 0x6ffe11
B. 0x6ffe14
C. 0x6ffe18
D. 0x6ffe15
第7题 中级 2.0分 单选
在C++中,执行下面代码后,输出的是( )。

int arr[100];
cout << sizeof(arr) << endl;

A. 400
B. 200
C. 20
D. 100
第8题 中级 2.0分 单选
下列C++语句执行以后结果是true的是( )。
A. 3&&false
B. 5&&2
C. 101&&000
D. 4&true
第9题 中级 2.0分 单选
在如下的C++代码中实现了对字符串中出现的26个字母的个数统计,横线处应填入是( )。

int alpha[26] = {0};
string s = "hello world";
for(int i = 0; i < s.length(); i++) {
if(s[i] >= 'a' && s[i] <= 'z') {
________________ // 统计字母出现次数
}
}

A. alpha[i]=alpha[i-1]+1;
B. alpha[i]=alpha[i]+1;
C. alpha[i+1]=alpha[i]+1;
D. alpha[i-1]=alpha[i]+1;
第10题 中级 2.0分 单选
下面C++代码执行后生成的文件其字节数为( )。

ofstream fout("test.txt");
fout << "1234567890";
fout.close();

A. 10
B. 16
C. 40
D. 24
第11题 中级 2.0分 单选
下列C++代码输入1,2,3,4,执行后,将输出的是( )。

int n = 4;
int arr[] = {1, 2, 3, 4};
for(int i = 0; i < n; i++) {
if(i % 2 == 0) {
cout << arr[i] << "#";
}
}

A. 1#4#
B. 1#3#
C. 1#2#3#4#
D. 1#2#3#4
第12题 中级 2.0分 单选
以下C++代码用于实现每个整数对应的因数,如输入12,则输出1 2 3 4 6 12;如输入18,则输出1 2 3 6 9 18。横线处应填入代码是( )。

int n;
cin >> n;
for(int i = 1; i <= n; i++) {
if( __________ ) {
cout << i << " ";
}
}

A. if(n%i==0)
B. if(n/i==0)
C. if(n%i!=0)
D. if(n/i!=0)
第13题 中级 2.0分 单选

某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )

A. 麦克风
B. 扬声器
C. 油量表
D. 传感器
第14题 中级 2.0分 单选
现代计算机是指电子计算机,它所基于的是( )体系结构。
A. 艾伦·图灵
B. 冯·诺依曼
C. 阿塔纳索夫
D. 埃克特-莫克利
第15题 中级 2.0分 单选

输入一个正整数N(N>=7),想找出它所有相邻的因数对,比如,输入12,因数对有(1,2)、(2,3)、(3,4)。下面哪段代码找不到所有的因数对?( )

A. for(i=1;i
B. for(i=2;i
C. for(i=2;i
D. for(i=1;i
第16题 中级 2.0分 判断

C++的内置函数 sort() 支持数组的局部排序。例如 int a={10,9,8,7,6,5,4,3,2,1} ,可以用sort(a,a+5) ,排序成 {6,7,8,9,10,5,4,3,2,1} 。( )

T. 正确
F. 错误
第17题 中级 2.0分 判断
用递归法求n的阶乘,时间复杂度是O(n)。( )
T. 正确
F. 错误
第18题 中级 2.0分 判断
[(1,2)*2]*3在C++中是合法的表达式。( )
T. 正确
F. 错误
第19题 中级 2.0分 判断
在下面的C++代码中,将对1.txt文件写入hello。( )

T. 正确
F. 错误
第20题 中级 2.0分 判断
文本文件1.txt第1行由01234共5个字符组成其间没有空格,当用C++代码正常打开文件成功并执行如下代码以后,第1行长度为5。( )

T. 正确
F. 错误
第21题 中级 2.0分 判断
执行C++代码cout<<(5||2);后将输出1。( )
T. 正确
F. 错误
第22题 中级 2.0分 判断
在C++中,两个字符串相加的运算符为+相当于字符串的合并运算。下面C++代码执行后,将输出chenadai。( )

T. 正确
F. 错误
第23题 中级 2.0分 判断
C++内置函数sort()可以对整数、浮点数、字符数组进行从大到小,从小到大,局部排序。( )
T. 正确
F. 错误
第24题 中级 2.0分 判断
小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。( )
T. 正确
F. 错误
第25题 中级 2.0分 判断
任何一个while循环都可以转化为等价的for循环。( )
T. 正确
F. 错误
第26题 中级 25.0分 编程
小杨的字典

时间限制:1.0 s 内存限制:128.0 MB
在遥远的星球,有两个国家A国和B国,他们使用着不同的语言:A语言和B语言。小杨是B国的翻译官,他的工作是将A语言的文章翻译成B语言的文章。
为了顺利完成工作,小杨制作了一本字典,里面记录了N个A语言单词对应的B语言单词,巧合的是,这些单词都由地球上的26个小写英文字母组成。
小杨希望你写一个程序,帮助他根据这本字典翻译一段A语言文章。这段文章由标点符号 !()-[]{}\|;:'",./?<> 和一些A语言单词构成,每个单词之间必定由至少一个标点符号分割,你的程序需要把这段话中的所有A语言单词替换成它的B语言翻译。特别地,如果遇到不在字典中的单词,请使用大写UNK来替换它。

【输入格式】
第一行一个整数N,表示词典中的条目数。
接下来N行,每行两个用单个空格隔开的字符串,分别表示字典中的一个A语言单词以及它对应的B语言翻译。
最后一行一个字符串,表示需要翻译的A语言文章。
【输出格式】
输出一行,表示翻译后的结果。
【样例输入1】

2
abc a
d def
abc.d.d.abc.abcd.
【样例输出1】

a.def.def.a.UNK.
第27题 中级 25.0分 编程
田忌赛马

时间限制:1.0 s 内存限制:128.0 MB
你要和田忌赛马。你们各自有N匹马,并且要进行N轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。
你的马匹的速度分别为a1,a2,...,aN,田忌的马匹的速度分别为b1,b2,...,bN。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。

【输入格式】
第一行一个整数N。
接下来一行N个用空格隔开的整数,依次为a1,a2,...,aN,表示你的马匹们的速度。
接下来一行N个用空格隔开的整数,依次为b1,b2,...,bN,表示田忌的马匹们的速度。
【输出格式】
输出一行,表示你最多能获胜几轮。
【样例输入1】

3
1 3 5
2 4 6
【样例输出1】

2
💬