C語言練習總結

2021-06-08 23:29:01 字數 1753 閱讀 6027

第1章 預處理、巨集定義

使用巨集的注意事項:

1.巨集表示式要加括號,包括變數括號,表示式括號,避免隱藏的錯誤。

如:#define max(a,b) ((a)>(b)?(a):(b))

2.巨集裡面不要帶返回語句,如 return;

3.使用巨集提高源程式的可維護性、工作效率等,但要使用得當。

第2章 資料型別、資料結構

1.搞清聯合體和結構體的區別,以及在記憶體空間上的占用情況。

2.搞清堆疊、佇列、順序儲存結構和邏輯儲存結構的概念和區別等。

3.陣列、指標、指標陣列、陣列指標的區別。

4.二維陣列的定義等。

第3章:變數、運算

1.多重迴圈中把迴圈次數多的放內層,迴圈次數少的放外層。

2.在for/while等迴圈中,注意迴圈條件的截止,避免死迴圈出現。

3.變數定義後要初始化,避免對未初始化的變數進行操作導致的錯誤。

4.全域性變數和區域性變數變數名不要一致,如果變數名一致在區域性函式中操作的是區域性變數。

5.在for/while等迴圈中,對陣列操作,注意閾值的取值,避免陣列越界的情況。

6. sizeof對字串的計算,如char ah = "\\\0w\0";  sizeof(ah)=5。

7. sizeof對結構體計算,如struct bbb*p;(假設struct bbb共24個位元組) p=0x100000; p+0x1=0x100018;(unsigned long)p + 0x1=0x100001;(unsigned long *)p+0x1=0x100004;(char *)p=0x100001;

8.區域性變數占用空間不能太大,否則堆疊空間將不足。

9.函式入參要注意檢查有效性,特別是指標。

10.scanf輸入除了字串外,其他變數注意都要取位址符&。

第4章:陣列、字串、指標、引用

1.函式傳入的形參如果是指標要記得做指標的有效性判斷。

2.注意記憶體洩露的情況,函式異常退出時務必記得打掃戰場。

3.字元陣列,注意區別:存入0,即結束符'\0';存入'0',是字元'0'。

4.搞清指針對陣列的操作,陣列的特殊之處:利用取位址符取位址永遠是首位址,無限迴圈。

第5章:位元組序、位元組對齊

1.大端模式(big-endian):字資料的高位元組儲存在低位址中,低位元組存放在高位址中;小端模式(littile-endian):字資料的低位元組儲存在低位址中,高位元組存放在高位址中。

2.網路位元組序預設是大字節序!intel的x86 cpu用的是小端位元組序,ibm 的 powerpc 用的是大端位元組序。

3.大端模式和小端模式,對低位的操作(修改、替換),百考不厭,細節很重要。

4.搞清結構體中元素的排列、多少位元組對齊對結構體占用空間的影響。

1位元組對齊:short、long不用符合偶位元組或4位元組對齊。

2位元組對齊:short要符合偶位元組對齊,long要符合4位元組對齊。

4位元組對齊:short要符合偶位元組對齊,long要符合4位元組對齊。

5.注意union和struct的字眼,計算占用空間大小時區別很大!

6.sizeof對union和struct的計算,都是按char位元組為單位計算!

7.注意指標陣列的占空空間計算,如下:

uchar *pucchararray[10][10];

sizeof(pucchararray) = 400

C語言練習

練習1 include stdlib.h include iostream.h include stdio.h void main cout 輸入檔案1的資料內容 以 結束 while ch stu n void input char a a用於接收要寫入資料的檔名 inti file fp if ...

c語言練習

經常練練,有易於身心健康,避免出沒遇到熊。1 請編寫函式fun,對長度為7個字元的字串,除首 尾字元外,將其餘5個字元按ascii碼降序排列。例如,若原來的字串為ceaedca,則排序後輸出為cedceaa。注意 部分源程式給出如下。請勿改動主函式main和其他函式中的任何內容,僅在函式fun的花括...

C語言練習

輸出7 和7 的倍數,還有包含7 的數字例如 17,27,37,70,71,72,73,2.需求分析 輸出7 和7 的倍數,還有包含7 的數字,從小到大排列的不大於n 的與7 有關的數字,每行乙個 1 輸入的形式和輸入值的範圍 輸入乙個整型資料,輸入值範圍n 30000 2 輸出的形式 每行輸出乙個...