条件控制
作用域 定义变量只在{}内部生效
初始化 if(int pow = x * x; pow < 100)
通常书写
1 2 3 4 5 6 7
| if (x < 0) { cout << "if branch" << endl; } else if (x == 0) { cout << "else if branch" << endl; } else { cout << "else branch" << endl; }
|
书写规范:同样如果只有一行代码可写成一行增加代码的可阅读性
if(condition) only_one_statement
循环控制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| int main() { for (int i = 0; i < 10; i ++) { cout << i << ' '; } cout << endl;
int i = 0; while (++i < 10) { cout << i << ' '; } cout << endl;
i = 0; do { cout << i << ' '; } while (++i < 10); cout << endl; }
|
循环嵌套
示例九九乘法表
1 2 3 4 5 6
| for(int a = 1; a <= 9; a++){ for(int b = 1; b <= a; b++){ cout << format("{}*{}={:<2}", a, b, a*b); } cout << endl; }
|
跳转控制
break 打破循环,直接结束循环
coutinue 继续循环 跳过后续未执行的循环体,跳到迭代语句和循环条件之前
goto 任意跳转至某一个标签
1 2 3 4 5 6 7
| label: if(i < 100){ cin >> x; sum += x; i ++; goto label; }
|
switch语句
1 2 3 4 5 6 7 8 9 10
| switch(init; expression){ case constant-expression1: branch1; break; case constant-expression2: branch2; break; default: branch3; }
|