Menu
CoddyTech

运算符优先级

本课属于 Coddy C# 学习旅程的“逻辑与流程”单元。第 38 课,共 66 课。

运算符优先级决定了表达式中运算符的求值顺序。理解优先级对于编写正确的逻辑表达式至关重要。

看这个例子:

int result = 5 + 3 * 2;

result 的值是多少?是 11,不是 16,因为乘法的优先级高于加法。

以下是简化后的优先级顺序(从高到低):

  1. 括号 ()
  2. 乘法/除法 * / %
  3. 加法/减法 + -
  1. 比较运算符 < > <= >=
  2. 相等运算符 == !=
  1. 逻辑与 &&
  2. 逻辑或 ||
  3. 赋值运算符 = += -= 等

来看看这如何应用:

bool result = 5 > 3 && 10 < 20 || 7 == 8;

首先,先计算比较结果:5 > 3 是 true,10 < 20 是 true,7 == 8 是 false。
然后计算逻辑与:true && true 是 true。
最后计算逻辑或:true || false 是 true。

所以结果是 true。

使用括号让你的代码更清晰:

bool result = (5 > 3 && 10 < 20) || (7 == 8);
challenge icon

挑战

简单

创建一个名为 EvaluateExpression 的方法,它接收三个整数(a、b、c)并返回一个布尔值。

你的方法应返回以下表达式的结果:
a > b || a == c && b < c

然后,创建另一个名为 EvaluateWithParentheses 的方法,用于计算:
(a > b || a == c) && b < c

你的程序应从控制台读取三个整数,并在不同的行上打印两种计算的结果。

亲手试试

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // 在这里编写你的代码
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // 在这里编写你的代码
    }
    
    static void Main(string[] args)
    {
        Console.WriteLine("Enter three integers:");
        int a = int.Parse(Console.ReadLine());
        int b = int.Parse(Console.ReadLine());
        int c = int.Parse(Console.ReadLine());
        
        // 调用你的方法并输出结果
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: C# 在线编译器