for循环中执行顺序_顺序结构选择结构循环结构

for循环中执行顺序_顺序结构选择结构循环结构今天刷题碰到的一个坑 就是没有注意到 for 循环的每次判断条件导致的 也就是 for 循环的第二句 每次循环都会执行该判断条件 for 循环的表达式一般如下 for 表达式 1 表达式 2 表达式 3 表达式 4 Jetbrains 全家桶 1 年 46 售后保障稳定 执行的顺序为 第一次循环 首先执行表达式 1 一般为初始化语句 只执行一次 再执行表达式 2 条件判断语句

今天刷题碰到的一个坑,就是没有注意到for循环的每次判断条件导致的**,也就是for循环的第二句**,每次循环都会执行该判断条件。

for循环的表达式一般如下:

for(表达式1;表达式2;表达式3){
表达式4;
}

Jetbrains全家桶1年46,售后保障稳定

执行的顺序为:

第一次循环
首先执行表达式1(一般为初始化语句,只执行一次),再执行表达式2(条件判断语句),判断表达式1是否符合表达式2的条件,如果符合,则执行表达式4,否则,停止执行,最后执行表达式3.

之后的循环:
首先执行表达式2,如果符合,继续执行表达式4,否则停止执行,最后执行表达式

如此往复,直到不再满足表达式2的条件。

注意点是当我们修改了for循环中表达式2,条件判断语句时,这时你就要注意的你的for循环很可能就会出错。

案例

#include 
#include
using namespace std;
int main()
{

queue 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,
}
编程小号
上一篇 2025-04-11 23:57
下一篇 2025-05-28 19:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/141898.html