for循环中执行顺序_顺序结构选择结构循环结构
2023-06-13 09:13:03 时间
今天刷题碰到的一个坑,就是没有注意到for循环的每次判断条件导致的**,也就是for循环的第二句**,每次循环都会执行该判断条件。
for循环的表达式一般如下:
for(表达式1;表达式2;表达式3){
表达式4;
}
执行的顺序为:
- 第一次循环 首先执行表达式1(一般为初始化语句,只执行一次),再执行表达式2(条件判断语句),判断表达式1是否符合表达式2的条件,如果符合,则执行表达式4,否则,停止执行,最后执行表达式3.
- 之后的循环: 首先执行表达式2,如果符合,继续执行表达式4,否则停止执行,最后执行表达式
- 如此往复,直到不再满足表达式2的条件。
注意点是当我们修改了for循环中表达式2,条件判断语句时,这时你就要注意的你的for循环很可能就会出错。
案例
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue<int> q;
q.push(10);
q.push(20);
q.push(30);
q.push(40);
//这个循环只会打印出两个数,因为每次队列弹出值都会改变q的大小
for (int i = 0; i < q.size(); i++) {
cout << q.front() << ",";
q.pop(); //弹出队头
} // 10,20
//所以为避免每次q的大小改变,可以设定一个临时变量int temp = q.size(); 把temp放到循环中。防止非预期结果。
cout << endl;
//这个循环会执行四次,因为表达式2没有改变,表达式1仅进行初始化。
for (int i = q.size() - 1; i >= 0; --i) {
cout << q.front() << ",";
q.pop(); //弹出队头
} // 10,20,30,40,
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/222956.html原文链接:https://javaforall.cn
相关文章
- 对于Java循环中的For和For-each,哪个更快
- matlab条件跳出语句,if语句跳出循环
- 流程控制-循环控制
- pytest skipif_pytest如何循环执行用例
- 批处理远程执行bat_bat循环执行命令
- JavaScript循环
- SQL Server循环技术:最高效率的强大方案(sqlserver循环)
- 循环Linux中使用For循环的正确方式(linux里的for)
- JS while和do whlie循环语句
- 使用For循环掌控Oracle数据库(for循环oracle)
- 循环使用Oracle数组实现For循环(oracle数组for)
- 的使用使用Oracle中的For循环加深理解(oracle中for循环)
- 编程大师:Linux循环脚本编写技巧(linux脚本循环)
- MySQL循环语句详解:让你轻松掌握循环结构的使用方法。(mysql怎么写循环)
- Linux 循环执行指南,让你的代码更高效(linux循环执行)
- MySQL中使用FOR循环快速编写函数(mysql函数for)
- 执行Oracle Job实现自动化循环任务(oracle job循环)
- jquery中常用的SET和GET$(”#msg”).html循环介绍
- Java用for循环Map详细解析
- android教程viewpager自动循环和手动循环
- For循环中分号隔开的3部分的执行顺序探讨
- golang语言中for循环语句用法实例
- jQuery及JS实现循环中暂停的方法