HOUR 6 Controlling the Flow of a Program

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,他就会无视后面的语句,直接开始新循环。

#include <iostream>

using 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等等

#include <iostream>

using 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;
}

 

 

posted @ 2018-03-14 17:09  一只大公鸡  阅读(119)  评论(0)    收藏  举报