c++ for循环执行流程
c++中的for循环是一种很基本,而且使用频率很高的语法,越是比较简单的语法 则越容易忽视细节,今天使用的时候突然感觉对for 循环模糊了。。。
for 循环允许您编写一个执行特定次数的循环的重复控制结构。
语法
C++ 中 for 循环的语法:
for ( init; condition; increment )
{statement(s);
}
下面是 for 循环的控制流:
- init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
- 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
- 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
- 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,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循环执行流程相关推荐
- for循环执行流程面试题(经典)
一:for循环案例面试题 public class TestForExecute {public static void main(String[] args) {int i=0;for (print ...
- PHP for循环执行流程
/* for循环 for(表达式1;表达式2;表达式3){ // 循环体 } 表达式1 初始化 表达式2 表示终止条件 表达式3 改变变量 执行流程: 第一步 表达式1初始化变量,判断是否符合(表达式 ...
- 前端学习(687):for循环执行流程
- java 双重for循环_Java--for循环之双层循环嵌套 执行流程
for循环单层循环执行流程:http://blog.csdn.net/asheandwine/article/details/76383304 接下来看双层循环: 循环嵌套是指在一个循环语句中再定义一 ...
- for循环语法和执行流程
package main import ( "fmt" ) func main(){ //基本语法 /* for循环变量初始化:循环条件:循环变量迭代{ 循环操作(语句) } 对上 ...
- Java--for循环之双层循环嵌套 执行流程
for循环单层循环执行流程:http://blog.csdn.net/asheandwine/article/details/76383304 接下来看双层循环: 循环嵌套是指在一个循环语句中再定义一 ...
- For循环执行顺序流程
有以下for循环执行代码 较为基础,所以画图给大家讲解一下for循环执行步骤 1.执行for循环体里的第一个参数,也就是定义一个int整形变量,其变量名为i,并初始化为0 2.执行完第一个参数里的代码 ...
- Caffe中对MNIST执行train操作执行流程解析
之前在 http://blog.csdn.net/fengbingchun/article/details/49849225 中简单介绍过使用Caffe train MNIST的文章,当时只是仿照ca ...
- JavaScript异步精讲,让你更加明白Js的执行流程!
JavaScript异步精讲,让你更加明白Js的执行流程! 问题点 什么是单线程,和异步有什么关系 什么是 event-loop jQuery的Deferred Promise 的基本使用和原理 as ...
最新文章
- XamarinSQLite教程Xamarin.Android项目添加引用
- c++图形化界面_还能这样用?Linux下如何编译C程序?
- cstatic 不调用onpaint_干货 | U盘中毒?不可能的事
- The method setOnClickListener(View.OnClickListener) in the type View is not applicable
- Docker 部署ELK 日志分析
- 手机端公告文本回滚(简单的jq代码)
- iSCSI又称为IP-SAN
- VC调用Delphi对象接口
- 不正确的c语言字符常量是,哪个是不正确的字符常量?
- 《大话代码架构(.NetC#)》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+软件架构设计+框架编程+数据结构+设计模式+MVC+ORM+架构师+立钻哥哥+=)
- matlab 窗函数频谱,功率谱、频率分辨率、频谱泄漏与窗函数
- 编译原理生成语法树c语言,编译原理
- pixel 更新系统
- 教你三分钟上手阿里云OOS上传操作
- 优秀的程序员是不用机械键盘的
- 四色原型的学习心得分享
- glob.glob()之返回路径的正反斜杆问题
- 数字逻辑课设(数字电子钟)
- php判断小程序分享群,微信小程序区分分享到群和好友
- 【蓝桥备赛】七星填空
热门文章
- linux联网三种模式
- 百度空间部分表单查询
- opencpu探索第二天
- Python代码编写规范-部分(PEP 8编码规范)
- 【Android】SimpleAdapter的使用
- [转载]超强1000个jquery极品插件!(连载中。。。。)
- Failed to convert value of type ‘java.lang.String‘ to required type ‘java.util.Date‘;
- vuejs滚动条_Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
- File_operations 介绍
- redis初始化存储数据库字典表数据设计方案