没有合适的资源?快使用搜索试试~ 我知道了~
首页C++编程学习题库及答案解析
C++编程学习题库及答案解析
![](https://csdnimg.cn/release/wenkucmsfe/public/img/star.98a08eaa.png)
"这是一个涵盖C++基础知识的题库,适合初学者进行学习和自我测试,包含填空题、选择题等多种题型,并提供了相应的答案。题库内容覆盖了C++语言的基础概念,如程序设计方法、程序设计语言的发展、结构化程序设计、面向对象程序设计的特性、语言的语法和语义定义、字符编码以及C++程序的构成和执行流程。" 在C++的学习中,首先接触的是程序设计方法,通常分为自顶向下和自底向上的两种策略。自顶向下方法是从整体到部分,将复杂问题分解为简单问题求解,而自底向上则是通过解决已知的小问题组合解决大问题。这两种方法在实际编程中常常结合使用。 C++语言的发展历史也是学习的一部分,例如,FORTRAN常用于科学计算,COBOL适用于商业事务处理,PASCAL和BASIC是早期的编程语言,C++则是一种通用的算法语言,更注重面向对象的特性。面向对象编程(OOP)是C++的核心,它强调以数据为中心的设计,通过类作为程序的基本构造单元,实现封装、数据抽象、继承和多态性等特性。 程序设计语言的定义包括语法和语义两个方面,语法规定了有效的程序结构,而语义则解释程序的意义。定义语法的方法如巴科斯范式(BNF)和语法图。在C++中,我们使用的ASCII编码是最基础的字符集,而EBCDIC编码是IBM系统中常用的一种。 C++程序的构成包括若干函数和一个主函数,编写的源代码需要经过预处理、编译、链接等步骤才能形成可执行文件并最终运行。这个题库提供了一套完整的C++学习路径,从基础概念到具体实践,对于初学者来说是很好的学习资源。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/3613634/bg10.jpg)
际上不会循环执行。
14 p = 100; f = 5;
do {
p = p - 3;
f = f + p * p
} while (p != 0)
cout << f;
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ while(p!=0)后面少了一个分号,另外循环体中右花括号前的语句 f=f+p*p 也
少了一个分号。由于 p 初始化为 100,而每次循环都减 3,所以它是不可能等于 0 的,因此
循环终止条件永远也不会得到满足。
15 sum = 1;
count = 10;
for (int i = 1; i <= count; i++) {
sum = sum + sum * i;
count = sum + count * i;
}
count << "Sum: " << sum << ", Count: " << count;
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ 在循环体中对 count 的改变使得循环终止条件 i <= count 不可能得到满足,
从而造成了死循环。
16 total_score = 0;
count = 0;
cin >> score;
while (score > 0) {
total_score = total_socre + score;
count = count + 1;
};
cout << "Total score: " << total_score << "Average score: ";
cout << (double(total_socre) / count);
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ 应该在 count = count + 1;后面加上语句 cin >> score; 以录入新的 score
值。
17-22 整数类型变量 x 和 y 分别被初始化为 3 和 100,下列语句的循环共执行几次?执行完
16
![](https://csdnimg.cn/release/download_crawler_static/3613634/bg11.jpg)
下列语句后的 x 和 y 的值分别是多少?
17 while (x <= y) x = 2 * x;
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ 循环的总次数为 6,而循环结束后x为 3 * 2
6
=192,y的值在循环体中没有改变,
仍然为 100。
18 do x = 2 * x; while (x < y);
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ 循环执行次数为 6 次,而循环执行完毕后 x=192,y=100。
19 while (y / x > 5) if (y - x > 25) x = x + 1; else y = y / x;
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ 循环总次数应该为 14,x = 14,y = 100。
20 do { x = y / x; y = y - x; } while (x >= y);
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ 共执行 1 次循环,循环执行完毕后 x = 33, y = 67。
21 do { y = y / x - 1; if (y >= x) y = x; } while (y >= 1);
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
参考答案∶ 循环执行 2 次,执行完毕后 x=3, y = 0。
22 为下列程序片段填空,使程序片段(1)与(2)的结果相同。
(1) if
min = a;
else if
min = b;
else min = c;
(2) min = a;
if
min = b;
if
min = c;
难易程度∶ B∶中等难度
认知程度∶ Ⅱ∶理解
预计答题时间∶ 5 分钟
17
![](https://csdnimg.cn/release/download_crawler_static/3613634/bg12.jpg)
参考答案∶
(1) if
(a < b && a < c) min = a;
else if
(b < a && b < c) min = b;
else min = c;
(2) min = a;
if
(min > b) min = b;
if (min > c) min = c;
程序输出结果题
23 下面程序根据录入的年、月、日求该天是星期几,其中的公式来自蔡勒(Zeller)。假如
程序输入的三个数分别为 1971、2、26,即其中的 year, month, day 分别是 1971、2 和 26,
试给出程序的输出结果。
#include <iostream.h>
int main()
{
int year, month, day, centry;
int temp_year, temp_month;
int week_day;
cout << "\nPlease input the year, month and day: ";
cin >> year >> month >> day;
temp_year = year; temp_month = month;
if (month == 1 || month == 2) {
temp_year = temp_year - 1;
temp_month = temp_month + 12;
}
centry = temp_year / 100; temp_year = temp_year % 100;
if (centry == 0) centry = 19; // The default centry is 19
week_day = centry / 4 - 2 * centry;
week_day = week_day + temp_year + temp_year / 4;
week_day = week_day + 26 * (temp_month + 1) / 10 + day - 1;
week_day = week_day % 7;
cout << "The week day is " << week_day << " of ";
cout << year << "/" << month << "/" << day << "\n";
getch();
return 1;
}
难易程度∶ A∶较易
18
![](https://csdnimg.cn/release/download_crawler_static/3613634/bg13.jpg)
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 4 分钟
参考答案∶
Please input the year, month and day: 1971 2 26
The week day is 5 of 1971/2/26
24 给出下面程序的输出结果∶
#include <iostream.h>
int main()
{
int last_fib, curr_fib, next_fib;
int index;
const int max_number = 5;
last_fib = 0; curr_fib = 1;
cout << "\nFibonacci(0): " << last_fib;
for (index = 0; index < max_number; index = index + 1) {
cout << "\nFibonacci(" << (index + 1) << "): " << curr_fib;
next_fib = curr_fib + last_fib;
last_fib = curr_fib;
curr_fib = next_fib;
}
return 0;
}
难易程度∶ A∶较易
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 4 分钟
参考答案∶
Fibonacci(0): 0
Fibonacci(1): 1
Fibonacci(2): 1
Fibonacci(3): 2
Fibonacci(4): 3
Fibonacci(5): 5
25 指出下面程序的输出结果∶
#include <iostream.h>
int main()
{
unsigned long factor;
unsigned int number;
const unsigned int max_number = 6;
factor = 1;
19
![](https://csdnimg.cn/release/download_crawler_static/3613634/bg14.jpg)
for (number = 2; number <= max_number; number = number + 1) {
factor = factor * number;
if (number % 2 == 0) cout << "\n" << number << "!" << " = " << factor;
}
return 1;
}
难易程度∶ B∶中等难度
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 5 分钟
参考答案∶
2! = 2
4! = 24
6! = 720
26 给出下面程序的输出结果
#include <iomanip.h>
int main()
{
const int start_num = 1, end_num = 5;
const int width = 2;
int start_pos, row_num, col_num;
int index;
cout << "\n";
start_pos = (end_num - start_num) * width;
for (col_num = start_num; col_num <= end_num; col_num = col_num + 1) {
for (index = 0; index < start_pos; index = index + 1) cout << ' ';
for (row_num = start_num; row_num < col_num; row_num = row_num + 1) {
cout << setw(width) << row_num;
}
for (row_num = col_num; row_num >= start_num; row_num = row_num - 1) {
cout << setw(width) << row_num;
}
start_pos = start_pos - width;
cout << "\n";
}
return 1;
}
难易程度∶ C∶难度较大
认知程度∶ Ⅲ∶简单应用
预计答题时间∶ 10 分钟
参考答案∶
1
20
剩余137页未读,继续阅读
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/4d155b52d9814106b4ad9a941f7a62b9_tangdexi112.jpg!1)
十色樱草
- 粉丝: 136
- 资源: 10
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)