1. C语言选择结构程序设计精要
1.1 关系运算符与表达式深度解析
在C语言中,关系运算符是构建程序逻辑判断的基础工具。它们包括:小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)和不等于(!=)。这些运算符的运算结果只有两种可能:1(真)或0(假)。
运算符优先级是初学者容易混淆的重点:
- <、<=、>、>=属于第6级优先级
- ==、!=属于第7级优先级
- 同级运算符采用从左到右的结合顺序
特别注意:初学者常犯的错误是将赋值运算符(=)与等于运算符(==)混淆。例如
if(a=5)会将5赋值给a,而if(a==5)才是判断a是否等于5。
让我们通过几个典型例子加深理解:
c复制4>5 // 结果为0(假)
5==5 // 结果为1(真)
7=7 // 非法表达式,赋值运算符左侧必须是变量
5>4>3 // 结果为0,因为先计算5>4得1,再计算1>3得0
1.2 逻辑运算符的实战应用
逻辑运算符包括逻辑与(&&)、逻辑或(||)和逻辑非(!)。它们的优先级如下:
- !(逻辑非)是单目运算符,优先级为2级
- &&(逻辑与)优先级为11级
- ||(逻辑或)优先级为12级
逻辑运算规则:
- &&:全真为真(1),有假为假(0)
- ||:有真为真(1),全假为假(0)
- !:真变假(0),假变真(1)
实际编程中常见的表达式示例:
c复制a++>5 // 先比较a>5,再执行a++
++a>5 // 先执行a++,再比较a>5
5||5 // 结果为1(非零即为真)
4<3 && 9 // 结果为0(4<3为假,短路特性不再计算右侧)
0&&7 // 结果为0(左侧为假直接返回0)
5>4>3&&3 // 结果为0(5>4得1,1>3得0)
1.3 if语句的三种形式与嵌套技巧
if语句是选择结构的核心,有三种基本形式:
形式1:单分支结构
c复制if(表达式) {
语句序列1; // if子句
}
后继语句; // 无论条件是否成立都会执行
形式2:双分支结构
c复制if(表达式) {
语句序列1;
} else {
语句序列2;
