基本结构:
for (initialization; test-expression; update-expression) { body }test-expression的值只能是true或false。如果使用其他表达式,则会强制转换为bool值。
C++允许将两条或更多条语句(不是所有种类的语句都可以,比如声明变量的语句)放到只能放一条语句的地方。逗号运算符,完成这样的任务。 如:for (int i = 0, j = T.size() - 1; i < j; i++, j--)
基本结构:
while (test-condition) { body }首先,程序计算圆括号中的测试条件表达式,如果表达式为true,则执行循环体中的语句,之后重复计算测试条件表达式…
基本结构:
do { body } while (test-condition)首先,程序会执行一次循环体中的语句,之后计算元括号中的测试条件表达式,如果为true,则再执行一次循环体中的语句,再计算测试条件表达式…… 也就是说,do while循环中循环体语句至少被执行一次。 do while循环中经常用来检测用户输入的内容是否合法。
可以改写成
initialization while (test-expression) { body update-expression }可以改写成
for (; test-condition; ) { body }基于范围的for循环适用于对数组、容器等的每一个元素实行相同的操作。
#include <iostream> using namespace std; int main() { int price[4] = { 34, 12, 23, 34 }; for (int temp : price) cout << double(temp * 0.8) << " ";//use cout << endl; // for (int temp : price) temp *= 0.8; for (int i = 0; i < 4; ++i) cout << price[i] << " "; cout << endl; // for (int& temp : price) temp *= 0.8; for (int i = 0; i < 4; ++i) cout << price[i] << " "; cout << endl; return 0; } 运行结果: 27.2 9.6 18.4 27.2 34 12 23 34 27 9 18 27要修改数组中的数值,需要使用引用变量。
continue语句可以让程序跳过循环体中之后的所有语句,转到下一次循环体中或执行循环更新表达式。 break语句可以让程序立刻结束循环。
