欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

2023年9月GESP C++ 一级真题

时间:2024-06-01 14:27 作者:lizq 点击:
2023年9月GESP C++ 一级真题 一、单选题(每题 2 分,共 30 分) 1. 我们通常说的“内存”属于计算机中的( )。 A. 输出设备 B. 输⼊设备 C. 存储设备 D. 打印设备 2. 以下 C++不可以作为变量

2023年9月GESP C++ 一级真题

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

1. 我们通常说的“内存”属于计算机中的( )。

A. 输出设备

B. 输⼊设备

C. 存储设备

D. 打印设备

2. 以下 C++不可以作为变量的名称的是( )。

A. redStar

B. RedStar

C. red_star

D. red star

3. C++表达式 2 - 1 && 2 % 10 的值是( )。

A. 0

B. 1

C. 2

D. 3

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

int a = 3, b = 4;
cout<< "a+b=" << a+b;

A. 3+4= 7

B. 3+4=7

C. a+b=7

D. a+b=a+b

5. 在 C++语⾔中, int 类型的变量 x 、 y 、 z 的值分别为2 、4 、6,以下表达式的值为真的是( )。

A. x > y || x > z

B. x != z - y

C. z > y + x

D. x < y || !x < z

6. 对 int 类型的变量 a 、 b 、 c ,下列语句不符合C++语法是()。

A. c += 5;

B. b = c % 2.5;

C. a = (b = 3, c = 4, b + c);

D. a -= a = (b = 6) / (c = 2);

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

int m = 14;
int n = 12;
if(m%2 == 0 && n%2 == 0)
 cout<< "都是偶数";
else if(m%2 == 1 && n%2 == 1)
 cout<< "都是奇数";
else
 cout<< "不都是偶数或奇数";

A. 都是偶数

B. 都是奇数

C. 不都是偶数或奇数

D. 以上说法都不正确

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

int m = 14;
int n = 12;
if( m%2 && n%2 )
 cout<< "都是偶数";
else if(m%2 == 1 && n%2 == 1)
 cout<< "都是奇数";
else
 cout<< "不都是偶数或奇数";

A. 都是偶数

B. 都是奇数

C. 不都是偶数或奇数

D. 以上说法都不正确

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

int m = 7;
if( m/5 || m/3)
 cout<< 0;
else if (m/3)
 cout<< 1; 
else if (m/5)
 cout<< 2; 
else
 cout<< 3; 

A. 0

B. 1

C. 2

D. 3

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

int cnt = 0;
for(int i = 1; i <= 5; i++)
    cnt = cnt + 1;
cout<< cnt;

A. 1

B. 4

C. 5

D. 10

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

int tnt = 0;
for(int i = 1; i < 5; i+=2)
    tnt = tnt + i;
cout<< tnt;

A. 2

B. 4

C. 9

D. 10

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

int n = 5;
int cnt = 1;
while(n >= 0){
 cnt += 1;
 n -= 2;
}
cout<< cnt;

A. 3

B. 4

C. 6

D. 7

13. 下⾯C++代码⽤于求正整数的所有因数,即输出所有能整除⼀个正整数的数。如,输⼊10,则输出为 1、2、5、10;输⼊12,则输出为1、2、3、4、6、12;输⼊17,则输出为 1、17。在横线处应填⼊代码是( )。

int n = 0;
cout << "请输入一个正整数: ";
cin >> n;

for(_______________________)//此处填写代码
 if( n % i == 0)
 cout << i << endl;

A. int i = 1; i < n; i + 1

B. int i = 1; i < n + 1; i + 1

C. int i = 1; i < n; i++

D. int i = 1; i < n + 1; i++

14. 在下列代码的横线处填写( ),可以使得输出是正整数1234 各位数字的平⽅和。

int n = 1234, s = 0;
for(; n; n /= 10)
 s += ______;//此处填写代码
cout << s << endl;

A. n / 10

