C语言中的分支语句

C语言中常用分支语句有if语句,switch语句

首先来说一下if语句。if语句的基本表达式:

if(表达式)                                                                 if(表达式)

语句;                                                                         语句1;

                                                                                   else

                                                                                   语句2;

如果if语句中的表达式为真,则执行语句1,否则执行语句2;如果条件成立,执行多条语句,应该使用代码块。

在这里,一个if和一个else配对,if可以单独使用,有else出现一定有if,这里着重说下if表达式中浮点数与0的比较,因为在内存中整数与浮点数的存储结构是不同的,有些浮点数在内存中无法准确的存储,所以必然会有精度的丢失,所以无法直接使用 == 来判断。

我们可以自己设置一个在我们接受范围之内的精度,保证误差在这个范围之内就可以了。

#define EPSINON 0.000000000001

float f = 0.000001;

if((f > -EPSINON) && (f < EPSINON))

{

}

switch语句:

switch(常量表达式)

{

        case 常量 1 :语句1

        case 常量 2 :语句2

          ...      ...            ...

        case 常量 n :语句n

        default :      语句n+1

}

在使用switch语句时,先计算switch后面的表达式,再与case后面的常亮表达式作比较,如果相等则执行后面的语句,没有与case后面常量表达式相同的值,则转去执行default后面的语句。case语句的顺序对switch并没有影响。

我们可以用switch语句设计一个程序,输入1显示星期一,输入二显示星期二,以此类推

#include<stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
}
return 0;

}

值得注意的是,给每条case语句之后都应该加上break语句是一个好习惯,若有其他需要则需要在适当的位置加上break,防止switch语句执行过度,出现与预期相左的结果。



猜你喜欢

转载自blog.csdn.net/yikaozhudapao/article/details/80172880