
【C++ Primer 第五版】 控制流
练习9:计算50到100的整数的和 完成以下代码,输出正确的结果:
发布日期:2021-05-15 09:06:55
浏览次数:20
分类:精选文章
本文共 2606 字,大约阅读时间需要 8 分钟。
1 while 语句
while语句用于在满足特定条件时反复执行一段代码,直到条件为假为止。它采用结构简单但功能强大的方式,适合处理不确定次数的循环任务。结构形式
while语句的结构如下:while (condition) { statement }
- 条件判断(condition):决定是否进入循环,若为真则执行循环体。
- 循环体(statement):每次循环执行的代码,可是多条语句组成的语句块。
典型应用示例
我们用一个简单的程序来计算1到10的数之和,从而理解while循环的实际应用:#includeint main() { int sum = 0, val = 1; while (val <= 10) { sum += val; ++val; } std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl; return 0; }
执行结果为:
Sum of 1 to 10 inclusive is 55
这个程序通过初始化变量后,根据条件判断(val <= 10)进入循环体,逐步累加1到10的数值,直到退出循环。
实际应用场景
- 适用于需要处理不确定次数的迭代任务。
- 而for循环则更适合已知次数的循环,如循环遍历数组或打印固定次数的信息。
while循环练习题解析
#includeint main() { int sum = 0, val = 50; while (val <= 100) { sum += val; ++val; } std::cout << "Sum of numbers from 50 to 100 is " << sum << std::endl; return 0; }
解析:
该程序初始化sum为0,val为50,条件判断为val <= 100进入循环。每次循环体内,sum累加当前val的值,并将val递增1。循环执行直至val超过100,最后输出总和。计算结果应为3825。- 练习10:递减运算实现10到0的数字输出 完成以下代码,输出10到0的整数序列:
- 练习11:读取两个整数并输出所在范围内的所有整数 完成以下程序,读取两个整数v1和v2,输出v1到v2范围内的所有整数。
- for循环 for循环属于结构化编程中的控制结构,用于执行固定次的迭代操作。其结构包含三部分:
- 初始化语序:在循环头最左边指定初始化语句。
- 条件判断语序:紧接着即用于控制循环的条件。
- increment表达式:自增或其他操作,指定循环的结束条件。
- 适合已知循环次数的操作,像循环数组元素、输出固定次数信息。
- 容易读懂,代码结构清晰。
- 若想改变循环次数,需修改for循环头中的初始化语句和条件判断,导致代码不够灵活。
- 条件判断尽可能放在循环头,避免计算过大或不必要。
- 使用合理的增量或减量操作,防止无限循环。
- 及时进行代码性能测试,避免重复执行次数过多导致性能下降。
#includeint main() { int val = 10; while (val >= 0) { std::cout << val << std::endl; --val; } return 0; }
解析:
该代码通过初始化val为10,条件判断为val >= 0进入循环。每次执行循环体时,输出当前的val值,并将val递减1。循环执行直至val小于0结束,实现了从10递减到0输出的功能。#includeint main() { int v1, v2; std::cout << "Please Enter two integers" << std::endl; std::cin >> v1 >> v2; while (v1 <= v2) { std::cout << v1 << std::endl; ++v1; } return 0; }
解析:
程序通过从标准输入读取两个整数v1和v2,其中v1是起始值,v2是终止值。条件判断(v1 <= v2)用于控制循环,逐步输出从v1递增到v2的所有整数。如果v1大于v2,循环将不执行。示例:计算1到10的数之和:
#includeint main() { int sum = 0; for (int val = 1; val <= 10; ++val) { sum += val; } std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl; return 0; }
解析:
初始化sum为0,已知循环次数为10次。for循环主体由三个部分组成:变量val的初始化、条件判断以及变量递增。循环执行10次,sum最终累加至55。for循环的优势
缺点
循环次数不确定的选择
在代码设计中,当需要执行不确定次的循环任务时,应首选使用while循环。例如,读取用户输入直到结束的循环,for循环则不适合作为 Puppy的选择。条件判断与循环控制
在编写循环控制代码时,需注意以下几点:详细文档
[.comments]
... (Could move the comments section here if needed, but kept in the same structure.) [close comments]
以上就是对用户提供给的C++学习材料的部分转述和优化,保持了技术准确性并以更自然的方式呈现。
发表评论
最新留言
不错!
[***.144.177.141]2025年04月17日 19时48分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Flex 布局的自适应子项内容过长导致其被撑大问题
2019-03-09
PL/SQL 动态Sql拼接where条件
2019-03-09
Lua-table 一种更少访问的安全取值方式
2019-03-09
虚函数
2019-03-09
斐波那契数列两种算法的时间复杂度
2019-03-09
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09
C++清空队列(queue)方法
2019-03-09
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2019-03-09
【二叉树】已知后序与中序求先序
2019-03-09
解决Nginx 404 not found问题
2019-03-09
广东外语外贸大学第三届网络安全大赛Writeup
2019-03-09
VS中 fatal error LNK1123: 转换到 COFF 期间失败 的解决方法
2019-03-09
ant design pro v5去掉右边content区域的水印
2019-03-09
JavaScript——使用iterator遍历迭代map,set集合元素
2019-03-09
Course Schedule II
2019-03-10
C#中文转换成拼音
2019-03-10
C++错误笔记
2019-03-10
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10