射精一区欧美专区|国产精品66xx|亚洲视频一区导航|日韩欧美人妻精品中文|超碰婷婷xxnx|日韩无码综合激情|特级黄片一区二区|四虎日韩成人A√|久久精品内谢片|亚洲成a人无码电影

您現(xiàn)在的位置:首頁 > IT認(rèn)證 > 計算機二級考試 >

計算機二級C語言編譯預(yù)處理和動態(tài)存儲分配考點歸納


第13章 編譯預(yù)處理和動態(tài)存儲分配考點歸納

  13.1 宏定義(不帶參數(shù)的宏定義,帶參數(shù)的宏定義)

  1.編譯預(yù)處理就是對C源程序進(jìn)行編譯前,由″編譯預(yù)處理程序″對預(yù)處理命令行進(jìn)行處理的過程。

  2.C語言中,凡是以″#″開頭的行,都稱為″編譯預(yù)處理″命令行。C語言中的編譯預(yù)處命令有:#define,#undef,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#line,#pragma,#error。這些預(yù)處理命令組成的預(yù)處理命令行必須在一行的開頭以″#″號開始,每行的未尾不得加″;″號,以區(qū)別于C語句、定義和說明語句。

  3.不帶參數(shù)的宏定義:命令的一般形式為:

  #define 標(biāo)識符 字符串

  定義中的″標(biāo)識符″為用戶定義的標(biāo)識符,稱為宏名。在預(yù)編譯時,C預(yù)編譯程序?qū)⒊霈F(xiàn)的宏名替換成″字符串″的內(nèi)容,這一過程也稱為宏展開。

  4.帶參數(shù)的宏定義:命令的一般形式為

  #define宏名(形式參數(shù)) 字符串

  定義中的″字符串″應(yīng)包含括號中所指定的形式參數(shù)。注意宏名與括號之間不要加空格,否則就成為不帶參數(shù)的宏定義了。

  5.預(yù)編譯時,遇到帶實參的宏名,則按命令行中指定的字符串從左到右進(jìn)行置換,原則是:遇到實參則以實參代替,非形參字符原樣保留,從而成展開后的內(nèi)容。

  13.2 “文件包含”處理

  1.文件包含的一般形式為:

  #include″頭文件名″

  #include<頭文件名>

  頭文件名一般由C語言提供,也可以是用戶自己編寫的,頭文件通常用.h作為后綴。

  2.當(dāng)頭文件名用雙引號括起來時,系統(tǒng)首先在使用此命令的文件所在的目錄中查找被包含的文件,找不到時,再按系統(tǒng)指定的標(biāo)準(zhǔn)方式檢索其它目錄;當(dāng)頭文件名用尖括號括起來時,則直接按系統(tǒng)指定的標(biāo)準(zhǔn)檢索方式查找被包含的文件。

  3.預(yù)編譯時,將被包含文件的內(nèi)容全部復(fù)制到包含文件中,這就是文件″包含處理″。

  13.3 條件編譯

  C語言中的條件編譯命令可對源程序代碼的各部分有選擇地進(jìn)行編譯。條件編譯主要有如下3種使用格式:

  使用格式1:

  #ifdef標(biāo)識符

  程序段1

  #else

  程序段2

  #endif

  使用格式2:

  #ifndef標(biāo)識符

  程序段1

  #else

  程序段2

  #endif

  使用格式3:

  #if表達(dá)式

  程序段1

  #else

  程序段2

  #endif

  使用格式1表示如果已定義了“標(biāo)識符”,則編譯“程序段1”,否則編譯“程序段2”;使用格式2表示如沒有定義了“標(biāo)識符”,則編譯“程序段1”,否則編譯“程序段2”;使用格式3表示如“表達(dá)式”的值為“真”時,則編譯“程序段1”,否則編譯“程序段2”。

相關(guān)文章

無相關(guān)信息
更新時間2022-03-13 11:03:57【至頂部↑】
聯(lián)系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網(wǎng)站糾錯二維碼手機版

客服電話: