位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# 表達式 數(shù)學(xué)運算符

提問人:劉團圓發(fā)布時間:2020-11-12

有5個簡單的數(shù)學(xué)運算符,其中兩個(+和_)有二元和一元兩種形式。表34列出了這些運算符,并用一個 簡短示例來說明它們的用法,以及使用簡單的數(shù)值類型(整數(shù)和浮點數(shù))時它們的結(jié)果。

運算符

類 別

示例表達式

結(jié)果

+

二元

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所得的余數(shù)

+

—元

varl = +var2;

varl的值等于var2的值

-

一元

varl = -var2;

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

注意:

+(—元■算符有點古怪,因為_它對結(jié)果沒有影響.:它不會把值變成正的:..如果var2是-1,別+\?12仍是-1. 但這是一個得到普遍認可的運算符,^■以也把它包含進來。這個運算符最有用的方面是,可以定制它妁樣作, 本書在后面探討運算符的舍載時會外為它。

上面的示例都使用簡單的數(shù)值類型,因為使用其他簡單類型,結(jié)果可能不太清晰。例如把兩個布爾值加在 —起,會得到什么結(jié)果?因此,如果對bool變量使用+(或其他數(shù)學(xué)運算符),編譯器會報錯。chai?變量的相加也 會有點讓人摸不著頭腦。記住,char變量實際上存儲的是數(shù)字,所以把兩個chai?變量加在一起也會得到一個數(shù) 字(其類型為int)。這是一個隱式轉(zhuǎn)換示例,稍后將詳細介紹這個主題和顯式轉(zhuǎn)換,因為它也可以應(yīng)用到varl、 var2和var3是混合類型的情況。

二元運算符+在用于字符串類型變量時也是有意義的。此時,它的作用如表3-7所示。

運算符

類 別

示例表達式

結(jié) 果

+

二元

varl = var2 + var3;

varl的值是存儲在var2var3中的兩個字符串的連




接值

但其他數(shù)學(xué)運算符不能用于處理字符串。

這里應(yīng)介紹的另兩個運算符是遞増和遞減運算符,它們都是一元運算符,可通過兩種方式來使用它們:放 在操作數(shù)的前面或后面。簡單表達式的結(jié)果如表3-8所示。

運算符

示例表達式

結(jié)果

++

一元

varl = -H-var2;

varl 的值是 var2 + 1var2遞増 1

一元

varl = - -var2;

varl 的值是 var2 - 1,var2遞減 1

++

*

varl = var2++;

varl的值是var2,var2遞增1

一元

varl = var2——;

varl的值是var2,var2遞減1

這些運算符會改變存儲在操作數(shù)中的值。

?++總是使操作數(shù)加1

?--總是使操作數(shù)減1

varl中存儲的結(jié)果有區(qū)別,其原因是運算符的位置決定了它什么時候發(fā)揮作用。把運算符放在操作數(shù)的前 面,則操作數(shù)是在進行任何其他計算前受到運算符的影響;而如果把運算符放在操作數(shù)的后面,則操作數(shù)是在 完成表達式的計算后受到運算符的影響。

再看一個示例??紤]以下代碼:

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

要把什么值賦予varl?在計算表達式前,var3前面的運算符--會起作用,把它的值從6改為5。可以忽略 var2后面的++運算符,因為它是在計算完成后才發(fā)揮作用,所以varl的結(jié)果是5與5的乘積,即25。 許多情況下,這些簡單的一元運算符使用起來非常方便,它們實際上是下述表達式的簡寫形式:

varl = varl +1;

這類表達式有許多用途,特別適于在循環(huán)中使用。


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部