C 程式設計自學之運算子和表示式

2022-09-26 07:09:10 字數 3171 閱讀 8670

我們了解完c#資料型別與變數之後,還會遇到變數之間的運算,例如計算兩個數的和等等運算。那麼,c#中都有那些常用的運算子呢?那麼,往下看吧!

一、算數運算子

1.基本算數運算子

說到算數運算子,我們首先就應該可以想到我們數學中一些常用的運算子例如:加 減 乘 除 求餘!

那麼在c# 這些運算子都是如何表示的呢?

知道c#基本運算子的表示之後我們該如何去使用呢?那麼我們來看段**來看下什麼是表示式。

int a = 10; //定義乙個整形變數a 值為10

int b = 20; //定義乙個整形變數b 值為20

//定義乙個變數c 值為變數 a+b

int c = a + b; //一組運算子所表述的**段簡稱運算子

//定義乙個變數c1 值為變數 a1-b1

int c1 = a - b;

//定義乙個變數c2 值為變數 a2*b2

int c2 = a * b;

//定義乙個變數c3 值為變數 a3/b3

int c3 = a / b;

//定義乙個變數c4 值為變數 a4%b4

int c4 = a % b;

console.writeline("a + b = ",c);

console.writeline("a - b = ", c1);

console.writeline("a * b = ", c2);

console.writeline("a / b = ", c3);

console.writeline("a % b = ", c4);

上段**我們主要闡述了兩個知識點,乙個是基本運算子加法的使用以及什麼是表示式。那麼我們來分析一下。

我們來看第五行**來看c#中運用基本算數運算子非常簡單,跟我們數學上計算加法一樣,首先看(a + b)等同於(10 + 20)計算完成後將計算結果賦給等號左邊的變數,這樣就完成了乙個基本的算數加法運算,那麼進行乙個加法運算的**描述的**組合,我們就可以看做是c#中的表示式。

分析完乙個那麼後面的大家一定都可以推出來了吧?那麼我們來看看執行的結果吧!

結果是否在你的預料之中呢?

2.自增運算子與自減運算子

了解完基本運算子之後我們在來看一種很有用的運算子:自增運算付與自減運算子!

那麼自增符號與自減運算子是什麼意思呢? 廢話不多說,看**:

int a = 1;

a++; // a = a + 1

int b = a;

a--; // 程式設計客棧a = a - 1

int c = a;

console.writeline("a++ : ", b);

console.writeline("a-- 程式設計客棧: ", c);

好的那麼我們在分析一下:

首先來看第二行a++;自增符號++等於本身加1, 那麼a = 1 ,執行a++後(a 自身加1),a自身的值為2

那麼在來看第四行a--;自薦符號--等於本身減1,那麼a此時已經等於2,執行a--後(a自身減1),a自身的值為1

分析完之後還是讓結果來驗證答案吧!

二、賦值運算子

看完基本的算數運算子我們在來看一下什麼是賦值運算子,其實在上邊的例子中我們已經使用了賦值運算子,那什麼是賦值運算子,對了就是為變數賦值的符號,也就是我們上邊例子中的等號。

那麼賦值運算子就只有ygmikgrkos等號乙個嗎?答案錯,c#還為我們提供了一些方便我們簡化表示式的複製運算子,如下表:

那麼這些等號都代表什麼意思呢?其實很簡答,來看一段**跟上邊例子坐下比較我們會發現,這些賦值運算子就是幫我們簡化了表示式而已。

int a = 10;

a = a + 10; //將a 的值賦予 a(10) +程式設計客棧 10

//運算完成後a = 20

console.writeline(" a=a+10; a=",a);

a = 10; //在將a還原回10

a += 10; //等同於 a = a + 10; 將a 的值賦予 a(10) + 10

//運算完成後a還是等於 20

console.writeline(" a+= 10; a=", a);

還是來分析一下:

1到4行大家一定都可以看明白,那麼直接看地7行,你想對了,其實 a+=10 等同與 a=a+10 只是這個運算子簡化了表示式。 那麼還是用事實來證明吧!

三、運算子優先順序以及括號的運用

說完運算子與表達我們來看看運算子之間的優先順序,什麼是優先順序?  其實優先順序就是當我們表示式**現多個運算子時,應該先執行哪個運算子,就好比數學中的先乘除後加減,那麼c#中也不例外也是先乘除後加減。關於更多的優先順序我不打算在這裡介紹,因為我們完全可以使用括號來提示表示式的優先順序()。對運算子優先順序感興趣可以參考c#相關書籍。那麼還是用乙個例子來描述下c#中加減乘除的優先順序吧!

int a = 10 * 2 - 10 / 2 + 3;//那麼根據先乘除後加減的原則我們得到的結果應該是 18

console.writeline("10 * 2 - 10 / 2 + 3 結果為:", a);

那麼還是來分析一下,根據先乘除後加減的法則我們來看:

首先計算10 * 2  結果是20

在計算 10 / 2 結果是5

那麼這個時候 表示式程式設計 20 - 5 + 3 ,這裡要注意 加和減屬於同一級別運算子所以哪個在前面先運算

這個時候執行 20 - 5 結果是 15

在執行 15 + 3 結果為18 繼續用事實來證明我的分析。

那麼好,這個時候我要是想讓10 * 3 在讓2 + 3 在去讓10除怎麼辦? 不知道?**告訴你:

int a = 10 * 3 - 10 / (2 + 3);//這個時候()中的運算子優先順序最高所以先執行括號中的表示式

cons程式設計客棧ole.writeline("10 * 3 - 10 / (2 + 3) 結果為:", a);

繼續來分析一下,根據括號優先順序最高的法則我們來看:

首先執行(2 + 3) 結果是 5

在執行 10 * 3  結果為 30

此時表示式為 30 - 10 / 5 除號優先順序高 先運算除法 表示式為 30 - 2

那麼結果為28  看真相吧!

提示:了解運算子優先順序也很重要,不過有了括號大部分情況下我們可以自己控制優先順序,所以靈活合理的運用括號可以省去運算子優先順序帶來的複雜性。

本文標題: c#程式設計自學之運算子和表示式

本文位址:

C 運算子和表示式

歡迎購買我的專欄 1.高階c 學習 2.網路 c 提供了許多運算子。其中許多都受到內建型別的支援,可用於對這些型別的值執行基本操作。c 中有算術運算子 比較運算子 布林邏輯運算子 位運算子和移位運算子 相等運算子 在下面的 中,表示式的示例位於賦值的右側 int a,b,c a 7 b a c b ...

C 運算子表示式

1 表示式概念 2 數 算符 3 運算子結果型別判定 4 賦值運算子 5 運算子優先順序 括號 乘除餘模 加減 6 布林運算子 7 運算子練習 using system namespace 運算子表示式 減 乘 除 餘 plus,less,multiply,except,remain int型別和d...

運算子和表示式

運算子 1.算術運算子 定義 int i 2 1 i i 是在 使用完畢之後 2 i i 是在 之後使用 3 i i 是 3 3 是形成運算子的 4 函式是從右邊開始傳參,其中,為結束標誌 例子1 func i i i i,i 6,5,4,i,2 i最後是 7 6 5 4 7 2 例子2 i i i...