顺序结构
分支结构
循环结构
分支 -- 选择
有条件 可以判断
构造条件
关系运算
> >= < <= == !=
1>2 //有值 --- 值? --真1 假0 ---逻辑结果 --布尔值 (bool)
// false
// true
//
总结:
1.关系运算的结果 只有 0 或 1 ,这个结果 用int型来存储的
逻辑运算
&& 规则: 一假则假
|| 规则: 一真则真
! 规则: 真假相对
逻辑运算 实际是 表示 表达式之间的关系
表达式1 && 表达式2
result = 1>2 && a++
result = ((1>2) && (a++))
( 0 && 10 )
( 0 && 1 ) //0
a = 11
注意:
&& 截断特性(短路特性) //逻辑运算中-优先算左边的表达式
|| 也有截断特性
5.2 C 语言中如何表示"真"和"假"?
1-真
0-假
系统如何判断一个量的"真"和"假"?
非0 即为真
2 //真
-1 //真
'a' //真
0 为假
条件运算符:
?:
表达式1? 表达式2: 表达式3
运算:
if-else 逻辑一样的
求解表达式1 ?
判断该结果 是 真 还是 假
真,就执行 表达式2
假,就执行 表达式3
if 语句
//形式1
语法:
...
if (表达式)
{
语句
} //复合语句
...
语义:
如果 表达式 为真
则 执行 if 下的 语句 ,语句执行完后,继续执行if后的代码
如果 表达式 为假
则 跳过 if 下的 语句,执行if语句后面的代码
注意:
1.if 后面 没有 分号
//形式2 --双分支
...
if ( 表达式)
{
语句1
}
else
{
语句2
}
....
语义:
判断 表达式?
真
执行语句1
假
执行语句2
执行完后,继续if后面的代码执行
//形式3
if( 表达式1)
语句1
else if( 表达式2)
语句2
else if( 表达式3)
语句3
else if( 表达式m)
语句m
else
语句n
语义:
判断 表达式1
真
执行 语句1
语句1 执行完成就表示if执行完了,程序继续往后
假
判断表达式2
真
执行 语句2
语句2 执行完成就表示if执行完了,程序继续往后
假
判断表达式3
真
执行 语句3
语句3 执行完成就表示if执行完了,程序继续往后
假
....
注意:
每个判断的if后面不要写分号
switch 语句
语法格式:
switch (整型表达式)
{
case 常量表达式1:
语句1
break;
case 常量表达式2:
语句2
break;
case 常量表达式D:
语句n
break;
default :
语句n+l
break;
}//右花括号
语义:
首先,求解"表达式"
根据表达式的结果 ,
到下面case后依次进行匹配,
如果与case 后的常量表达式的值一致,
则匹配成功,
执行该case下面的"语句"
直到遇到了 break
或 switch 的右花括号 }
注意:
1.switch后 "表达式" ---结果不能是 浮点型
2.case 后面 是常量表达式,不能出现变量
3.default 写错 没有语法问题,但是达不到程序效果