C++Primer5.4节——迭代语句
迭代语句通常被称为循环,迭代语句有while,do while循环、传统for循环和范围for循环。
1、while循环
①形式:
while(condition)
statement;
(1)condition不能为空。
(2)定义在while条件或者循环体内的变量每次迭代都要经历从创建到销毁的过程。
(3)先判断条件,条件为真后执行循环体内的语句,否则执行结束while循环。
②使用的情况:当不确定要迭代多少次时,使用while循环比较合适。
(1)如读取输入的内容,while(cin>>a);
(2)在循环结束后想访问循环控制变量。
2、do while循环
①形式:
do
statement
while(condition);
(1)先执行循环体后执行条件,不管条件如何,我们都至少执行一次循环。
(2)condition不能为空。
(3)condition使用的变量必须定义在循环体外。
3、传统的for循环
①形式:
for(init-statement;condition;expression)
statement;
(1)init-statement必须是声明语句、表达式语句或空语句中的一种。
(2)expression负责修改init-statement初始化的变量。
(3)for语句头可以根据情况省略掉init-statement,condition,expression,包括省略全部。
②执行顺序
(1)先判断条件condition。
(2)再执行循环体内的语句。
(3)最后执行expression,修改init-statement初始化的变量。
4、范围for语句
①形式:
for(declaration:expression)
statement;
(1)范围for语句可以遍历容器或其他序列所有元素。
(2)expression必须是一个序列,如vector或string等类型的对象等。
(3)declaration定义一个变量,使序列每个元素都转换成变量的类型,通常使用auto关键字。
(4)如果需要对序列中的元素执行写操作,那么需要将变量声明成引用类型。
(5)不能使用范围for语句对序列添加元素。
②执行顺序
每次迭代都会重新定义循环控制变量,并将其初始化为序列的下一个元素,之后才会执行statement。