c语言中的条件语句


c语言中的条件语句


一、if语句
        if(表达式)  语句1;
    如果表达式的值为非0,则执行语句1,否则跳过语句继续执行下面的语句。
    如果语句1有多于一条语句要执行时, 必须使用{和} 把这些语句包括在其中, 此时条件语句形式为:
        if(表达式)
        {
            语句体1;
        }
    例如:
        if(x>=0)  y=x;
        if(a||b&&c)
        {
            z=a+b;
            c+=z;
        }

二、if--else语句
    除了可以指定在条件为真时执行某些语句外,还可以在条件为假时执行另外一段代码。在C语句中利用else语句来达到这个木的。
        if(表达式)  语句1;
        else  语句2;
    同样,当语句1或语句2是多于一个语句时,需要用{}把语句括起来。
    例如:
        if(x>=0)  y=x;
        else  y=-x;

三、if--else if--else结构。
        if(表达式1)
            语句1;
        else if(表达式2)
            语句2;
        else if(表达式3)
            语句3;
              .
              .
              .
        else
            语句n;
    这种结构是从上到下逐个对条件进行判断,一旦发现条件满点足就执行与它有关的语句, 并跳过其它剩余阶梯;若没有一个条件满足,则执行最后一个else 语句n。最后这个else常起着缺省条件的作用。同样,如果每一个条件中有多于一条语句要执行时,必须使用{和}把这些语句包括在其中。
    条件语句可以嵌套,这种情况经常碰到,但条件嵌套语句容易出错,其原因主要是不知道哪个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);

总述:一个表达式的返回值都可以用来判断真假(除void型外,因为void型无任何返回值),当表达式的值不等于0时,它就是“真”,否则就是假。一样个表达式可以包含其他表达式和运算符,并且基于整个表达式的运算结果可以得到一个真/假的条件值。因此,当一个表达式在程序中被用于检验其真/假的值时,就称为一个条件。