標籤:
(一)、
(1)、運算子的概念及分類
運算子是告訴編譯器執行特定算術或邏輯操作的符號。
按照功能劃分:算術運算子、關係運算子與邏輯運算子、按位元運算符。
運算子根據參與運算的運算元的個數為:
單目運算子、雙目運算、三目運算
單目運算:只有一個運算元 如:i++ ! sizeof
雙目運算:有兩個運算元 比如:a+b;
三目預算:C語言中唯一的一個,也稱為問號運算式 a > b ? 1 : 0 //判斷a是否大於b 如果是,值就
為1 否則就為0
運算子的優先順序及結合性:
C語言中各種運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子
的結合性是自左至右,即先左後右。如有運算式 x - y+z ,那麼這個式子我們應該先算x-y的值,然後再算+z的值。
而右結合性如:y=z ,即我們常見到的賦值運算子。
優先順序:C語言中,運算的運算優先順序共分為15級。1級最高,15級最低。在表達中,優先順序較高的優先順序較低的
進行運算。而在一個運算量兩側的運算子,則按運算子的結合性所規定的結合方向處理。
(2)、算術運算子的介紹和使用
(3)、求餘運算子的使用及注意事項
a%b 比如:10%3=1 這裡餘1
注意:求餘的雙方不能為小數
正負取決於a的值,和b沒有關係 (a%b)
(4)、算術運算中類型轉換問題
類型轉換分為:隱式資料類型轉換和顯示資料類型轉換
例如:int a=10; float f=3.1f; int sum=a+b; 那麼像這種我們就稱之為隱式轉換,最後的結果
為13.1 。因為是系統自己幫我們處理的
例如:int a=10; float f=3.2f int sum=(int)(a+f); 這裡我們先算括弧裡a+f的值,算完之後
再強轉為int那麼最後的結果就是13
(5)、運算式和賦值運算子
將同類型的資料(如常量、變數、函數等),用運算子號按一定的規則串連起來的、有意義的式子稱為運算式
例如:算術運算式、邏輯運算式、字元運算式等。
運算式可以是常量也可以是變數或算式,在運算式中又可分為:算術運算式、邏輯運算式和字元表串運算式
運算式的特點:
運算式是一個意義的式子,所以一定有傳回值。
賦值運算子記為"=",由"="串連的式子稱為賦值運算式。
賦值運算式的功能是:計算運算式的值再賦予左邊的變數。
賦值運算子具有右結合性,因此a=b=c=5 可理解為a=(b=(c=5)) 就是首先將5的值賦值給變數c,然後再把
c的值賦值
給b,最後把b的值賦值給a;
其一般形式為:變數=運算式;
運算式的分類:
算術運算式、關聯運算式、邏輯運算式
運算式語句:運算式後面加上分號,構成運算式語句。
(6)、複合賦值運算子
在賦值符"="之前加上其他二目運算子可構成符合賦值符。
/= 除後賦值 變數/=運算式 如:a/3;即a=a/3;
*= 乘後賦值 變數*=運算式 如:a*3;即a=a*3;
%= 模數後賦值 變數%=運算式 如:a%3;即a=a%3;
+= 加後賦值 變數+=運算式 如:a+3;即a=a+3;
-= 減後賦值 變數-=運算式 如:a-=3;即a=a-3;
(7)、自增自減運算子
自增操作或者自減操作是從右向左結合的算術運算子,++和--分別叫自增運算子和自減運算子
例如:++a,--a;(首碼運算式);其中a表示變數名,分別代表先完成變數的自增自減1運算,再用a的值
作為運算式的值。即"先變後用",也就是變數的值先變,再用變數的值參與運算。
例如:a++,a--; (尾碼運算式);先用a的當前值作為運算式的值,再進行自增自減1運算。即"先用後變",
也就是變數的值先參與運算,變數的值再進行自增自減變化。
a++或者++a都是運算式,運算式是有傳回值
運算式的值和變數的值不是一回事
++a或者a++運算式的值就是變數a的值
(8)、sizeof運算子
(9)、逗號運算子應用及使用注意
(10)、關係運算子優先順序和結合性
(11)、邏輯運算子優先順序和結合性及短路問題
(12)、三目運算子及其求值方法
IOS開發學習記錄第5天之C語言學習