B. (n / 10) * (n / 10)

C. n % 10

D.(n % 10) * (n % 10)

15. 执⾏以下 C++语⾔程序后,输出结果是( )。

int n = 5, s = 1;
for (; n = 0; n--)
 s *= n;
cout << s << endl;

A. 1

B. 0

C. 120

D.⽆法确定


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

1. 早期计算机内存不够⼤,可以将字库固化在⼀个包含只读存储器的扩展卡中插⼊计算机主板帮助处理汉字。( )

2. 神威·太湖之光超级计算机是中国⾃主研制的超级计算机,在全球超级计算机TOP500 排⾏榜中多次荣膺榜⾸。( )

3. C++表达式 int(3.14) 的值为 3 。( )

4. C++语句 cout<<(2,3,"23") 的输出为 2,3,23 。( )

5. C++的循环语句 for(int i = 0; i <10; i += 2) 表⽰i 从0 开始到10 结束但不包含 10,间隔为 2。( )

6. C++表达式 ('1' + '1') 的值为 '2' 。( )

7.在 C++语⾔中, do-while 循环不可能导致死循环,但while 有可能。( )

8. 在下⾯的 C++代码中,由于循环中的 continue 是⽆条件被执⾏,因此将导致死循环。

for(int i=1;i<10;i++) continue;

9. 在 C++代码中,不可以将变量命名为 cout ,因为 cout 是C++的关键字。( )

10. C++是⼀种⾼级程序设计语⾔。( )


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

1、买⽂具

问题描述

开学了,⼩明来到⽂具店选购⽂具。签字笔 2 元⼀⽀,他需要 X⽀;记事本 5 元⼀本,他需要 Y 本;直尺 3 元⼀把,他需要 Z 把。⼩明⼿⾥有 Q 元钱。你通过编程帮⼩明算算,他⼿⾥的钱是否够买他需要的⽂具。

输入描述

输⼊4⾏。

第⼀⾏包含⼀个正整数 X ,是⼩明购买签字笔的数量。约定 1≤X≤10 。

第⼆⾏包含⼀个正整数 Y ,是⼩明购买记事本的数量。约定 1≤Y≤10 。

第三⾏包含⼀个正整数 Z ,是⼩明购买直尺的数量。约定 1≤Z≤10 。

第四⾏包含⼀个正整数 Q ,是⼩明⼿⾥的钱数(单位:元)。

输出描述

输出 2⾏。如果⼩明⼿⾥的钱够买他需要的⽂具,则第⼀⾏输出"Yes",第⼆⾏输出⼩明会剩下的钱数(单位:元); 否则,第⼀⾏输出"No",第⼆⾏输出⼩明缺少的钱数(单位:元)。

样例输入 1

1
1
1
20

样例输出 1

Yes
10

样例输入 2

1
1
1
5

样例输出 2

No
5

2、⼩明的幸运数

问题描述

所有个位数为 k 的正整数,以及所有 k 的倍数,都被⼩明称为“k 幸运数”。⼩明想知道正整数 L 和 R 之间(包括 L 和 R) 所有 k 幸运数的和,你能帮帮他吗?

输入描述

输⼊3⾏。第⼀⾏包含⼀个正整数 k,第⼆⾏包含⼀个正整数 L,第三⾏包含⼀个正整数 R。约定 2≤k≤9,1≤L≤R≤1000。

输出描述

输出 1⾏,符合题意的幸运数之和。

样例输入 1

7
1
10

样例输出 1

7

样例解释 1

1 和 10 之间共有 1 个 7 幸运数:7。因为 7 既是 7 的倍数,个位数⼜为 7。因此,结果为 7。

样例输入 2

7
10
20

样例输出 2

31

样例解释 2

10 和 20 之间共有 2 个 7 幸运数:14 和 17。14 是 7 的倍数,17 的个位数为 7。因此,结果为 31。

(责任编辑:lizq)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%