C語言大總結

jhcconan614發表於2016-12-29

基本語法:關鍵字、資料型別

C語言的關鍵字有很多,有ANSI標準定義的關鍵字有32個,分別是:

auto 區域性變數(自動儲存)
break無條件退出程式最內層迴圈
case switch語句中選擇項
char單位元組整型資料
const定義不可更改的常量值
continue中斷本次迴圈,並轉向下一次迴圈
default switch語句中的預設選擇項
do 用於構成do…..while迴圈語句
double定義雙精度浮點型資料
else構成if…..else選擇程式結構
enum列舉
extern在其它程式模組中說明了全域性變數
float定義單精度浮點型資料
for構成for迴圈語句
goto構成goto轉移結構
if構成if….else選擇結構
int基本整型資料
long長整型資料
registerCPU內部寄存的變數
return用於返回函式的返回值
short短整型資料
signed有符號數
sizoef計算表示式或資料型別的佔用位元組數
static定義靜態變數
struct定義結構型別資料
switch構成switch選擇結構
typedef重新定義資料型別
union聯合型別資料
unsigned定義無符號資料
void定義無型別資料
volatile該變數在程式中執行中可被隱含地改變
while用於構成do…while或while迴圈結構

基本語句:迴圈、選擇語句

說到迴圈,我們會想到for、while等,不過這兩個有什麼聯絡與區別呢?
以前,我是不太在意這些內容的,因為學的內容簡單,一個小小的函式,用兩個都能實現,所以就沒太注意,不過隨著知識面的增加,這個就成了必須掌握的內容了。
當迴圈次數知道的時候,我們可以使用for迴圈,這樣可以更加清晰的表現出迴圈的執行過程。
例如:

for(i=0;i<n;i++)
{……}

這裡的n是已知數,迴圈n次的時候,迴圈結束。
當迴圈次數不知道的時候可以使用while

while(i<n)
{}

當迴圈滿足的時候可以一直執行迴圈體,不知道總共執行了幾次。
不過,一般情況下,可以使用for迴圈的都可以使用while,不過,為了讓迴圈結構更加清晰還是for好。

陣列:概念、多維陣列、strlen、sizeof、楊氏矩陣

關於陣列所需掌握的很多,陣列的初始化,陣列作為函式引數,以及陣列指標和指標陣列的區別等,這些以前都總結過,這裡只給出一個連結:
http://blog.csdn.net/jhcconan614/article/details/53034383

至於多維陣列,那麼可以當成一維陣列來看,這樣簡單而且,多維陣列的儲存方式,也是按照一維陣列的方式來的。
例如二維陣列傳參會退化成一維陣列,這個一維陣列中的每一個元素都是一個一維陣列。

strlen和sizeof的區別:
http://blog.csdn.net/jhcconan614/article/details/53538339

二維陣列中有一個很奇妙的矩陣,就是楊氏矩陣,這個矩陣有一個特點,就是無論從上到下還是從左到右都是遞增的,這種情況用來查詢某個數最好了,牛客上好像就有關於楊氏矩陣查詢的題目:
http://blog.csdn.net/jhcconan614/article/details/53325676

函式:宣告、定義、棧幀、庫函式

函式的宣告和定義:
函式宣告表示有這麼個函式了,函式定義就是具體實現了。
舉個例子:
函式宣告:
int fun(int a, int b);

函式定義:

int  fun(int a,int b)
{ 
     int  c;
     c=a+b;
     return c; 
}

棧幀:用邏輯上講,棧幀就是一個函式執行的環境:函式引數、函式的區域性變數、函式執行完後返回到哪裡等等。
http://blog.csdn.net/jhcconan614/article/details/53206081

庫函式:模擬實現strcpy //strncpy //strcat //strncat //strcmp //strncmp //memcpy //memmove
http://blog.csdn.net/jhcconan614/article/details/53244320

指標總結:

http://blog.csdn.net/jhcconan614/article/details/53230905

預處理:巨集定義替換,巨集函式,條件編譯

http://blog.csdn.net/jhcconan614/article/details/53011071

結構體總結:

http://blog.csdn.net/jhcconan614/article/details/53444634

記憶體管理:malloc……棧、堆

http://blog.csdn.net/jhcconan614/article/details/53517479

相關文章