当前位置: 首页 > news >正文

C++_CH09_循环

C++_CH09_循环

1.1、for循环的本质

看这样一段代码:

#include<iostream>int main()
{for(int i = 0; i<5; i++){std::cout<<"hello world"<<std::endl;}std::cin.get();
}

这段代码当然是打印五次。但是这段代码真正的核心是:int i = 0是在for循环开始时被执行一次,i++是在结束for循环时所执行。因此该段代码的本质是:

#include<iostream>int main()
{int i = 0;for(; i<5; ){std::cout<<"hello world"<<std::endl;i++;}std::cin.get();
}

虽然看起来很怪,但是运行结果完全一样。
甚至,由于条件返回的是bool类型,所以还可以这样更改:

#include<iostream>int main()
{int i = 0;bool condition = true;for(; condition; ){std::cout<<"Hello world"<<std::endl;		if(!(i<5)){condition = false;}i++;}std::cin.get();
}

1.2、while

while()里面只能包含条件。所以当只需要有比较时,就用while。不过所有的循环语句都可以做一样的事情。只是习惯不同

#include<iostream>int main()
{int i = 0;bool condition = true;while(condition){std::cout<<"Hello world"<<std::endl;		if(!(i<5)){condition = false;}i++;}std::cin.get();
}

1.3、do…while

先do,再while。先运行一次do里面的内容,再来判断是否需要循环。while里写的是循环的条件。

#include<iostream>int main()
{int i = 0;bool condition = true;do{std::cout<<"Hello world"<<std::endl;		if(!(i<5)){condition = false;}i++;}while(condition);std::cin.get();
}

此时就需要注意了。当第五次do了之后,i就已经是5并且打印了五次。而又将运行一次。所以此时会打印6次。因此我们把5修改成4就跟之前的效果一样了。修改之后的输出:

Hello world
Hello world
Hello world
Hello world
Hello world

http://www.mrgr.cn/news/13207.html

相关文章:

  • 免杀笔记 ---> CS特性角度看Veh免杀
  • Ubuntu美化为类Windows风格
  • DataWhale AI夏令营-《李宏毅深度学习教程》笔记-task2
  • Qt:玩转QPainter序列三
  • 内存管理篇-14kmalloc机制实现分析
  • 如何在 Vim 中显示行号
  • 分数规划问题
  • numpy 中的降维与升维
  • 无人机之穿越机基础知识
  • select epoll搭建并发式服务器
  • 高效的时间序列可视化:减少认知负荷获得更清晰的洞察
  • 力扣45.跳跃游戏II
  • WEB开发---使用HTML CSS开发网页实时显示当前日期和时间
  • C\C++ Sqlite3使用详解
  • linux查看系统安装时间命令,找出Linux操作系统(OS)安装日期和时间
  • “random_shuffle”:不是“std”错误的成员
  • Leetcode面试经典150题-5.最长回文子串
  • 0828作业+梳理
  • 【图像去噪】论文复现:代替ReLU!Pytorch实现即插即用激活函数模块xUnit,并插入到DnCNN中实现xDnCNN!
  • C++day2