C语言中的程序控制结构

时间:2022-09-08 17:43:41

1.程序的三种基本结构
通常的计算机程序总是由若干条语句组成,从执行方式上看,从第一条语句到最后一条
语句完全按顺序执行,是简单的顺序结构;若在程序执行过程当中,根据用户的输入或中间
结果去执行若干不同的任务则为选择结构;如果在程序的某处,需要根据某项条件重复地执
行某项任务若干次或直到满足或不满足某条件为止,这就构成循环结构。大多数情况下,程
序都不会是简单的顺序结构,而是顺序、选择、循环三种结构的复杂组合

选择控制语句: i f;
                             s w i t c h、c a s e
循环控制语句: f o r、w h i l e、d o...w h i l e
转移控制语句: b r e a k、c o n t i n u e、g o t o

 

2. if语句的几种基本形式

(1).

i f〈表达式〉
    语句1
e l s e
    语句2
当表达式为真时,执行语句1,表达式为假时执行语句2。无论如何,语句1与语句2每
次只能有一个被执行。
要注意的是: i f或i f . . . e l s e,包括后面要讲到的嵌套i f,即if...else if...被看成是一条语句,
即使其中的语句是包含多条语句的复合语句,仍然如此

讲下复合语句:

i f语句中,有时需要执行的语句不止一条,这就要用到复合语句。
复合语句,就是用一对花括号括起来的一条或多条语句,形式如下:
{
语句1;
语句2;
..........
语句n;
}
无论包括多少条语句,复合语句从逻辑上讲,被看成是一条语句

(2).

if...else if 语句
实际应用中常常面对更多的选择,这时,将i f . . . e l s e扩展一下,就得到if...else if结构,其
一般形式为:
if <表达式1 >
语句1
else if<表达式2 >
语句2
else if <表达式3 >
语句3
else 语句4

(3).

if语句嵌套
在一个if 语句中可以又出现另一个i f语句,这称为i f语句的嵌套或多重i f语句:
if <表达式1 >
i f < 表达式11>
.....
e l s e
语句2;

C语言规定e l s e总是与离它最近的上一个if 配对;

3.switch语句

s w i t c h语句的一般格式为:
switch <表达式>
case 常量表达式1:语句序列1;
b r e a k ;
case 常量表达式2:语句序列2;
b r e a k ;
....
case 常量表达式n : 语句n ;
b r e a k ;
default: 语句n + 1 ;
其中常量表达式的值必须是整型,字符型或者枚举类型

特殊情况下,如果s w i t c h表达式的多个值都需要执行相同的语句,可以采用下面的格式:

switch (i)
{
case 1:
case 2:
case 3: 语句1;
b r e a k ;
case 4:
case 5: 语句2;
b r e a k ;
default: 语句3;
}

4.while语句

while语句
w h i l e语句是当型循环控制语句,一般形式为:
while <表达式> 语句;

5.do.....while

do 语句while <表达式>
其中语句通常为复合语句,称为循环体。
d o. . .while 语句的基本特点是:先执行后判断,
因此,循环体至少被执行一次。
但需要注意的是,d o. . .w h i l e与标准的直到型循环有一个极为重要的区
别,直到型循环是当条件为真时结束循环,而d o. . .w h i l e语句恰恰相反,
当条件为真时循环,一旦条件为假,立即结束循环,请注意d o. . .w h i l e语句的这一特点

 

6.for语句

o r语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合已知循环次数的情
况。它的一般形式为:
for (<表达式1 >;<表达式2 >;<表达式3>) 语句
f o r语句很好地体现了正确表达循环结构应注意的三个问题:
1) 控制变量的初始化。
2) 循环的条件。
3) 循环控制变量的更新。
表达式1:一般为赋值表达式,给控制变量赋初值;
表达式2:关系表达式或逻辑表达式,循环控制条件;
表达式3:一般为赋值表达式,给控制变量增量或减量。
语句:循环体,当有多条语句时,必须使用复合语句。
f o r循环的流程图如图3 - 11,其执行过程如下:
首先计算表达式1,然后计算表达式2,若表达式2为真,则执行循环体;否则,退出f o r循
环,执行f o r循环后的语句。如果执行了循环体,则循环体每执行一次,都计算表达式3,然后
重新计算表达式2,依此循环,直至表达式2的值为假,退出循环

7.break和continue语句

有时,我们需要在循环体中提前跳出循环,或者在满足某种条件下,不执行循环中剩下
的语句而立即从头开始新的一轮循环,这时就要用到b r e a k和c o n t i n u e语句。
(1.) break语句
在前面学习s w i t c h语句时,我们已经接触到b r e a k语句,在c a s e子句执行完后,通过b r e a k
语句使控制立即跳出s w i t c h结构。在循环语句中, b r e a k语句的作用是在循环体中测试到应立
即结束循环时,使控制立即跳出循环结构,转而执行循环语句后的语句

(2).continue语句
c o n t i n u e语句只能用于循环结构中,一旦执行了c o n t i n u e语句,程序就跳过循环体中位于
该语句后的所有语句,提前结束本次循环周期并开始新一轮循环