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)计算绝对值。

