华南俳烁实业有限公司

考試首頁(yè) | 考試用書(shū) | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
全國(guó)  |             |          |          |          |          |         
  當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > C語(yǔ)言程序設(shè)計(jì) > C語(yǔ)言輔導(dǎo) > 文章內(nèi)容
  

計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析:編譯預(yù)處理和動(dòng)態(tài)存儲(chǔ)分配

中華IT學(xué)院   【 】  [ 2017年9月7日 ]

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

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

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

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

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

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

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

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

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

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

  13.2“文件包含”處理

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

  #include″頭文件名″

  #include<頭文件名>

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

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

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

  13.3條件編譯

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

  使用格式1:

  #ifdef標(biāo)識(shí)符

  程序段1

  #else

  程序段2

  #endif

  使用格式2:

  #ifndef標(biāo)識(shí)符

  程序段1

  #else

  程序段2

  #endif

  使用格式3:

  #if表達(dá)式

  程序段1

  #else

  程序段2

  #endif

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

分享到:
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營(yíng)業(yè)執(zhí)照
金坛市| 东莞市| 枣强县| 新津县| 雅江县| 南充市| 三门峡市| 绵竹市| 射阳县| 开鲁县| 临高县| 孟州市| 南安市| 天气| 金溪县| 临洮县| 万年县| 黄龙县| 金湖县| 云浮市| 蓝田县| 鄂尔多斯市| 迁安市| 滕州市| 犍为县| 水富县| 两当县| 贡嘎县| 邹平县| 奉新县| 郓城县| 清丰县| 新余市| 漳州市| 永年县| 油尖旺区| 息烽县| 洪泽县| 礼泉县| 交口县| 常宁市|