C語言 運算子

2021-10-04 14:44:00 字數 2388 閱讀 7450

『+』 『-』 『*』 『/』 『%』

/

如果使用兩個整數進行除法運算,結果為整數。如果使用浮點數運算,結果為小數。

5/3=1

5.0/3.0=1.666667(保留六位小數)

%

取餘只能使用整數進行運算不能使用浮點數

5%3=2

5.0%3.0出錯

單目運算子與雙目運算子

我們將進行運算的數稱為操作物件。

1 + 2 左右兩邊都有運算元的運算子叫做雙目運算子。

正負號只有乙個運算元叫做單目運算子。

表示式用運算子和括號將運算元連線起來的式子,我們稱之為表示式。

運算子的優先順序和結合性

注1:優先順序相同的運算子,運算次序由結合性決定。

比如 3 * 4 / 5 % 6,其中乘號、除號和求餘運算子在同一優先順序,結合性是「左到右」,因此先計算 3 * 4,再計算 / 5,最後計算 % 6

再如 -i++,符號和自增運算子在同一優先順序,結合性是「右到左」,因此 -i++ 相當於 -(i++)

注2:* 目運算子是指運算元的個數,比如單目運算子只有乙個運算元,雙目運算子有兩個運算元,而三目運算子則有三個運算元。

注3:通過使用小括號可以提公升表示式的優先順序至最高。

比如 (1 + 2) * (3 - 4),其中加號、減號運算子的優先順序本身是要低於乘號運算子的,但由於使用了小括號,且結合性均是「左到右」,所以先計算 (1 + 2),再計算 (3 - 4),最後才將前兩者的結果相乘。

由上面的例子可以看出,資料型別不同進行計算會出現錯誤,要是想要輸出結果為自己想要的資料型別就要進行資料型別轉換。

注意,高精度向低精度的轉換會損失精度。

浮點型1.8強制轉換為整型就會丟失精度0.8變成1。

使用關係運算子來比較兩個數的大小關係

優先順序高:

< 小於

<= 小於等於

> 大於

>= 大於等於

優先順序低:

== 等於

!= 不等於

關係表示式

用關係表示式將兩邊的變數、資料或表示式連線起來,稱之為關係表示式。

關係表示式只會返回兩個邏輯值 0或1 (假或真)

#include

#include

#include

intmain()

! 非 取反

&& 與 同真為真 其中乙個為假結果為假

|| 或 其中乙個為真結果為真,同假為假

邏輯表示式

用邏輯運算子將兩邊的變數、資料或表示式連線起來,稱為邏輯表示式:

3>1&&1<2 為真

3+1||2==0 為真 任何非0的數都為真

C語言 運算子與 運算子

我們平時使用帶參巨集時,字串中的巨集引數是沒有被替換的。例如 輸出結果為 然而,我們期望輸出的結果是 5 20 2513 14 27 這該怎麼做呢?其實,c語言允許在字串中包含巨集引數。在類函式巨集 帶參巨集 中,號作為乙個預處理運算子,可以把記號轉換成字串。例如,如果a是乙個巨集形參,那麼 a就是...

C語言 運算子和 運算子

變數 代表 取變數的位址 變數 代表 指標型的變數 取址運算子 用來取得其運算元的位址。如果運算元 x 的型別為 t,則表示式 x 的型別是 t 型別指標 指向 t 的指標 取址運算子的運算元必須是在記憶體中可定址到的位址。換句話說,該運算子只能用於函式或物件 例如左值 而不可以用於位欄位,以及那些...

C語言運算子

1級優先順序左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 字尾增量運算子 字尾增量運算子 2級優先順序右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首增量運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 sizeof 長度運算子 3級優先順序左結合 ...