Breaking Out of Loops
int multiples = 0;while (true){ multiples++; if (multiples > 19) break;}
假如没有break,这个循环没头了。这里加了一个退出条件,即超过19就break,我以前以为只有switch 语句才有break呢。
友情提示,while(true)这种自带bug的语句要慎重点使用。
Continuing to the next loop
程序执行时,如果遇到 continue,他就会无视后面的语句,直接开始新循环。
#includeusing namespace std;int findArea(int length, int width = 2, int height = 3);int main(){ int counter = 0; int multiples = 0; while(multiples < 10) { counter++; if(counter % 15 != 0) continue; cout << counter << endl; multiples++; } return 0;}
for Loops
关于这个循环,有点特别注意的
- for中三个参数之间的分隔符是分号---;;;;;;;;;;;;;;;;;;;;;;;
- for( ; ; ) 括号结束后没有分号!如果直接分号的话编译器不报错(有些时候需要这种空循环),只是机械的循环
- for循环中的计数变量可以是整数、浮点数etc,不过大部分程序员都只用整数
Advanced for Loops
for 循环可以初始化很多变量,例如
for (x = 0, y = 1; x < 10, x++, y++){ some statements;}
要注意使用逗号分隔多个变量,使用分号分隔各个部分(初始化、条件、自增etc)
for循环三个部分都可以省略,但是分号不能省略,例如
x = 0;for (; x < 5, x++){ some statements;}
switch Statements
Q. 什么时候用?
A. 当你要用很多很多很多很多 if-else 语句的时候,为了简洁,用switch替代
Q. 用不用default case ?
A. It's good programming practice to have a default case in your switch statements even when you don't have a reason to deployit. 通常default用来显示错误信息,或者超出你编程时的预期值
Note. 一般来说,每个case都要跟一个break,否则程序会一路到底,虽然有时候需要它一路到底,我就是写写让自己多注意点儿。
e.x. 初级阶段能熟练写出这样的语句就可以,注意不要忘记case default等等
#includeusing namespace std;int main(){ char grade; cout << "Enter your letter grade(in upper case please): \n"; cin >> grade; switch (grade) { case 'A': cout << "Finally!\n"; break; case 'B': cout << "You can do better! \n"; break; case 'C': cout << "I'm disappointed in you!\n"; break; case 'D': cout << "You're not smart! \n"; break; case 'E': cout << "Get out of my sight!\n"; break; default: cout << "That's not even a grade!\n"; break; } return 0;}