位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# 表达式 数学运算符

提问人:刘团圆发布时间:2020-11-12

有5个简单的数学运算符,其中两个(+和_)有二元和一元两种形式。表34列出了这些运算符,并用一个 简短示例来说明它们的用法,以及使用简单的数值类型(整数和浮点数)时它们的结果。

运算符

类 别

示例表达式

结果

+

二元

varl = var2 + var3;

varl的值是var2var3的和

-

二元

varl = var2 - var3;

varl的值是从var2减去var3所得的值

二元

varl = var2 * var3;

varl的值是var2var3的乘积

/

二元

varl = var2 / var3;

varlvar2除以var3所得的值

%

二元

varl = var2 % var3;

varlvar2除以var3所得的余数

+

—元

varl = +var2;

varl的值等于var2的值

-

一元

varl = -var2;

varl的值等于var2的值乘以-1

注意:

+(—元■算符有点古怪,因为_它对结果没有影响.:它不会把值变成正的:..如果var2是-1,别+\«12仍是-1. 但这是一个得到普遍认可的运算符,^■以也把它包含进来。这个运算符最有用的方面是,可以定制它妁樣作, 本书在后面探讨运算符的舍载时会外為它。

上面的示例都使用简单的数值类型,因为使用其他简单类型,结果可能不太清晰。例如把两个布尔值加在 —起,会得到什么结果?因此,如果对bool变量使用+(或其他数学运算符),编译器会报错。chai•变量的相加也 会有点让人摸不着头脑。记住,char变量实际上存储的是数字,所以把两个chai•变量加在一起也会得到一个数 字(其类型为int)。这是一个隐式转换示例,稍后将详细介绍这个主题和显式转换,因为它也可以应用到varl、 var2和var3是混合类型的情况。

二元运算符+在用于字符串类型变量时也是有意义的。此时,它的作用如表3-7所示。

运算符

类 别

示例表达式

结 果

+

二元

varl = var2 + var3;

varl的值是存储在var2var3中的两个字符串的连




接值

但其他数学运算符不能用于处理字符串。

这里应介绍的另两个运算符是递増和递减运算符,它们都是一元运算符,可通过两种方式来使用它们:放 在操作数的前面或后面。简单表达式的结果如表3-8所示。

运算符

示例表达式

结果

++

一元

varl = -H-var2;

varl 的值是 var2 + 1var2递増 1

一元

varl = - -var2;

varl 的值是 var2 - 1var2递减 1

++

*

varl = var2++;

varl的值是var2,var2递增1

一元

varl = var2——;

varl的值是var2,var2递减1

这些运算符会改变存储在操作数中的值。

•++总是使操作数加1

•--总是使操作数减1

varl中存储的结果有区别,其原因是运算符的位置决定了它什么时候发挥作用。把运算符放在操作数的前 面,则操作数是在进行任何其他计算前受到运算符的影响;而如果把运算符放在操作数的后面,则操作数是在 完成表达式的计算后受到运算符的影响。

再看一个示例。考虑以下代码:

int varl, var2 = 5, var3 = 6; varl = var2++ * ——var3;

要把什么值赋予varl?在计算表达式前,var3前面的运算符--会起作用,把它的值从6改为5。可以忽略 var2后面的++运算符,因为它是在计算完成后才发挥作用,所以varl的结果是5与5的乘积,即25。 许多情况下,这些简单的一元运算符使用起来非常方便,它们实际上是下述表达式的简写形式:

varl = varl +1;

这类表达式有许多用途,特别适于在循环中使用。


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部