分支语句

戏子无情 提交于 2020-02-04 03:04:52

1.if语句

(1)if语句的语法

if(表达式)
    语句;


if(表达式)
    语句1;
else
    语句2;

如果表达式结果为真,则执行语句1,若表达式结果为假,执行语句2;C语言中,0为假,非0为真。

(2)if语句书写规范

a.bool值和0比较

int i;
if(i == TRUE)
{ … }
if(i == FALSE)
{ … }

TRUE、FALSE被定义为一个固定的值,如i=6,TRUE(1)==i会发生判断错误。

b.整形变量和0比较

int num = 10;
if(num)
{
    printf("num = 0\n");
}
//输出:num = 0

c.指针和0比较

int *p;
*p = 20; //运行出错,p没有指向任何单元,就给这个单元赋值,显示访问了不知名空间。
int *p = NULL;
if(p != NULL)
{
    *p = 20;
}

d.浮点型和0比较

double a = 29.0;
double b = a / 4.0;
if(a == b * 4.0)
{
    printf("相等\n");
}
else
{
    printf("不相等\n");
}
//输出结果:相等

浮点数在内存中的存储方式使得有些浮点数在内存中无法精确存储,这样必然有精度的丢失,使计算不准确,因此无法使用==直接判断浮点数的相等。设置一个能接受的精度,保证误差在精度范围内即可。

//判断一个浮点数是否等于20
#define EXp = 0.0000000001
flout f = 19.99999;
if( ((f-20.0)>-EXP) && ((f-20.0)<EXP) )
    printf("f无限接近于20");

2.switch语句

switch(常量表达式)
{
    case 整形常量;
        语句;
        break;
    default:
        break;
}
#include<stdio.h>
int main()
{
        int num = 5;
        switch(num)
        {
        case 1:
                printf("Monday\n");
                break;
        case 2:
                printf("Tuesday\n");
                break;
        case 3:
                printf("Wedensday\n");
                break;
        case 4:
                printf("Thursday\n");
                break;
        case 5:
                printf("Friday\n");
                break;
        case 6:
                printf("Saturday\n");
                break;
        case 7:
                printf("Sunday\n");
                break;
        defult:
                break;
        }
        return 0;
}
#include<stdio.h>
int main()
{
        int num = 5;
        switch(num)
        {
        case 1: 
        case 2: 
        case 3: 
        case 4: 
        case 5: 
                printf("Weekday");
                break;
        case 6:
        case 7:
                printf("Weekend\n");
                break;
        defult:
                break;
        }
        return 0;
}

3.goto语句

当需要跳出两层、三层或多层的循环时,使用goto语句远远比使用break语句跳出循环简单

for(…)
{
    for(…)
    {
        for(…)
        {
            if(disaster)
                goto error;
        }
    }
}
error:
    if(disaster)
    ...

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!