一、单选题(每题 2 分,共 30 分)
1. 我们通常说的“内存”属于计算机中的( )。
答案:C
解析:略
答案:D
解析:变量名命名规则:由字母、数字和下划线组成,首字符不能是数字
答案:B
解析:
C++中的逻辑运算符 &&
表示逻辑与,它要求两侧的表达式都为真(非零)时,整个表达式的值才为真。而 %
表示取模运算,计算两数相除的余数。
首先,计算 2 - 1
得到 1
,然后计算 2 % 10
得到 2
。接下来,将这两个值用逻辑与 &&
连接,因为两个表达式都不为零,所以整个表达式的值为真。
因此,C++表达式 2 - 1 && 2 % 10
的值是 真。
答案:C
解析:略
答案:D
解析:
A. x > y || x > z
:
- x > y 为 false(2 > 4 是假)
- x > z 为 false(2 > 6 是假) 因此,整个表达式为 false。
B. x != z - y
:
- z - y = 6 - 4 = 2
- x != 2 为 true(2 不等于 2) 因此,整个表达式为假。
C. z > y + x
:
- y + x = 4 + 2 = 6
- z > 6 为假(6 不大于 6) 因此,整个表达式为 false。
D. x < y || !x < z
:
- x < y 为 true(2 < 4 是真)
- !x < z 为 true(非(2 < 6)是真) 因此,整个表达式为真。
答案:B
解析:选项B:变量 a 、 b 、 c 都是int 类型,2.5是浮点数;选项C:逗号运算符,只返回最后一个表达式的值a=7;
答案:A
解析:略
答案:C
解析:因为“m%2”是0,“n%2”也是0,所以if条件是假;“m%2==1”为假,“n%2==1”为假,所以else if条件也是假;因此,输出“不都是偶数或奇数"
答案:A
解析:因为m等于7,所以m/5等于1,m/3等于2,因此if语句的条件为真,所以输出1.
答案:C
解析:for循环5次,cnt初始赋值为0,因此cnt加了5次”1“,所以cnt是5。
答案:B
解析:i初始赋值为1,每次i增加2,循环条件是i<5,所以for循环2次,tnt初始赋值为0,i初始赋值为1,每次i增加2,所以tnt=0+1+3=4.
答案:B
解析:n初始赋值为5,每次n减少2,循环条件是n>=0,所以while循环3次,cnt初始赋值为1,tnt=1+(1+1+1)=4.
答案:D
解析:略
答案:D
解析:根据题目“使得输出是正整数 1234 各位数字的平方和”,所以(n % 10) * (n % 10)
答案:A
解析:因为n=0,不进入循环,s最初被赋值为1
二、判断题(每题 2 分,共 20分)
do-while
循环首先执行循环体,然后检查条件是否满足。这意味着即使条件一开始不满足,循环体至少会执行一次。如果条件永远不满足,do-while
循环就会导致死循环。
以下是一个可能导致死循环的 do-while
循环的示例:
do {
// 循环体
} while (false); // 条件永远为假,导致死循环
同样,while
循环也可以导致死循环,如果条件永远为真,循环将永不结束。
while (true) {
// 循环体
} // 无限循环
在这个代码示例中,循环将从 i = 1
开始,然后在每次迭代时 continue
将会执行。由于 continue
是无条件的,它会导致当前迭代立刻结束,然后进行下一次迭代。因此,这个循循环实际上会在循环的条件 i < 10
满足时进行9次迭代(i 从 1 到 9),然后在 i
变成 10 时循环终止。
所以,这个代码不会导致死循环,它会正常执行,并在 i
到达 10 时退出循循环。
cout
,尽管cout
是C++的标准输出流对象,通常用于将文本输出到屏幕。C++允许你在代码中使用cout
这个名称作为变量名,但这通常不是一个好的编程实践,因为它可能导致混淆。
三、编程题(每题 25 分,共 50分)
#include <iostream> // 包括输入输出流库
using namespace std; // 使用标准命名空间
int main() {
int x = 0, y = 0, z = 0, q = 0; // 声明四个整数变量并初始化为 0
cin >> x >> y >> z >> q; // 从标准输入流中获取用户输入的四个整数值
int t = x * 2 + y * 5 + z * 3; // 计算 t 的值,需要买东西的钱
if (q >= t) { // 如果 q 大于等于 t
cout << "Yes" << endl; // 输出 "Yes"
cout << q - t << endl; // 输出 q 和 t 之间的差值,剩余的钱
} else {
cout << "No" << endl; // 否则输出 "No"
cout << t - q << endl; // 输出 t 和 q 之间的差值,还缺多少钱
}
return 0; // 返回 0,表示程序成功结束
}
#include <iostream> // 包括输入输出流库
using namespace std; // 使用标准命名空间
int main() {
int k = 0, L = 0, R = 0, sum = 0; // 声明四个整数变量并初始化为 0
cin >> k >> L >> R; // 从标准输入流中获取用户输入的三个整数值
for (int n = L; n <= R; n++) { // 循环 n 从 L 到 R
if (n % 10 == k || n % k == 0) { // 如果 n 的个位数字等于 k 或 n 能被 k 整除
sum += n; // 将 n 添加到 sum 中
}
}
cout << sum << endl; // 输出 sum 的值
return 0; // 返回 0,表示程序成功结束
}