C语言--逻辑运算与if语句

            关系运算符:

                            在C语言中0代表false,非0代表真

            1.< 小于

            2.<=小于等于

            3.>大于

            4.>大于等于

            5.==等于

            6.!=不等于

            关系运算符优先级

                前四种相同,后两种相同,前四种高于后两种优先级

            逻辑运算符

                  1.&& 与  :&&号两边都为真最后的结果才为true,否则为false。

                  2.|| 或 :||号两边有一个位true,则最后的结果就为true,否则为false。

             逻辑运算符优先级   

                  &&的优先级大于||的优先级,如果都为同一个的话,那么就从左到右的看

              

                int main()//一个函数在C语言里面,如果只是空(),代表这个函数可以参数,也可以没有参数

                int main(void);如果是(void),就是明确的表达,没有任何参数


                 if单条件语句

                if(条件)

                {

                     复合语句       

                 }

                //只有条件为true,才会执行里面的复合语句,否则不会执行

          if-else:

                  if(条件)

                   {

                        复合语句一

                   }else{

                        复合语句二

                    }

                    如果条件为true,则执行复合语句一,否则执行复合语句二


                if-else if 

                        if(条件一)

                        {

                                复合语句块一;

                        }

                        else if (条件二)

                        {

                                复合语句块二;

                        }

                        else if(条件三)

                        {

                                复合语句三;

                        }

                        else

                        {

                                复合语句块四;

                        }

                    注:当有多个else的时候,else总是和上方最近的那个if语句配对,然后执行相应的语句块

用if-else的计算器代码

    

#include <stdio.h>
 
 
int main(void)
{
    int a = 0;
    int b = 0;
    char c = 0;
 
 
    printf("please input : a\n");
    scanf("%d",&a);
    getchar();//通过getchar这个函数将之前输入a时候用户按的回车键先收到
 
 
 
 
    printf("please input : operator\n");
    scanf("%c",&c);//通过键盘输入一个字符
    getchar();
 
 
 
 
    printf("place input : b\n");
    scanf("%d",&b);
    getchar();
 
 
    if(c=='+')
    {
        printf("a+b=%d",a+b);
    }
    else if(c=='-')
    {
        printf("a-b=%d",a-b);
    }
    else if(c=='*')
    {
        printf("a*b=%d",a*b);
    }
    else if(c=='%' && b!=0)
    {
        printf("a%%b=%d",a%b);
    }
    else if(c=='/'&& b!=0)
    {
        printf("a/b=%d",a/b);
    }
    else
    {
        printf("please enter a legal operator AND divisor cannot equal zero");
    }
    return 0;
}
 
 
 
 

   但是多重选择一般不是用 if - else if 而是用switch

           swith(条件参数)

             case (情况一)

                        复合语句

                        break();//跳出复合语句块

            case(情况二)

                        ~

            default://如果都不符合就执行这个里面的复合语句


什么时候用if,什么时候用switch

当条件很复杂,一个&&,||,! 存在,那么if语句

如果条件很简单,但分支很多,那么适合用switch  


猜你喜欢

转载自blog.csdn.net/weixin_41998122/article/details/80391526