C++学习第6篇-程序流程控制

1. 流程控制简介

程序流程,即CPU执行程序的顺序;在main()开始和结束。

至今为止,我们看到的都是顺序执行,通常需中断调用其他函数,控制程序执行书顺序。

1)Halt

作用:立即终止程序。例如使用<cstdlib>的exit() ;

C++学习第6篇-程序流程控制_第1张图片

2)Jumps

作用:无条件促使CPU跳转到其他语句。例如:goto、break、continue;

函数调用,也是类似该行为。

3)条件分支

条件分支,即根据表达式的值,选择改变的执行路径。通常使用if关键字。

C++学习第6篇-程序流程控制_第2张图片

4) 循环

根据给出的条件,如果为true,则重复执行指定的语句;知道条件为false。

C++提供for、do……while和while三种,不提供foreach;

C++学习第6篇-程序流程控制_第3张图片

5)异常

异常提供了获取程序错误的机制;捕捉获知错误,改变执行路径。(这部分不讨论)

2. if 语句

if语句是C++最常用的条件分支。

C++学习第6篇-程序流程控制_第4张图片

以下是一个简单的例子:

C++学习第6篇-程序流程控制_第5张图片

建议A: 每个if和else之后都使用{和}括起来;

当然,可以使用多个if-else:


注意:else与之前的最近的if配对。最好使用{和}区分。

if语句可以嵌套:

C++学习第6篇-程序流程控制_第6张图片

if语句常用语错误判断和提前返回:


简单的if语句可以使用?语句代替。

3. switch 语句

可以使用多重的if-else判断,但可读性差;C++提供switch语句,多条件语句。


default就是当以上条件都不符合,才执行default语句段。

注意:

A)switch中的表达式,必须为可转化为整型值,即char、short、int、long int

B)case之后的是常量表达式,而且必须是唯一的条件值,不能出现重复:


C)对于处理case之后,该程序段之后可以使用break来退出switch;

D)允许多个case条件,对应一个出来程序段:

C++学习第6篇-程序流程控制_第7张图片

E)当遇到break、goto和return,终止退出swith判断。

4. Goto语句

goto语句实现程序跳转到指定的程序段:


注意:除非确实需要,尽量避免使用goto语句。

5. while 语句

一般格式是:while(判断条件){执行语句段}

当判断条件为true时,执行语句段;直到条件为false。

例如,打印1到10:

C++学习第6篇-程序流程控制_第8张图片

注意:如果条件一直都为true,就会出现死循环;只有return、break和抛出异常可以退出死循环。

建议:在循环里面,使用诸如iii、jjj、kkk变量名;

6. Do……while 语句

一般格式是:do{……}while(条件);

该格式和while语句相似,但不同的是至少执行do里面的语句一次。

7. For 语句

一般格式:for(初始化条件;表达式1;表达式2){……}

与while语句相似,初始化条件;while(表达式1){……;表达式2};只不过是初始化条件位置不同;


注意表达式1的比较,预防超出界限;

可以省略for条件的3个条件;

当{和}为空语句,即只有一个分号;

可以使用逗号运算符,实现多重条件:


8. break和continue

break可以退出当前循环,而continue可以不执行当次循环;


【免责特此声明:
1)本内容可能是来自互联网的,或经过本人整理的,仅仅代表了互联网和个人的意见和看法!
2)本内容仅仅提供参考,任何参考该内容造成任何的后果,均与原创作者和本博客作者无关!】

你可能感兴趣的:(C++,c)