通过之前的学习我们了解到C语言是结构化的程序设计语言(世间万物发展的结构我们都可拆分归纳为选择,顺序,循环),C语言结构有顺序结构、选择结构、循环结构。我们可以用if语句、switch语句实现选择结构,用for语句,while语句,do while语句实现循环结构。
一、if语句
1、if
if的条件语句如下图:
表达式成立(为真)则语句执行。表达式不成(为假)立则语句不执行。
在C语言中,0表示为假,非0表示为真,即表达式结构为0则语句不执行,非0则语句执行。
if实例:
判读一个数是否为奇数
当输入为奇数时,(num%!=0)成立,故执行语句,输出 “ num为奇数 ”
2、else
如果是偶数我们要怎莫输出 “ 为偶数 ”呢,这时会使用到else,一般else是与if搭配使用,构成if..... else .....语句,语句形式如下:
上个例子如果是偶数我们就可以输出为偶数:
3、分支中包含多条语句
默认情况下if和else都只能控制一条语句;如果想让if执行多条语句怎莫办?那我们就要用{ }将代码括起来,else也可以。
4、嵌套if
在else if语句中,else可以与另一个if连用,构成多重判断。
例子:判断一个数是正数还是负数,如果是正数判断其是奇数还是偶数;
5、悬空else问题
如果有多个if和else,可以记住这样一条规则:else总是跟最近的if匹配。
有人会问:不应该输出haha吗?
这就是悬空else问题,如果有多个if和else,else总与最近if匹配。else是和第二个if匹配,所以如果第一个if语句中表达式为假,后面语句就不会执行。
二、关系操作符
C语言用于比较的表达式,称为关系表达式,里面使用的运算符就称为关系运算符,有:
>大于运算符 <小于运算符 >=大于等于运算符
<=小于等于运算符 ==相等运算符 !=不相等运算符
注意:
1、相等运算符==和赋值运算符=是两个不一样的运算符。
2、多个关系操作符不宜连用。
如果想验证表达式:i < j < k ;
( i < j ) < k连续使用两个小于运算符。这是合法表达式,并不会报错,但通常不会得到想要的表达式。关系运算符是从左到右进行运算,(i < j)运行为真值为1,第二层是1与k进行比较大小。
如果想要判断 i < j < k写法为:i < j && j < k;
三、条件操作符
条件操作符也叫三目操作符;需要三个表达式,形式如下:
条件操作符运算逻辑:如果exp1表达式为真,则exp2计算,计算结果为整个表达式的结果;
exp1为假,则exp3计算,计算结果为表达式结果;
例:用三目操作符寻找两个数中最大值