引言:在生活中 我们会面临很多选择 而我们就会根据自身条件做出适合自己的选择 在c语言中 也有相应语句来让我们写出能够根据判断条件来选择执行相应语句的代码
1. if语句
1.1 if
上图为if语句的基本结构 在c语言中 0表示假 非0表示真 而if语句会根据右边的表达式来判断真假 如果为真 则执行if所包含的语句
注:如果没有大括号{} 那if则只包含下面的一条语句 如果想要if中执行多条语句则应使用大括号包含想要执行的语句
上图为判断你是否为天才的代码 如果你的智商超过140 则输出“Genius”
1.2 else
else是跟if一起使用的语句 就如同对立事件 不是A 就是B
上图为if else 的使用方法 即如果if的表达式为假 则执行else所包含的语句 简单来说:不走if 就走else
上图为判断所输入的数是奇数还是偶数的代码 如果输入的数为奇数 则执行if语句 如果为偶数 则执行else语句
1.3 if的嵌套
在写代码的过程中 如果我们需要多次判断 则可以多次使用if else语句
上图为if else 嵌套在if语句中的例子 程序会先判断输入的数是否为正数 如果是则进入if语句再次判断该数是奇数还是偶数 如果不是正数 则进入else语句输出“非正数”
上图为if else 语句嵌套在else中的例子 程序先判断输入的数是否为0 如果是则执行if语句 如果不为0则执行else语句并再次判断是正数还是负数 上图可能不太明显 修改一下如下图应该更加明显
注:上图划红框的语句为一条语句即if else 为一条语句所以不用加大括号
注:else 只跟最近的if形成if else 结构 如下图
虽然else 与最上面的if对齐 但这其实是一个陷阱 else只与最近的if联动 所以上面的代码其实是if中嵌套了一个if else 语句
2.关系操作符
上图是一些常用的操作符 这些操作符用于判断if的表达式是真是假
如上图 该代码意思是如果x等于3 则判断为真 则执行if 语句 如果x不等于3 则判断为假 则不执行if语句
注:==的作用是判断左右两边是否相等 而=的作用是赋值 就是把右边的数赋给左边 刚写代码时很容易弄混
3.条件操作符
条件操作符是c语言中唯一的三目操作符 意思就是需要使用三个数据 使用逻辑如上图
上图为条件操作符的使用例子 条件操作符可以简化代码是代码更加简洁
4.逻辑操作符:&& || !
上图为逻辑取反运算符的使用方法
注:在c语言中a≤b≤c这样的式子是不存在的 所以我们要用逻辑与运算符来改写表达式为b≥a&&b≤c 这样的式子才是正确的
4.1短路
在运用逻辑运算符是 c语言规定 总是从左至右依次计算 但如果左边的表达式已经满足逻辑运算符的条件 则不会再对右边所有的表达式求值 这种情况就称之为:短路
如上图 如果month≥3不满足为假 则按照逻辑与操作符的规则 总表达式一定为假 则不需要再判断右边的式子是否为真 这就是短路现象