if语句

1.if

在C语言中,0为假,非0表示真 

如果表达式结果是0,则语句不执行

如果表达式不是0,则语句执行

 2.else

if......else......

 

3.分支中包含多条语句

默认if和else语句中默认都只控制一条语句

#include <stdio.h>

int main()

{

        Int age = 0;

        scanf ("%d,&age");

         if(age>=18)

               printf("成年了");

               printf("可以谈恋爱了!");

          return 0;

}

上面的是错误代码,无论输入的>18还是<=18都会显示"成年了"

这是因为if语句只能控制⼀条语句,就是printf("成年了\n"); ,if语句为真,则打印成年了,if语句为假,不打印,对于printf("可以谈恋爱了\n"); 是独⽴存在的,不管if语句的条件的真假,都会被执⾏。那如果我们if语句同时控制2条语句,怎么办呢?那就要使⽤else 后也可以跟上⼤括号。如下:

 

 

4.嵌套if

在if   else语句中,else可以与另一个if语句连用,构成多重判断。

 

 

5.悬空else问题

如果存在多个if和else,记住else总是和最近的if匹配。

 

 

小甄建议:多多使用大括号使代码逻辑更加清晰,可读性更高,减少出错几率。

 

 

关系操作符

六个关系表达式:

>大于运算符

<小于运算符

>=大于等于运算符

<=小于等于运算符

== 相等运算符

!=不相等运算符

C语言中,0表示假,非0表示真。比如:20>15为真,返回1;17>20为假,返回0

关系式常用于if 或 while 结构。

例:

if (x == 3)

{

            printf("x is 3\n");

}

注意:相等运算符==与赋值运算符是两个不同运算符,不要混淆!

            我们可以养成这样的习惯,把程序员喜欢的变量写在等号右边。

 

注意:避免错误:多个关系运算符不宜连续应用。

例:i<j<k

上⾯⽰例中,连续使⽤两个⼩于运算符。这是合法表达式,不会报错,但是通常达不到想要的结果,
即不是保证变量 j 的值在 i 和 k 之间。因为关系运算符是从左到右计算,所以实际执⾏的是下⾯的表达式:

   (I<j)<k

上面式子中,i<j返回值是0或者1,所以最后是0或者1 与变量k进行比较。

正确写法:

i<j&&j<k

 

条件操作符

条件操作符又称三目操作符,需要接受三个操作数。

例:

exp1 ? exp2 : exp3

条件操作符计算逻辑:

如果exp1为真,exp2计算得出结果是整个表达式结果;

如果exp2为假,exp3计算得出结果是整个表达式结果。

 

逻辑操作符:&&,||,!

逻辑操作符提供判断功能,用于构建更复杂的表达式,主要有下面三个运算符。

!:逻辑取反运算符(改变单个表达式的真假)。

&&:逻辑与运算符,并且的意思(两侧同真则真,同假则假)。

||:逻辑或运算符,或者的意思(两侧有一个是真,就是真,否则为假)。

 

1.逻辑取反运算符!

 

 

2.逻辑与运算符&&

 

 

 

3.逻辑或运算符||

 

 

4.小练习:闰年的判断

 

 

5.短路 

 

 

 

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