常見的運算子分類:
算術運算子:用於處理四則運算
賦值運算子:用於將表示式的值賦值給變數
比較運算子:用於表示式的比較,返回乙個真值或者假值
邏輯運算子:用於根據表示式的值返回真值或者假值
算術運算子按運算元個數可分為一元運算子(含乙個運算元)和二元運算子(含兩個運算元)。一元運算子的優先順序一般高於二元運算子
一元運算子:+(正號)、-(負號)、++(自增1)、–(自減1)
二元運算子:+(加號)、-(減號)、*(乘號)、/(取商)、%(取餘)
自增自減量運算子:++(增1)、–(減1)
兩種適用形式:
字首形式
:++a 為字首加形式的增 1 表示式,表示把變數 a 的值加 1 後的值作為該表示式的值,同時變數 a 本身的值加 1;–a 類似,表示把變數 a 的值減 1 後的值作為該表示式的值,同時變數 a 本身的值減 1。
int a =5;
++a--
----
----
----
--++a =
6, a =
6
字尾形式
:a++為字尾加形式的增 1 表示式,表示先直接把變數 a 原來的值作為該表示式的值,然後變數 a 本身的值加 1; a-- 類似,表示先直接把變數 a 原來的值作為該表示式的值,然後變數 a 本身的值減 1
int a =5;
a++--
----
----
--a++=5
, a =
6;
增1、減1運算子的***:
增1、減1運算子是具有***的運算子,即不僅能改變表示式的值,也改變了變數自身的值。使用時要慎重,尤其以下兩種情況,要避免使用。
一、當乙個變數多次出現在某表示式中時,建議不要將增 1 或減 1 運算子應用於該變數
二、多參函式呼叫時,如果乙個變數出現在多個實參中時,不要對該變數使用增 1 或減 1 運算子。不同編譯器可能得到不同結果,出現歧義性。
除法運算子(/):
當運算子 / 的運算元(被除數和除數)均為整數時,結果為取商(取整)。
16/5
==3
取餘運算子(%):當運算子 % 的運算元(被除數和除數)均為整數時,結果為取餘。
16%5
==1
在程式設計中,經常使用求商和求餘運算子分解整數的各位數字。例如,分解十進位制整數 123 的個位、十位和百位數字,可以有多種不同的分解方案,下面是其中一種方案。
int a =
123, b,c ,d;
b = a %10;
//個位
c =(a /10)
/%10//十位
d =(a/10)
/10//百位
「真」用數字「1」來表示, 「假」用數字「0」來表示。
運算子優先順序:
不需要專門記憶,也沒有必要。哪個優先順序高、哪個優先順序低我們很難記住。當時用到時查詢即可。
當乙個表示式**現多個運算子時,c語言會先比較各個運算子的優先順序,按照優先順序從高到低的順序依次執行;當遇到優先順序相同的運算子時,再根據結合性決定先執行哪個運算子:如果是左結合性就先執行左邊的運算子,如果是右結合性就先執行右邊的運算子。
自動型別轉換(隱式轉換):遵循一定的規則由編譯系統自動完成。
強制型別轉換:把表示式的運算結果強制轉換成所需的資料型別。
注意:
C語言運算子與表示式
運算子是一種向變異程式說明乙個特定的數學或邏輯運算的符號。主要有三大類 算術運算子 關係運算與邏輯運算子 按位運算子。除此之外,還有一些用於完成特殊任務的運算,如賦值運算子 條件運算子 逗號運算子等。c語言的運算子歸納如下 1 算術運算子 2 關係運算子 3 邏輯運算子 4 位運算子 按位與 運算子...
C語言 運算子與表示式
1.運算子 用於進行某種運算的符號 通過涉及到的數目分為單目運算子 i 雙目運算子 三目運算子 判斷 a b 在c語言中a b 是不等價與 b a 的,ru i i j 與 i j i c語言運算優先順序,單目運算子 算術運算子 關係運算子 邏輯運算子 條件運算子 賦值運算子 逗號運算子 1 算術運...
C 運算子與表示式
作用 用於處理四則運算 算術運算子包括以下符號 運算子術語示例結果 正號 33 負號 3 3 加 10 515 減10 55 乘10 550 除10 52 取模 取餘 10 31 前置遞增 a 2 b a a 3 b 3 後置遞增 a 2 b a a 3 b 2 前置遞減 a 2 b a a 1 b...