流程控制 : 顺序结构 选择结构 循环结构
C语言中通过关系运算和逻辑运算构造选择判断的条件
关系运算 : > >= < <= == !=
逻辑运算符
&&(与) ||(或) !(非)
&& 和 || 是双目运算符 , !是单目运算符
a && b a和b都为真 ,则a && b 为真
a || b a和b有一个为真,则a || b为真
!a a为真,则!a为假
C语言编译系统在表示 逻辑运算结果时,以数值 1 代表“真”,以 0 代表“假”,但在判断一个量是否为“真”时,以 0 代表“假“,以非 0 代表“真”。即将一个非零的数值认作为“真”
&& 和 || 具有截断特性
例:
int a int b= 0
a =(b == 1) && b++ // b == 1为假 在此截断 不进行 b++的运算 最后输出 b 还是等于0
a =(b == 0) || b++ //b == 0 为真 在此截断 不进行b++的运算 最后输出b还是等于0
选择语句
if
1.if语句
形式1 处理单个情况 单分支
形式2 处理两种情况 双分支
形式3 处理多种情况 多分支
形式1
语法:
if(表达式)
{
语句
} 复合语句
语义
如果,表达式为真 ,则执行语句,语句执行完,表示if语句结束
表达式为假,表示if语句结束,程序继续往下
形式2
语法:
if(表达式)
{
语句1
}
else
{
语句2
}
语义:
如果表达式为真,则执行语句1,语句1执行完,表示if语句结束
表达式为假,则执行语句2,语句2执行完,表示if语句结束,程序继续往下
形式3
if(表达式1)
{
语句1
}
else if(表达式2)
{
语句2
}
else if。。。。。
{
}
else
语义:
如果表达式为真,则执行语句1,语句1执行完,表示if语句结束
表达式为假,则判断表达式2,表达式可能为真,可能为假
条件运算
表达式1 ? 表达式2 :表达式3
判断 表达式1 真则输出表达式2 假则输出表达式3
例:
int a = 1
a > 0 ? a++ : a-- // a>0为真 输出 a++
switch语句
switch
语法:
switch(表达式)
{
case常量表达式1
语句1;
case常量表达式2
语句2;
case常量表达式n
语句n;
default:
语句
}
语义
求解表达式
用表达式的结果
与下面case后的常量表达式的结果进行匹配
匹配成功则执行对应case下的语句
直至遇到break 或者switch的}
switch后的表达式必须是一个整型表达式
case后面是一个整型常量表达式