C语言中的分支与循环语句
一.分支语句
1. if语句
if是如果的意思,在c语言中,if语句表条件判断,其格式如下:
if(表达式)
{
语句;
}
其中表达式如果为真,则会执行大括号里面的语句(有时会省略大括号,此时是执行if下面的一条语句),如果表达式为假,则不会执行.
在c语言中,0为假,非0表示真.也就是说表达式如果不是0,则执行语句.
有时,我们经常将if和else搭配起来使用,格式如下:
if(表达式)
{
语句1;
}
else
{
语句2;
}
表示为如果表达式为真,则执行语句1,如果为假,则执行语句2.
如果我们想要对应多种情况,我们可以使用if…esle if…else.其格式如下:
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
其含义为,如果表达式1为真,则执行语句1;如果表达式1为假但表达式2为真,则执行语句2,如果表达式1和2均为假,则执行语句3.
2.switch语句
switch相当于一种特殊的else if语句,用于判断条件有多个结果的情况.
其格式如下:
switch(表达式)
{
case value1:
语句1;
break;
case value2:
语句2;
break;
default:
语句3;
break;
}
其含义为,如果表达式的值为value1,则从value1后面开始执行语句(break是用于跳出的,如果没有break会继续执行value2后面的语句),如果表达式的值为value2,则从value2后面开始执行,以此类推.
default的含义是如果前面的值都不对,则执行default后面的语句.
下面是一个例子
int day;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期日");
break;
default:
printf("输入错误");
break;
}
上面程序是用来判断今天是星期几.
二.循环语句
1.while循环
其格式如下:
while(表达式)
{
语句;
}
其含义为:
如果表达式为真就执行大括号里面的语句,执行完之后再次判断表达式是否为真,如果还是真,则继续执行语句,知道表达式为假结束.
由此我们也可以看出,如果表达式一直为真,则会进入死循环,因此,循环语句中的表达式,我们应该遵循这样的设计思路,通过若干次循环后,使表达式为假.结束循环.
2.for循环
其格式如下:
for(初始化;表达式;调整语句)
{
执行语句;
}
其含义为:
首先进行一次初始化,然后判断表达式是否为真,如果为真,则进行执行语句,执行语句进行完后,再进行调整语句,调整完后再次判断表达式是否为真,如果为真,则继续执行上述操作,知道表达式为假,结束循环.
3.do-while循环
其格式如下:
do
{
语句;
}while(表达式);
他和while语句的区别在于,最开始无论表达式是否为真,都会执行一次语句,然后再判断表达式的真假.
以上只是对c语言中的分支与循环语句的一个简单描述,仅供大家简单参考,其中肯定会有很多缺漏的细节,感谢!