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
最佳实践
以下是进行数值计算时的最佳实践。
- 对于精度要求高的计算(例如金融和工程),应使用 double 或 decimal 类型。
- 执行除法之前,必须检查是否被零除。
- 对于复杂计算,应使用 Math.Pow 和 Math.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)
计算绝对值。