日志9

while循环

1. 基本概念与语法

while循环是C++中的一种循环结构,它会在条件为真的情况下,反复执行循环体中的代码。语法如下:

while (条件表达式) {

// 循环体语句

}

其中,“条件表达式”是一个布尔表达式,它决定了循环是否继续执行。只要这个表达式的值为true,循环体中的语句就会被执行;当这个表达式的值变为false时,循环结束。

2. 执行流程

程序首先判断“条件表达式”的值。

如果值为true,则执行循环体中的语句。循环体执行完毕后,程序会再次判断“条件表达式”的值,若还是true,则继续执行循环体,如此反复。

一旦“条件表达式”的值为false,循环结束,程序继续执行while循环后面的语句。

3. 例子 计算1到100的整数之和:

#include <iostream>

using namespace std;

int main() {

int sum = 0;

int i = 1;

while (i <= 100) {

sum += i;

i++;

}

cout << "1到100的整数之和为:" << sum << endl;

return 0;

}

在这个例子中,首先初始化变量i为1,sum为0。然后,while循环的条件表达式i <= 100为true,所以进入循环体。在循环体中,将i的值累加到sum中,然后i的值增加1。当i的值超过100时,条件表达式变为false,循环结束,最后输出sum的值。

4. 注意事项

一定要确保循环条件在某个时候会变为false,否则会导致死循环。例如,如果在上述代码中忘记了i++这一步,i的值将永远是1,while循环的条件i <= 100将一直为true,程序就会陷入死循环。

循环体可能一次都不执行。如果while循环开始时条件表达式的值就是false,那么循环体中的语句不会被执行。例如,将上述代码中的i初始化为101,那么循环体就不会被执行。

5. 与for循环的比较

while循环和for循环在很多情况下可以相互转换。for循环更适用于已知循环次数的情况,它将循环的初始化、条件判断和变量更新都集中在循环头部,结构比较清晰。while循环则更侧重于表达“当某个条件为真时执行循环”这种逻辑,在循环次数不确定,而是依赖于某个条件的情况下使用起来更加自然。例如,在读取文件内容直到文件末尾的场景中,使用while循环就比较合适。

do-while循环

1. 基本概念

do - while循环是C++中的一种循环结构。与while循环不同的是,它先执行一次循环体中的语句,然后再判断循环条件是否成立。如果条件成立,就继续执行循环体;如果条件不成立,则结束循环。

2. 语法结构

do { // 循环体语句 } while (条件表达式);

注意,while后面的分号;是do - while循环语法的一部分,不能省略。

3. 示例代码(简单计数)

#include <iostream>

int main() {

int i = 1;

do {

std::cout << i << " ";

i++;

} while (i <= 5);

std::cout << std::endl;

return 0;

}

在这个示例中,首先会执行do后面的循环体,输出1,然后i自增为2。接着判断while中的条件i <= 5是否成立,因为2 <= 5成立,所以继续执行循环体,依次输出2、3、4、5。当i变为6时,6 <= 5不成立,循环结束。

4. 应用场景

用户输入验证:当需要确保用户至少输入一次数据,并根据输入内容决定是否继续循环时,do - while循环很有用。

例如,要求用户输入一个大于0的整数:

#include <iostream>

using namespace std;

int main() {

int num;

do {

cout << "请输入一个大于0的整数: ";

cin >> num;

} while (num <= 0);

cout << "你输入的整数是: " << num << endl;

return 0;

}

这样,即使用户第一次输入不符合要求(小于等于0),程序也会要求用户重新输入,直到输入满足条件为止。

在do while循环中使用break和continue语句的方法

break语句在do - while循环中的使用

功能:break语句用于立即终止do - while循环,无论循环条件是否为真,程序都会跳出循环,继续执行循环体后面的语句。

例子

#include <iostream>

int main() {

int i = 1;

do {

if (i == 3) {

break;

}

std::cout << i << " ";

i++;

} while (i <= 5);

std::cout << "循环结束" << std::endl;

return 0;

}

在这个例子中,do - while循环原本会在i <= 5的条件下执行。但是当i等于3时,遇到break语句,循环立即终止,输出结果为1 2,然后输出循环结束。

continue语句在do - while循环中的使用

功能:continue语句用于跳过当前循环体中continue语句之后的剩余语句,直接进入下一次循环的条件判断部分。

例子

#include <iostream>

int main() {

int i = 1;

do {

i++;

if (i == 3) {

continue;

}

std::cout << i << " ";

} while (i <= 5);

std::cout << "循环结束" << std::endl;

return 0;

}

在这个例子中,当i等于3时,执行continue语句,会跳过std::cout << i << " ";这一行,直接进入下一次循环的条件判断。所以输出结果为2 4 5,然后输出循环结束。

全部评论

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹&nbsp;是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹&nbsp;待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹&nbsp;能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥&nbsp;内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招
点赞 评论 收藏
分享
10-22 19:44
门头沟学院 Java
面了100年面试不知...:那我得去剪个头
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务