c语言是结构化程序语言
因为c语言支持这三种结构
顺序结构
选择结构
选择语句(分子语句)if /switch:可以实现选择结构
循环结构
循环语句while /for /do while:可以实现循环结构
if语句
if(表达式)
语句(有且只有一条语句时候可以不使用大括号)
这是if语句的表达式,也可以
if(表达式)
{
语句
语句
}
如果这个表达式结果为真,语句就要执行;表达式为假的话,语句则不被执行。
c语言中的真和假
真:非0
假:0
写个代码实验一下
if语句中还有else
else语句
它的表达格式跟if语句一样
不过它不能单独出现,一般和if语句配套出现
以及else有就近原则,会配合它最近的if执行
图例
这是执行多条语句的表达格式,if 语句中,要执行两条及两条以上的语句需要一个{}包裹起来
而{}里的语句也叫做程序块或复合语句
嵌套if
在if else语句中,else可以与另一个if语句连用,构成多重判断
表达成else if
图例
还有一种嵌套方式
关系操作符
c语言用与比较的方式,称为”关系表达式“,里面使用的运算符号称为 “关系运算符”,主要有以下6个:
> :大于运算符
<: 小于运算符
>=: 大于等于运算符
<=:小于等于运算符
==:相等运算符
!=:不想等运算符
关系表达式通常返回0或1,表示真假。
例
多个关系操作符不宜连用
c确实大于b大于a,可为什么输出的确实是mix呢
c>b>a
因为在c语言中这个比较关系是,由c与b比较完的结果再去与a比较:(c>b)>a
不能像数学一样,c比b,c比a
如实现数学一样的逻辑关系呢,则要加上&&(并且)这个符号
c>b&&b>a
逻辑操作符:&&(并且),||(或者),!(逻辑)
!:逻辑取反运算符(改变单个表达式真假)。
&&:与运算符,就是并且的意思(两侧表达式为真,才为真,否则为假)
||:或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)
逻辑取反运算符
在if语句中,i是真,应该正常输出1。当i前面加了!就要取反变成0