IOS开发学习记录第5天之C语言学习
(一)、
(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)、三目運算符及其求值方法
?
轉載于:https://www.cnblogs.com/studyrecord/p/4639916.html
總結
以上是生活随笔為你收集整理的IOS开发学习记录第5天之C语言学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDOJ 5373 The shorte
- 下一篇: C# indexof和indexofan