1、容易出錯的運算子
(1)++i/- -i 先加減,在賦值
i++/i– 先賦值,在加減
(2)表示式a && 表示式b (若a為假,則不計算b)
表示式a || 表示式b (若a為真,則不計算b)
(3)按位& 相同位數的兩個數都為1,則為1。若有乙個為0,則為0。
按位 | 相同位數中有乙個為1,則為1。否則為0。
異或^ 相同位上不一樣為1,一樣為0
(4)<< 左移幾位,右邊加幾個0
(5)/ % 不能對0進行運算,%運算元必須為整數右移補符號位,右移相當於除法 (5 = 11/2^1)1011>>1 變成了0101
注意:表示分數1/2 4/9時,應寫成1.0/2 4.0/9
2、進製轉換
(1)%d 十進位制輸出
%0 八進位制輸出
%0x 十六進製制輸出
(2)計算方法
16進製制轉2進製:把16進製制中的每一位轉化為2進製,每個數分4位,不足4位者在前面補0
eg: 0x 7 1 5 4 4
0111 0001 0101 0100 0100 二進位制數串連起來就是結果
2進製轉化為16進製制:16進製制中的0~15,用2進製數表示為:0000~1111,即4位2進製數為乙個16進製制數
eg: 0011 1101
3 d 3d即是00111101的16進製制轉化
2進製轉8進製:把2進製數3位一截,對應轉換,然後結果相連,原理同上
8進製轉化2進製:把8進製中的每一位分別轉化為2進製,每個數分3位,不足補0,同上
3、do whlie和whlie的區別
do(…) while(0)的用法及好處
(1)、輔助定義複雜的巨集,避免引用時出錯
(2)、避免空巨集引起的warning
核心中由於不同架構的限制,很多時候會用到空巨集,在編譯的時候,空巨集會給出warning,為了避免這樣的warning
4、陣列名取位址+1的用法
(1)、在定義陣列的同乙個函式中,陣列名表示整個陣列
(2)、求陣列長度
sizeof(arr)/sizeof(arr[0])
5、變數的生存週期
C語言複習總結篇(二)
1 棧stack 棧是允許在同一端進行插入和刪除操作的特殊線性表。允許進行插入和刪除操作的一端稱為棧頂 top 另一端為棧底 bottom 棧底固定,而棧頂浮動 向低位址擴充套件的資料結構,是一塊連續的記憶體區域 棧中元素個數為零時稱為空棧。插入一般稱為進棧 push 刪除則稱為退棧 pop 棧也稱...
C語言複習總結(2)
c語言的理解。在複習過程中,我發現經過乙個暑假以後,很多語法的細節都記得模糊不清。並且,在我複習函式的時候,發現自己經常容易搞錯格式。值得強調的是在寫迴圈程式時,一定要弄清楚迴圈的條件。並且,對每乙個知識點,都應該立即編出對應的程式,有時可能還會有語法錯誤,碰到更好的方法也可以試一下,很多時候你想想...
C總結複習(一)
一.識別符號和關鍵字 識別符號由字母數字下劃線組成,標記常量,變數,函式和陣列等。規則 1.第乙個字元不能是數字 2.最長31字元 3.不能包含空格 4.不能用關鍵字。注意 大小寫有區別 32個關鍵字 二.資料型別 擴充套件 沒有bool,string要string.h,字串常量 整形 短整形,整形...