C語言程序組成
由1個或多個.c和.h文件組成
.c文件組成:
1.預處理命令 以#開頭的行都屬於預處理命令
1.1 文件包含命令 #include開頭的
作用:把後面的文件包含進來
#include <> 搜索的路徑在標準路徑下 /usr/include /usr/local/include
#include "" 先搜索路徑在當前目錄 然後去搜索標準庫目錄
ex.在print.h寫一個函數,在print.c中調用
1.2宏定義
#define N 10
#define MAX(a,b) (a)>(b)?(a):(b)
#define POW(a) a*a //printf("%d\n",POW(b+2)); ————》(b+2*b+2)
#define POW(a) (a)*(a)//printf("%d\n",POW(b+2)); ————》((b+2)*(b+2))
1.3條件編譯
a)如果DEBUG爲1 則執行從if到endif之間的語句
#if DEBUb G
#endif
b)如果定義DEBUG了就執行從ifdef到endif之間的語句
#ifdef DEBUG
#endif
c)如果沒有定義DEBUG了就執行從ifdef到endif之間的語句(防止頭文件被重複包含)
#ifndef DEBUG
#endif
gcc ***.c:從一個.c到一個可執行文件有哪些過程?
1.預處理
2.編譯
3.彙編
4.鏈接
2.全局聲明
1.全局變量的聲明:在函數以外定義的變量,(自定義到文件內有效)
2.函數聲明 函數頭void func();
void func()
{
printf("%d",a);
printf("%d\n",b);
}
3.類型聲明
typedef 類型 名字 //關於typedef的用法總結 - Bigcoder - 博客園 http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html
3.函數
1.完成某個特定功能的指令序列的集合
2.函數的定義
函數返回值類型 函數名(參數列表)
{
聲明部分;
執行語句;
return;
}
參數列表;(數據類型1 參數1,數據類型2 參數2,數據類型3 參數3)
ex。寫一個函數實現2個數相加
函數的返回值(需要的結果):2個相加的結果
函數名(add):合法的標識符即可
參數列表(需要什麼):2個數a,b
3.函數調用
函數名(參數列表)
參數列表:與函數定義時類型一致的 變量、常量、表達式
(參數1,參數2,參數3)
ex.寫一個函數判斷輸入的字母是否爲大寫字母,在main中調用
語句組成:
1、控制語句
if/goto/for/while/do while()/switch
{}
2.調用語句 ;
3.表達式語句 ;a=3
4.空語句:只有一個;的語句
5.複合語句{}