2023年12月GESP认证C++等级考试(四级)真题试卷
剩余时间 --:--:--
单选题 共 15 题
1.
下⾯有关函数参数的说法,正确的是( )。
2.

下⾯C++代码执⾏后,输出的是( )

3.

下⾯C++代码最后执⾏后输出是( )

4.

下⾯C++代码执⾏后的结果是(    )

5.

下⾯C++代码执⾏后输出是(     )。

6.

如果变量x的地址是0x6ffe14,下⾯C++代码执⾏以后输出的是(     )。

7.

C++,执⾏下⾯代码后,输出的是(     )。

8.

下列C++语句执⾏以后结果是true的是(      )。

9.

在如下的C++代码中实现了对字符串中出现的26个字母的个数统计,横线处应填⼊是(     )。

10.

下⾯C++代码执⾏后⽣成的⽂件其字节数为(     )。

11.

下列C++代码输1,2,3,4,执⾏后,将输出的是(     )。

12.

以下C++代码⽤于实现每个整数对应的因数,如输12,则输1 2 3 4 6 12;如输18,则输1 2 3 6 9 18。横线处应填⼊代码是(     )。

13.

某公司新出了⼀款⽆⼈驾驶的⼩汽车,通过声控智能驾驶系统,乘客只要告诉汽车⽬的地,车⼦就能⾃动 选择⼀条优化路线,告诉乘客后驶达那⾥。下⾯哪项不是驾驶系统完成选路所必须的。

14.

计算机是指电⼦计算机,它所基于的是)体系结构。

15.

输⼊⼀个正整数N,想找出它所有相邻的因数对,⽐如,输⼊12,因数对有(1,2)(2,3)(3,4)。下⾯哪段代 码找不到所有的因数对?

判断题 共 10 题
1.

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}(      )

2.

⽤递归法求n的阶乘,时间复杂度是   O(n)   

3.

[(1,2)*2]*3C++中是合法的表达式。(  )

4.

在下⾯的C++代码中,将对1.txt⽂件写hello(            )

5.

⽂本⽂1.txt1012345个字符组成其间没有空格,当⽤C++代码正常打开⽂件成功并执⾏如下 代码以后,第1⾏长度为5

6.

执⾏C++cout<<(5||2);后将输1

7.

C++中,两个字符串相加的运算符为+相当于字符串的合并运算。下⾯C++代码执⾏后,将输出 chenadai

8.

C++内置函sort()可以对整数、浮点数、字符数组进⾏从⼤到⼩,从⼩到⼤,局部排序。

9.

⼩杨最近在准备考GESP,他⽤的Dev C++来练习和运⾏程序,所以Dev C++也是⼀个⼩型操作系统

10.

任何⼀个while循环都可以转化为等价的for循环

问答题 共 2 题
1.

试题名称:⼩杨的字典

在遥远的星球,有两个国AB 国,他们使⽤着不同的语⾔:A语⾔B 语⾔。⼩杨B 国的翻译官,他的⼯ 作是A语⾔的⽂章翻译B 语⾔的⽂章。

 

为了顺利完成⼯作,⼩杨制作了⼀本字典,⾥⾯记录了   N    A语⾔单词对应B 语⾔单词,巧合的是,这些单词都 由地球上26 个⼩写英⽂字母组成。

 

⼩杨希望你写⼀个程序,帮助他根据这本字典翻译⼀A语⾔⽂章。这段⽂章由标点符!()-[]{}\|;:'",./? <> 和⼀A语⾔单词构成,每个单词之间必定由⾄少⼀个标点符号分割,你的程序需要把这段话中的所A语⾔ 单词替换成它B 语⾔翻译。特别地,如果遇到不在字典中的单词,请使⽤⼤UNK 来替换它。

 

例如,⼩杨的字典中包2 A语⾔单abc d,它们B 语⾔翻译分别a def,那么我们可以A 语⾔⽂abc.d.d.abc.abcd. 翻译B 语⾔⽂a.def.def.a.UNK.,其中,单abcd 不在词典内,因此我 们需要使UNK 来替换它。

 

输入描述

第⼀⾏⼀个整数  N    ,表⽰词典中的条⽬数。保证   N<=100   

 

接下来   N    ⾏,每⾏两个⽤单个空格隔开的字符串    A,B      ,分别表⽰字典中的⼀A语⾔单词以及它对应B 语⾔翻 译。保证所有   A   不重复;保证   A      B   的长度不超过  10  

 

最后⼀⾏⼀个字符串 S,表⽰需要翻译A语⾔⽂章。保证字符串  S    的长度不超过      1000     ,保证字符串 S     只包含⼩写 字母以及标点符!()-[]{}\|;:'",./?<>


输出描述 

输出⼀⾏,表⽰翻译后的结果。

特别提醒

在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任 何提⽰信息。

样例输入1

2
abc a 
d def
abc.d.d.abc.abcd.

样例输出1

a.def.def.a.UNK.
2.

试题名称:⽥忌赛马

你要和⽥忌赛马。你们各⾃有 N  匹马,并且要进⾏   N  轮⽐赛,每轮⽐赛,你们都要各派出⼀匹马决出胜负。

 

你的马匹的速度分别为   u1,u2....un  ,⽥忌的马匹的速度分别为  v1,v2....vn。⽥忌会按顺序派出他的马匹,请问 你要如何排兵布阵,才能赢得最多轮次的⽐赛?巧合的是,你和⽥忌的所有马匹的速度两两不同,因此不可能出现 平局。

 

输入描述

第⼀⾏⼀个整数      。保证    

接下来⼀⾏    N   个⽤空格隔开的整数,依次为u1,u2....un,表⽰你的马匹们的速度。保证      

接下来⼀⾏    N   个⽤空格隔开的整数,依次为v1,v2....vn,表⽰⽥忌的马匹们的速度。保证    

输出描述

 

输出⼀⾏,表⽰你最多能获胜⼏轮。

特别提醒

 在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任 何提⽰信息。

样例输1

 

3
1 3 5 
2 4 6

样例输1

2

样例解1

 


1 轮,⽥忌派出速度为 2 的马匹,你可以派出速度为3  的马匹迎战,本轮你获胜。

 

2 轮,⽥忌派出速度为 4 的马匹,你可以派出速度为5 的马匹迎战,本轮你获胜。

 

3 轮,⽥忌派出速度为6 的马匹,你可以派出速度为1 的马匹迎战,本轮⽥忌获胜。 

如此,你可以赢2 轮⽐赛。

 

样例输2

5
10 3 5 8 7
4 6 1 2 9

样例输2

5
C++ 编辑器
输入
输出