在这篇博客中,我们将深入探讨C语言中的一些基础但非常重要的概念,包括关系运算符、条件操作符、逻辑操作符、switch语句以及循环语句。掌握这些概念对于编写高效和有效的C程序至关重要。
### 【关系运算符】
在C语言中,关系运算符用于比较两个表达式的值,基于比较结果返回0(假)或1(真)。有6大关系运算符:
1. `==` 等于
2. `!=` 不等于
3. `>` 大于
4. `<` 小于
5. `>=` 大于等于
6. `<=` 小于等于
### 区分‘=’和‘==’
- `=` 是赋值运算符,用于将右侧表达式的值赋给左侧的变量。
- `==` 是等于运算符,用于比较两个表达式的值是否相等。
当一个变量和一个常量比较相等时,要确保使用的是`==`而不是`=`。
### 【条件操作符】
三目运算符(也称为条件操作符)的形式为:`条件表达式 ? 表达式1 : 表达式2`。如果条件表达式为真(非0),则结果为表达式1的值,否则为表达式2的值。
### 【逻辑操作符】
C语言中有三大逻辑运算符:
1. `&&` 逻辑与
2. `||` 逻辑或
3. `!` 逻辑非
### 短路现象
- `&&` 若第一个操作数为假,则不计算第二个操作数。
- `||` 若第一个操作数为真,则不计算第二个操作数。
### 【switch语句】
switch语句是一个多分支选择结构,可用于代替多个if-else结构。
```c
switch(expression) {
case constant1:
// statements
break;
case constant2:
// statements
break;
default:
// default statements
}
```
- switch后的表达式类型通常是整型或字符型。
- case后面值的类型必须与switch表达式的类型一致。
- default子句是可选的,用于处理未匹配到任何case的情况。
- switch的执行顺序是从匹配的case开始,直到遇到break或结束。
### 【循环语句】
C语言提供了三种循环结构:while、for和do-while。
- **while与if的区别**:while用于重复执行语句块,直到给定的条件为假;if仅在条件为真时执行一次语句块。
- **while的执行流程**:先判断条件,为真则执行循环体,之后再次判断条件。
- **逆序打印一个正整数**:可以通过取余和除以10的方法,每次打印最后一位数字。
- **for循环**:`for(初始化; 条件; 更新)`,先初始化,判断条件,执行循环体,最后更新条件。
- **do-while与while的区别**:do-while至少执行一次循环体,然后判断条件。
- **执行多个语句**:用花括号`{}`将多个语句组合成一个块。
- **break与continue的区别**:break用于立即退出循环;continue用于跳过当前循环的剩余部分,直接进行下一次循环条件的判断。
- **break和continue在if和switch中的应用**:在switch中可以使用break来终止case;continue主要用于循环中。
- **break和continue在循环中的使用**:在while、for、do-while循环中都可以使用break和continue,但作用和行为相同。
通过掌握这些基础概念,你将能够更好地理解C语言的程序结构,从而编写出更高效、更稳定的代码。