黑馬程式設計師 C語言之預處理命令

2021-06-22 16:11:26 字數 1676 閱讀 1485

----------------------

asp.net+unity開發、

.net培訓、期待與您交流! ----------------------

1.所有的預處理指令都是以#開頭

2.預處理指令分3種

1> 巨集定義

2> 條件編譯

3> 檔案包含

3.預處理指令在**翻譯成0和1之前執行

4.預處理的位置是隨便寫的

5.預處理指令的作用域:從編寫指令的那一行開始,一直到檔案結尾,可以用#undef取消巨集定義的作用

6.巨集名一般用大寫或者以k開頭,變數名一般用小寫

首先是巨集定義,巨集定義就是在程式編譯前給乙個變數設定乙個固定的值。還有一種就是帶引數的巨集定義,類似於函式,不過他的效率比函式要高的多。

#include //#define kcount 4

int main()

;

for ( int i = 0; i#define sum(v1, v2) ((v1)+(v2))

#define pingfang(a) ((a)*(a))

int main()

不過需要注意的是帶引數的巨集定義他的功能只是替換這個帶引數的巨集,但是他不會計算,所以這點很容易引起錯誤。

下面是條件編譯

其實條件編譯的意思就是如果滿足設定的條件那麼就編譯這段**,如果不滿足就不編譯。

只要寫了#if,在最後面必須加上#endif

#if後面就跟上條件,#endif就是編譯結束的位置

#include //#define a 5

int main()

else if (a == 5)

else

*//*

#if (a == 10)

printf("a是10\n");

#elif (a == 5)

printf("a是5\n");

#else

printf("a其他值\n");

#endif

*/return 0;

}

最後乙個就是檔案包含

1.<>表示系統自帶的檔案,""表示自定義的檔案

2.不允許迴圈包含,比如a.h包含b.h,b.h又包含a.h

比如include就是包含了系統檔案stdio.h這個檔案,是因為我們會使用到printf輸入和輸出函式。

那麼如果我們自定義標頭檔案,以及函式,就可以用這種檔案包含的方法來呼叫自定義標頭檔案中的函式。

#include "lisi.h"

#include "wangwu.h"

#include int main()

#ifndef lisi_h

#define lisi_h

int sum(int a, int b);

#endif

int sum(int a, int b)

----------------------

asp.net+unity開發、

.net培訓、期待與您交流! ----------------------

黑馬程式設計師 12 C語言之預處理指令

1 所有的預處理指令都是以 開頭,且結尾沒有分號 2 預處理指令在 翻譯成0和 1之前執行 3 預處理指令可以出現在程式的任何位置,它的作用範圍是從它出現的位置到檔案尾。習慣上我們盡可能將預處理指令寫在源程式開頭,這種情況下,它的作用範圍就是整個源程式檔案4 c語言提供的預處理指令主要有 巨集定義 ...

黑馬程式設計師 C語言預處理指令

asp.net unity開發 net培訓 期待與您交流!1.預處理指令,預處理指令分3種 1.1 巨集定義 1.2 條件編譯 1.3 檔案包含 2.預處理指令不會被編譯,它只會在程式被編譯之前給替換掉 2.1 不帶引數的巨集 define pi 3 一般巨集定義都是全部大寫 int a pi 在程...

黑馬程式設計師 C語言之迴圈結構

asp.net unity開發 net培訓 期待與您交流!今天看的是c語言的迴圈結構,c語言中乙個很重要的部分也就是迴圈結構。他分為幾個部分,乙個是for迴圈,while迴圈,do while迴圈。下面就乙個乙個講解下迴圈結構。for迴圈 for 語句1 條件 語句2 語句1 初始化語句 語句2 增...