c++中的for循环是一种很基本,而且使用频率很高的语法,越是比较简单的语法 则越容易忽视细节,今天使用的时候突然感觉对for 循环模糊了。。。

for 循环允许您编写一个执行特定次数的循环的重复控制结构。

语法

C++ 中 for 循环的语法:

for ( init; condition; increment )
{statement(s);
}

下面是 for 循环的控制流:

  1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

流程图

实例

实例

#include <iostream>
using namespace std;int main ()
{// for 循环执行for( int a = 10; a < 20; a = a + 1 ){cout << "a 的值:" << a << endl;}return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

基于范围的for循环(C++11)

for 语句允许简单的范围迭代:

int my_array[5] = {1, 2, 3, 4, 5};
// 每个数组元素乘于 2
for (int &x : my_array)
{x *= 2;cout << x << endl;
}
// auto 类型也是 C++11 新标准中的,用来自动获取变量的类型
for (auto &x : my_array) {x *= 2;cout << x << endl;
}

上面for述句的第一部分定义被用来做范围迭代的变量,就像被声明在一般for循环的变量一样,其作用域仅只于循环的范围。而在":"之后的第二区块,代表将被迭代的范围。

实例

#include<iostream>
#include<string>
#include<cctype>
using namespace std;  int main()
{  string str("some string");  // range for 语句  for(auto &c : str)  {  c = toupper(c);  }  cout << str << endl;  return 0;
}

上面的程序使用Range for语句遍历一个字符串,并将所有字符全部变为大写,然后输出结果为:

SOME STRING

c++ for循环执行流程相关推荐

  1. for循环执行流程面试题(经典)

    一:for循环案例面试题 public class TestForExecute {public static void main(String[] args) {int i=0;for (print ...

  2. PHP for循环执行流程

    /* for循环 for(表达式1;表达式2;表达式3){ // 循环体 } 表达式1 初始化 表达式2 表示终止条件 表达式3 改变变量 执行流程: 第一步 表达式1初始化变量,判断是否符合(表达式 ...

  3. 前端学习(687):for循环执行流程

  4. java 双重for循环_Java--for循环之双层循环嵌套 执行流程

    for循环单层循环执行流程:http://blog.csdn.net/asheandwine/article/details/76383304 接下来看双层循环: 循环嵌套是指在一个循环语句中再定义一 ...

  5. for循环语法和执行流程

    package main import ( "fmt" ) func main(){ //基本语法 /* for循环变量初始化:循环条件:循环变量迭代{ 循环操作(语句) } 对上 ...

  6. Java--for循环之双层循环嵌套 执行流程

    for循环单层循环执行流程:http://blog.csdn.net/asheandwine/article/details/76383304 接下来看双层循环: 循环嵌套是指在一个循环语句中再定义一 ...

  7. For循环执行顺序流程

    有以下for循环执行代码 较为基础,所以画图给大家讲解一下for循环执行步骤 1.执行for循环体里的第一个参数,也就是定义一个int整形变量,其变量名为i,并初始化为0 2.执行完第一个参数里的代码 ...

  8. Caffe中对MNIST执行train操作执行流程解析

    之前在 http://blog.csdn.net/fengbingchun/article/details/49849225 中简单介绍过使用Caffe train MNIST的文章,当时只是仿照ca ...

  9. JavaScript异步精讲,让你更加明白Js的执行流程!

    JavaScript异步精讲,让你更加明白Js的执行流程! 问题点 什么是单线程,和异步有什么关系 什么是 event-loop jQuery的Deferred Promise 的基本使用和原理 as ...

最新文章

  1. XamarinSQLite教程Xamarin.Android项目添加引用
  2. c++图形化界面_还能这样用?Linux下如何编译C程序?
  3. cstatic 不调用onpaint_干货 | U盘中毒?不可能的事
  4. The method setOnClickListener(View.OnClickListener) in the type View is not applicable
  5. Docker 部署ELK 日志分析
  6. 手机端公告文本回滚(简单的jq代码)
  7. iSCSI又称为IP-SAN
  8. VC调用Delphi对象接口
  9. 不正确的c语言字符常量是,哪个是不正确的字符常量?
  10. 《大话代码架构(.NetC#)》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+软件架构设计+框架编程+数据结构+设计模式+MVC+ORM+架构师+立钻哥哥+=)
  11. matlab 窗函数频谱,功率谱、频率分辨率、频谱泄漏与窗函数
  12. 编译原理生成语法树c语言,编译原理
  13. pixel 更新系统
  14. 教你三分钟上手阿里云OOS上传操作
  15. 优秀的程序员是不用机械键盘的
  16. 四色原型的学习心得分享
  17. glob.glob()之返回路径的正反斜杆问题
  18. 数字逻辑课设(数字电子钟)
  19. php判断小程序分享群,微信小程序区分分享到群和好友
  20. 【蓝桥备赛】七星填空

热门文章

  1. linux联网三种模式
  2. 百度空间部分表单查询
  3. opencpu探索第二天
  4. Python代码编写规范-部分(PEP 8编码规范)
  5. 【Android】SimpleAdapter的使用
  6. [转载]超强1000个jquery极品插件!(连载中。。。。)
  7. Failed to convert value of type ‘java.lang.String‘ to required type ‘java.util.Date‘;
  8. vuejs滚动条_Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
  9. File_operations 介绍
  10. redis初始化存储数据库字典表数据设计方案