2023年09月真题
一、单选题(每题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正整数,是⼩明购买签字笔的数量。
第⼆⾏包含⼀个Y正整数,是⼩明购买记事本的数量。
第三⾏包含⼀个Z正整数,是⼩明购买直尺的数量。
第四⾏包含⼀个Q正整数,是⼩明⼿⾥的钱数(单位:元)。
输出格式
输出2⾏。如果⼩明⼿⾥的钱够买他需要的⽂具,则第⼀⾏输出"Yes",第⼆⾏输出⼩明会剩下的钱数(单位:元);否则,第⼀⾏输出"No",第⼆⾏输出⼩明缺少的钱数(单位:元)。
样例
输入
1
1
1
20
输出
Yes
10
输入
1
1
1
5
输出
No
5
2. ⼩明的幸运数
题目描述
所有个位数为k的正整数,以及所有k的倍数,都被⼩明称为“幸运数”。⼩明想知道正整数L和R之间(包括L和R)所有k幸运数的和,你能帮帮他吗?
输入格式
输⼊3⾏。第⼀⾏包含⼀个正整数k,第⼆⾏包含⼀个正整数L,第三⾏包含⼀个正整数R。约定2 ≤ k ≤ 9,1 ≤ L ≤ R ≤ 1000。
输出格式
输出1⾏,符合题意的幸运数之和。
样例
输入
7
1
10
输出
7
输入
7
10
20
输出
31