STC单片机C语言运算符与表达式:计算与逻辑判断的基础,轻松掌握
发布时间: 2024-07-09 01:37:39 阅读量: 92 订阅数: 34
![STC单片机C语言运算符与表达式:计算与逻辑判断的基础,轻松掌握](https://img-blog.csdnimg.cn/b387a202bb3749769e490deca5164e24.png)
# 1. STC单片机C语言概述
STC单片机C语言是一种基于C语言的高级编程语言,专门针对STC系列单片机而设计。它继承了C语言的强大功能,同时针对单片机的特点进行了优化,使其能够充分发挥单片机的性能。
STC单片机C语言具有以下特点:
- **紧凑高效:**代码体积小,执行效率高,非常适合资源受限的单片机环境。
- **可移植性强:**遵循C语言标准,可以轻松移植到其他支持C语言的平台。
- **功能丰富:**提供了丰富的库函数和宏定义,简化了单片机开发。
# 2. STC单片机C语言运算符
### 2.1 算术运算符
算术运算符用于对数值进行算术运算,包括加法(+)、减法(-)、乘法(*)、除法(/)和求余(%)。
```c
int a = 10, b = 5;
int sum = a + b; // sum = 15
int diff = a - b; // diff = 5
int prod = a * b; // prod = 50
int quot = a / b; // quot = 2
int rem = a % b; // rem = 0
```
### 2.2 逻辑运算符
逻辑运算符用于对布尔值进行逻辑运算,包括与(&)、或(|)、非(!)和异或(^)。
```c
int a = 1, b = 0;
int and = a & b; // and = 0
int or = a | b; // or = 1
int not = !a; // not = 0
int xor = a ^ b; // xor = 1
```
### 2.3 关系运算符
关系运算符用于比较两个值的大小或相等性,包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。
```c
int a = 10, b = 5;
int equal = (a == b); // equal = 0
int not_equal = (a != b); // not_equal = 1
int greater = (a > b); // greater = 1
int less = (a < b); // less = 0
int greater_equal = (a >= b); // greater_equal = 1
int less_equal = (a <= b); // less_equal = 0
```
### 2.4 位运算符
位运算符用于对二进制位进行操作,包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)和左移(<<)和右移(>>)。
```c
int a = 0b1101, b = 0b1011;
int and = a & b; // and = 0b1001
int or = a | b; // or = 0b1111
int xor = a ^ b; // xor = 0b0110
int not = ~a; // not = 0b0010
int left_shift = a << 1; // left_shift = 0b11010
int right_shift = a >> 1; // right_shift = 0b0110
```
### 2.5 赋值运算符
赋值运算符用于将一个值赋给一个变量,包括简单赋值(=)、加法赋值(+=)、减法赋值(-=)、乘法赋值(*=)、除法赋值(/=)和取余赋值(%=)。
```c
int a = 10;
a += 5; // a = 15
a -= 3; // a = 12
a *= 2; // a = 24
a /= 4; // a = 6
a %= 3; // a = 0
```
# 3. STC单片机C语言表达式
### 3.1 表达式的组成和求值顺序
表达式是C语言中用来计算值或执行操作的语句。表达式由操作数和运算符组成,操作数可以是常量、变量、函数调用或其他表达式。运算符指定要对操作数执行的操作。
C语言表达式求值顺序遵循以下规则:
- 括号内的表达式优先求值。
- 乘法、除法、求余运算符优先级高于加法、减法运算符。
- 赋值运算符优先级最低。
### 3.2 算术表达式
算术表达式用于执行算术运算,包括加法、减法、乘法、除法和求余。算术运算符如下:
| 运算符 | 含义 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 求余 |
**示例:**
```c
int x = 10;
int y = 5;
// 计算 x + y
int sum = x + y; // sum = 15
// 计算 x - y
int diff = x - y; // diff = 5
// 计算 x * y
int product = x * y; // product = 50
// 计算 x / y
int quotient = x / y; // quotient = 2
// 计算 x % y
int remainder = x % y; // remainder = 0
```
### 3.3 逻辑表达式
逻辑表达式用于执行逻辑运算,包括与运算、或运算、非运算。逻辑运算符如下:
| 运算符 | 含义 |
|---|---|
| && | 与运算 |
| || | 或运算 |
| ! | 非运算 |
**示例:**
```c
i
```
0
0