当前位置: 首页 > 编程语言 > C语言 > 正文

C语言基础教程(三)输入输出函数及控制流程语句(14)

时间:2007-05-04 王大刚

1.3 控制流程语句

Turbo C2.0提供了丰富、灵活的控制流程语句,主要有:条件语句、循环语句和开关语句。下面将对这些语句作详细介绍。

1.3.1 条件语句
象其它语言一样Turbo C2.0也提供条件语句。在Turbo C2.0中条件语句的一般形式为:
if(表达式)
语句1;
else
语句2;
上述结构表示:如果表达式的值为非0(TURE)即真,则执行语句1,执行完语句1从语句2后开始继续向下执行;如果表达式的值为0(FALSE)即假,则跳过语句1而执行语句2。所谓表达式是指关系表达式和逻辑表达式的结合式,关于表达式前面已作过介绍,这里不再重复。
注意:
1.条件执行语句中"else 语句2;"部分是选择项,可以缺省,此时条件语句变成:
if(表达式) 语句1;
表示若表达式的值为非0则执行语句1,否则跳过语句1继续执行。
2.如果语句1或语句2有多于一条语句要执行时,必须使用"{"和"}" 把这些语句包括在其中,此时条件语句形式为:
if(表达式)
{
语句体1;
}
else
{
语句体2;
}
3.条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪个if对应哪个else。
例如:
if(x>20||x<-10)
if(y<=100&&y>x)
printf("Good");
else
printf("Bad");
对于上述情况,Turbo C2.0规定:else语句与最近的一个if语句匹配,上例中的else与if(y<=100&&y>x)相匹配。为了使else与if(x>20||x<-10)相匹配,必须用花括号。如下所示:
if(x>20||x<-10)
{
if(y<=100&&y>x)
printf("Good");
}
else
printf("Bad");
4. 可用阶梯式if-else-if结构。
阶梯式结构的一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
.
.
.
else
语句n;
这种结构是从上到下逐个对条件进行判断, 一旦发现条件满点足就执行与它有关的语句,并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个else语句n。最后这个else常起着"缺省条件"的作用。
同样,如果每一个条件中有多于一条语句要执行时,必须使用"{"和"}"把这些语句包括在其中。