C# - 算术运算符

C# 中的算术运算符是什么?

C# 算术运算符用于执行数值数据类型之间的数学运算,例如加、减、乘、除和模。这些运算符是二元运算符,需要两个操作数才能执行运算。

C# 算术运算符列表

下表列出了 C# 支持的所有算术运算符。假设变量 A 为 10,变量 B 为 20,则 −

运算符 符号 说明 示例
加法 + 将两个操作数相加 A + B = 30
减法 - 从第一个操作数中减去第二个操作数 A - B = -10
乘法 * 将两个操作数相乘 A * B = 200
除法 / 分子除以分母 B / A = 2
模数 % 模运算符和整数除法后的余数 B % A = 0
增量运算符 ++ 增量运算符将整数值加一 A++ = 11
减量运算符 -- 减量运算符将整数值减一 A-- = 9

算术运算符示例

以下示例演示了 C# 中所有可用的算术运算符 -

using System;

namespace OperatorsAppl {
   class Program { 
      static void Main(string[] args) { 
         int a = 21;
         int b = 10;
         int c;

         c = a + b;
         Console.WriteLine("Line 1 - Value of c is {0}", c);
         
         c = a - b;
         Console.WriteLine("Line 2 - Value of c is {0}", c);
         
         c = a * b;
         Console.WriteLine("Line 3 - Value of c is {0}", c);
         
         c = a / b;
         Console.WriteLine("Line 4 - Value of c is {0}", c);
         
         c = a % b;
         Console.WriteLine("Line 5 - Value of c is {0}", c);
         
         c = a++;
         Console.WriteLine("Line 6 - Value of c is {0}", c);
         
         c = a--;
         Console.WriteLine("Line 7 - Value of c is {0}", c);
         Console.ReadLine();
      }
   }
}

当编译并执行上述代码时,它会产生以下结果 -

Line 1 - Value of c is 31
Line 2 - Value of c is 11
Line 3 - Value of c is 210
Line 4 - Value of c is 2
Line 5 - Value of c is 1
Line 6 - Value of c is 21
Line 7 - Value of c is 22

更多算术运算符示例

示例 1:基本算术运算

在此示例中,我们执行基本算术运算,例如加法、减法、乘法、除法和模数。

using System;

class Program
{
    static void Main()
    {
        int a = 10, b = 3;

        Console.WriteLine("Addition: " + (a + b));      
        Console.WriteLine("Subtraction: " + (a - b));    
        Console.WriteLine("Multiplication: " + (a * b)); 
        Console.WriteLine("Division: " + (a / b));       
        Console.WriteLine("Modulus: " + (a % b));        
    }
}

在此示例中,我们正在检查是否下雨以决定是否应该出门。

Addition: 13
Subtraction: 7
Multiplication: 30
Division: 3
Modulus: 1

示例 2:整数除法与浮点除法

在此示例中,我们将比较整数除法和浮点除法,以了解它们之间的区别。

using System;

class Program
{
    static void Main()
    {
        int a = 7, b = 2;
        double c = 7, d = 2;

        Console.WriteLine("整数除法: " + (a / b));
        Console.WriteLine("浮点除法: " + (c / d));
    }
}

在此示例中,我们检查是否下雨,以决定是否应该外出。

整数除法:3
浮点除法:3.5

用例

以下是 C# 中算术运算符的实际用例:

示例 3:计算圆的面积

在此示例中,我们使用公式 r 计算圆的面积。

using System;

class Program
{
    static void Main()
    {
        const double Pi = 3.14159;
        double radius = 5.5;
        double area = Pi * radius * radius;

        Console.WriteLine("圆形面积: " + area);
    }
}

在本例中,我们检查是否下雨,以决定是否应该外出。

圆形面积:95.0330975

示例 4:温度转换(摄氏度到华氏度)

在本例中,我们将温度值从摄氏度转换为华氏度。

using System;

class Program
{
    static void Main()
    {
        double celsius = 30;
        double fahrenheit = (celsius * 9 / 5) + 32;

        Console.WriteLine("Temperature in Fahrenheit: " + fahrenheit);
    }
}

在此示例中,我们检查天气是否下雨,以决定是否应该外出。

温度(华氏度):86

示例 5:计算每月贷款还款额

在此示例中,我们使用标准贷款还款公式计算每月贷款还款额。

using System;

class Program
{
    static void Main()
    {
        double principal = 10000; // Loan amount
        double rate = 5.5 / 100 / 12; // Monthly interest rate
        int months = 60; // Loan term

        double monthlyPayment = (principal * rate) / (1 - Math.Pow(1 + rate, -months));

        Console.WriteLine("每月贷款还款额: " + monthlyPayment);
    }
}

在此示例中,我们检查是否下雨,以决定是否应该外出。

每月贷款还款额:190.34

最佳实践

以下是进行数值计算时的最佳实践。

  • 对于精度要求高的计算(例如金融和工程),应使用 doubledecimal 类型。
  • 执行除法之前,必须检查是否被零除。
  • 对于复杂计算,应使用 Math.PowMath.Sqrt 等数学函数。
  • 对于固定值(例如 Pi = 3.14159),应使用 const 类型。

常见问题问题

问题 1:在 C# 中,如果除以零会发生什么?

  • 如果您使用的是 int,则会引发 DivideByZeroException
  • 如果您使用的是 double,它只会返回 Infinity

问题 2:/% 之间有什么区别?

  • / 给出除法的结果(例如,10 / 3 给出 3)。
  • % 计算余数(例如,10 % 3 计算结果为 1)。

问题 3:我可以将数学函数与算术运算符一起使用吗?

可以!您可以使用:

  • Math.Sqrt(x) 计算平方根。
  • Math.Pow(a, b) 计算指数。
  • Math.Abs​​(x) 计算绝对值。