005. 编写表达式并确定其值

示例 1:算术表达式

int result = (10 + 5) * 2 - 3 / 2;

计算过程:

  1. 括号优先:先计算括号内的表达式。10+5=15

  2. 乘法和除法优先:从左到右依次计算乘法和除法。15×2=30; 3/2=1(因为3和2都是整数,结果也是整数)

  3. 加法和减法:从左到右依次计算。30−1=29

最终结果:

result = 29;

示例 2:关系和逻辑表达式

int result = (5 > 3) && (10 < 20) || !(15 == 15);

计算过程:

  1. 关系运算符:先计算关系表达式的值。 5>3 → 1(真) 10<20 → 1(真) 15\==15 → 1(真)

  2. 逻辑非运算符:计算逻辑非表达式的值。 !(15\==15) → 0(假)

  3. 逻辑与运算符:计算逻辑与表达式的值。 (5>3) && (10<20) → 1(真)

  4. 逻辑或运算符:计算逻辑或表达式的值。 (1) || (0) → 1(真)

最终结果:

result = 1;

示例 3:复合赋值和算术表达式

int a = 10;
a += 5 * 2 - 3;

计算过程:

  1. 赋值运算符:先计算右边的表达式。 5×2=10 10−3=7 a+=7 → a=a+7

  2. 更新变量值: a=10+7=17

最终结果:

a = 17;

示例 4:位运算表达式

int result = (5 & 3) | (5 ^ 3);

计算过程:

  1. 位运算符:先计算位运算表达式的值。 5 的二进制表示为 0101 3 的二进制表示为 0011 5&3 → 0001 → 1 5 \^ 3 → 0110 → 6

  2. 位或运算符:计算位或表达式的值。 1∣6 → 0001∣0110 → 0111 → 7

最终结果:

result = 7;

示例 5:综合表达式

int result = (10 + 5) * 2 > 20 && (15 % 4 == 3);

计算过程:

  1. 括号优先:先计算括号内的表达式。 10+5=15

  2. 乘法: 15×2=30

  3. 关系运算符: 30>20 → 1(真) 15%4=3 → 1(真)

  4. 逻辑与运算符: (30>20) && (15%4\==3) → 1(真)

最终结果:

result = 1;

视频讲解

BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)