赞
踩
第 1 题 C++表达式(3 - 2) * 3 + 5的值是( )。
- A. -13
- B. 8
- C. 2
- D. 0
正确答案:B. 8
解析:
第 2 题 C++语句
cout << "5%2=" << 5 % 2
执行后的输出是( )。
- A. 2 2
- B. 1 1
- C. 5%2=2
- D. 5%2=1
正确答案:D. 5%2=1
解析:
5 % 2
,即5除以2的余数,结果为1。第 3 题 执行C++语句
cin >> a
时如果输入5+2,下述说法正确的是( )。
- A. 变量a将被赋值为整数7
- B. 变量a将被赋值为字符串,字符串内容为5+2
- C. 语句执行将报错,不能输入表达式
- D. 依赖于变量a的类型。如果没有定义,会有编译错误
正确答案:D. 依赖于变量a的类型。如果没有定义,会有编译错误
解析:
cin >> a
不会对输入的 “5+2” 进行表达式计算,而是尝试将其作为整体读入,这在期望一个整数时将失败。a
是字符串类型,输入的 “5+2” 将被当作普通文本,但这并不符合题干的描述要求。a
的类型和输入处理。a
的类型,并且如果 a
没有被定义,则确实会产生编译错误。如果 a
定义为整型,cin
将尝试解析输入,但 “5+2” 并非有效的整数,导致读取失败。第 4 题 下面C++代码执行后的输出是( )。
int a = 1; cout << "a+1= " << a+1 << endl;
- 1
- 2
- A. a+1= 2
- B. a+1=2
- C. 2=2
- D. 2= 2
正确答案:A. a+1= 2
解析:
cout
语句输出字符串 "a+1= " 后紧跟变量 a
加 1 的结果。a+1
的计算结果之间存在一个空格,输出将显示为 “a+1= 2”。endl
用于在输出后添加一个新行,不影响 a+1
和其结果之间的空格。第 5 题 下面C++代码执行后的输出是( )。
int a = 1; printf("a+1=%d\n", a+1);
- 1
- 2
- A. a+1= 2
- B. a+1=2
- C. 2=2
- D. 2= 2
正确答案:B. a+1=2
解析:
printf
函数来格式化输出。"a+1=%d\n"
,其中 %d
用于插入整数。a+1
计算结果为2。第 6 题 下面C++代码执行时输入21后,有关描述正确的是( )。
int N; cin >> N; if(N % 3 == 0) cout << "能被3整除"; else if (N % 7 == 0) cout << "能被7整除"; else cout << "不能被3和7整除"; cout << endl;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- A. 代码第4行被执行
- B. 第4和第7行代码都被执行
- C. 仅有代码第7行被执行
- D. 第8行代码将被执行,因为input()输入为字符串
正确答案:A. 代码第4行被执行
解析:
cin
直接读取数值,而不是字符串,所以D选项的描述错误。cout << "能被3整除";
,并输出"能被3整除"。if
条件已经满足,else if
和 else
部分都将被跳过。cout << endl;
是条件块外的语句,所以它将在任何情况下都会执行,用于在输出后添加一个新行。第 7 题 下面C++代码第2行,总共被执行次数是( )。
for(int i=-10; i<10; i++) cout << i << " ";
- 1
- 2
- A. 10
- B. 19
- C. 20
- D. 21
正确答案:C. 20
解析:
i = -10
开始,继续执行直到 i < 10
成立时停止。在 i
达到10之前,循环将结束。cout << i << " ";
将被执行20次。第 8 题 下面C++代码执行后的输出是( )。
int tnt = 0; for(int i=0; i<10; i++) if(i % 3 && i % 7) tnt += i; cout << tnt << endl;
- 1
- 2
- 3
- 4
- 5
- A. 0
- B. 7
- C. 18
- D. 20
正确答案:D. 20
解析:
for
循环遍历从0到9的整数。if
条件 i % 3 && i % 7
检查 i
是否既不是3的倍数也不是7的倍数。这意味着只有当 i
同时不被3和7整除时,条件才为真。第 9 题 下面C++代码执行后的输出是( )。
int N = 10; while(N){ N -= 1; if(N % 3 == 0) cout << N << "#"; }
- 1
- 2
- 3
- 4
- 5
- 6
- A. 9#6#3#
- B. 9#6#3#0#
- C. 8#7#5#4#2#1#
- D. 10#8#7#5#4#2#1#
正确答案:B. 9#6#3#0#
解析:
N = 10
,然后进入 while
循环,条件是 N
不为0。N
被减1,然后检查 N % 3
是否等于0。N
递减并检查:9, 8, 7, 6, 5, 4, 3, 2, 1, 0。N
为9, 6, 3, 0时,满足条件 N % 3 == 0
,因此它们被输出并跟随一个 #
。9#6#3#0#
。第 10 题 下面C++代码用于判断键盘输入的整数是否为质数。质数是只能被1和它本身整除的数。在横线处应填入代码是( )。
int N; cin >> N; int cnt = 0; // 记录N被整除的次数 for(int i=1; i<N+1; i++) if(________________) cnt +=1; if(cnt == 2) cout << N << "是质数"; else cout << N << "不是质数";
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- A. N % i
- B. N % i == 0
- C. N / i == 0
- D. N / i
正确答案:B. N % i == 0
解析:
N % i == 0
正确地检查变量 N
能否被 i
整除。如果结果为0,表示 N
可以被 i
整除,这是检测质数的正确方法。N
被任何数(除了1和它自己)整除,则它不是质数。N
只被1和自身整除(即 cnt
等于2)来判断 N
是否为质数。第 11 题 下面关于整型变量
int x
的赋值语句不正确是( )。
- A. x=(3.16);
- B. x=3.16;
- C. x=int(3.16);
- D. x=3.16 int;
正确答案:D. x=3.16 int
解析:
第 12 题 C++语言中下面可以完成数据输入的语句是( )。
- A. printf语句
- B. scanf语句
- C. default语句
- D. cout语句
正确答案:B. scanf语句
解析:
switch
语句中,不涉及输入或输出。因此,唯一用于输入的语句是scanf
。
第 13 题 在Dev C++中对一个写好的C++源文件要生成一个可执行程序需要执行下面哪个处理步骤?( )
- A. 创建
- B. 编辑
- C. 编译
- D. 调试
正确答案:C. 编译
解析:
因此,要从Dev C++中的C++源文件生成可执行程序,必须执行编译过程。
第 14 题 小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是?( )
- A. 小程序
- B. 计时器
- C. 操作系统
- D. 神话人物
正确答案:C. 操作系统
解析:
因此,鸿蒙在这里指的是一种操作系统。
第 15 题 中国计算机学会(CCF)在2024年1月27日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。
- A. 制造自动驾驶汽车
- B. 创立培训学校
- C. 发明汉字激光照排系统
- D. 成立方正公司
正确答案:C. 发明汉字激光照排系统
解析:
因此,他的重大贡献是发明了汉字激光照排系统。
已更新模板。根据新模板,这里是重生成的选择题及其解析:
第 1 题 在C++代码中变量n被赋值为27,则
cout << n%10
执行后输出的是7。( √ )
解析:
%
运算符是取余运算符,n % 10
将计算 27
除以 10
的余数,结果为 7
。第 2 题 C++语句
printf("%d#%d&",2,3)
执行后输出的是2#3&。 ( √ )
解析:
printf
是一个格式化输出函数。此处使用 %d
占位符按顺序输出整数 2
和 3
,并在它们之间加入特殊字符 #
和 &
。第 3 题 C++函数
scanf()
必须含有参数,且其参数为字符串型字面量,其功能是提示输入。( × )
解析:
scanf()
的参数是字符串型字面量,但其功能是读取输入,而不仅仅是提示输入。第 4 题 C++表达式
"10"*2
执行时将报错,因为"10"
是字符串类型而2是整数类型,它们数据类型不同,不能在一起运算。( √ )
解析:
第 5 题 在C++中,while可能是死循环,而for循环不可能是死循环。( × )
解析:
for
循环完全可以编写成死循环,例如使用 for(;;)
。第 6 题 在C++,break语句用于提前终止当前层次循环,适用于while循环,但不适用于for循环。( × )
解析:
break
语句可以用在任何类型的循环中,包括 for
和 while
循环,用于立即退出循环。第 7 题 C++语言中3.0和3的值相等,所以它们占用的存储空间也相同。( × )
解析:
第 8 题 在C++的程序中,cin是一个合法的变量名。( √ )
解析:
cin
是在C++标准库中预定义的标准输入流对象,但它并不是C++的保留关键字。因此,从语法上讲,使用 cin
作为变量名是允许的。cin
或其他标准库名称作为变量名通常不被推荐,因为这会导致代码可读性和维护性的问题,可能引起混淆。第 9 题 小杨今年春节回奶奶家了,奶奶家的数字电视可以通过遥控器输入电视剧名称来找到想播放的电视剧,所以可以推知里面有交互式程序在运行。( √ )
解析:
第 10 题 任何一个for循环都可以转化为等价的while循环( √ )
解析:
for
循环可以通过重写条件和迭代部分来改写为 while
循环,保持逻辑一致性。小杨同学积攒了一部分零用钱想要用来购买书籍,已知一本书的单价是13元,请根据小杨零用钱的金额,编写程序计算最多可以购买多少本书,还剩多少零用钱。
输入一个正整数 ( m ),表示小杨拥有的零用钱数。
输出包含两行,第一行为购买图书的本数,第二行为剩余的零用钱数。
输入
100
输出
7
9
输入
199
输出
15
4
参考程序:
#include <iostream>
using namespace std;
int main() {
int m;
cin >> m; // 读取小杨拥有的零用钱
cout << m / 13 << endl; // 计算并输出最多可以购买的书籍数量,每本书13元
cout << m % 13 << endl; // 输出剩余的零用钱
return 0;
}
解释:
这个问题非常直接,要求计算能购买的最大书本数和剩余的零用钱。因为书的价格固定为13元,所以通过整除操作 m / 13
可以得到最大书本数,通过取余操作 m % 13
可以得到购买书后的剩余零用钱。
该程序使用C++的标准输入输出库 iostream
来处理输入和输出。整除和取余是通过 /
和 %
操作符完成的,分别计算书本数量和剩余金钱。
这个题目适用于理解基本的算术运算和输入输出操作在C++中的应用。
小A最近刚刚学习了因数的概念,具体来说,如果一个正整数 (a) 可以被另一个正整数 (b) 整除,那么我们就说 (b) 是 (a) 的因数。请你帮忙写一个程序,从小到大输出正整数 (a) 的所有因数。
输入一行一个正整数 (a)。保证 (a ≥ 1000)。
输出若干行,为 (a) 的所有约数,从小到大排列。
输入
1
输出
1
输入
6
输出
1
2
3
6
输入
10
输出
1
2
5
10
参考程序:
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a; // 读取输入的正整数
for (int i = 1; i <= a; ++i) { // 从1到a遍历所有可能的因数
if (a % i == 0) { // 检查i是否是a的因数
cout << i << endl; // 输出因数
}
}
return 0;
}
解释:
这个程序的核心在于遍历从1到 (a) 的所有整数,并检查它们是否是 (a) 的因数。如果是因数,就将其输出。使用 %
运算符可以判断 (a) 是否可以被 (i) 整除。整个程序保证了所有的因数按照从小到大的顺序输出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。