程序 = 顺序 选择 循环
选择结构
选择? //从众多情况中选择一条
选择?
根据所指定的条件是否满足,决定从给定的两组操作选择其一。
给定 条件?
关系运算符
逻辑运算符
关系运算:
大小关系
> >=
< <=
== !=
优先级 结合性
1 > 2 //关系运算表达式
//结果?
//
1 > 0 //真 假
注意:
1.关系运算的结果,是一个逻辑值 (真 假)
2.C语言中中整型类型表示这个逻辑结果
0 表示假
1 表示真
逻辑运算:
&& 与
运算规则:
一假则假
短路特性(截断特性)
&& 规定,必须先算前面的式子
|| 或
运算规则:
一真则真
短路特性(截断特性)
|| 规定,必须先算前面的式子
! 非
运算规则:
真假相对
用逻辑运算符将 关系表达式 或逻辑量 连接起来的式子就是逻辑表达式。
a>1 && a<3
C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
整型 表示 真和假
1 真
0 假
c语言规定:
非0即为真
0为假
1 2 3 -1 'a'
0
NULL //都是假
'\0' //都是假
if 语句
//三种形式
单分支语句 //
语法:
......
if (表达式)
{
语句;
}
......
语义:
求解 表达式 ?
如果 表达式 为真
则执行 语句
如果 表达式 为假
则 if 语句结束
程序 继续执行 if 后面语句
注意:
if (表达式); //此处不能加分号
{
语句;
}
....
双分支 //选择 要么是a 要么是b
语法:
if (表达式)
{
语句1;
}else
{
语句2;
}
语义:
首先,求解 表达式
如果 表达式 为真
则执行 语句1
如果 表达式 为假 //else
则执行 语句2
if执行结束,程序继续往下执行代码
多分支 //
语法:
if (表达式1) //注: 不能有分号
{
语句1;
}else if (表达式2) //注: if不能丢了 ,也不能有分号
{
语句2;
}else ...
{
}
语义:
首先 求解 表达式1
如果 为真 执行 语句1
如果 为假 判断 表达式2
如果 为真 执行语句2
如果 为假 判断 表达式3
....
if 语句结束,程序继续往下执行