黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁考試吧論壇Exam8視線考試商城網絡課程模擬考試考友錄實用文檔求職招聘論文下載
2013中考
法律碩士
2013高考
MBA考試
2013考研
MPA考試
在職研
中科院
考研培訓 自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托福考試
托業考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務 員
導游考試
物 流 師
出版資格
單 證 員
報 關 員
外 銷 員
價格鑒證
網絡編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業培訓
社會工作者
銀行從業
教師資格
營養師
保險從業
普 通 話
證券從業
跟 單 員
秘書資格
電子商務
期貨考試
國際商務
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業水平
衛生資格 執業醫師 執業藥師 執業護士
會計從業資格
基金從業資格
統計從業資格
經濟師
精算師
統計師
會計職稱
法律顧問
ACCA考試
注冊會計師
資產評估師
審計師考試
高級會計師
注冊稅務師
國際內審師
理財規劃師
美國注冊會計師
一級建造師
安全工程師
設備監理師
公路監理師
公路造價師
二級建造師
招標師考試
物業管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質量工程師
巖土工程師
造價員考試
注冊計量師
環保工程師
化工工程師
咨詢工程師
結構工程師
城市規劃師
材料員考試
監理工程師
房地產估價
土地估價師
安全評價師
房地產經紀人
投資項目管理師
環境影響評價師
土地登記代理人
繽紛校園 實用文檔 英語學習 作文大全 求職招聘 論文下載 訪談|游戲
軟件水平考試
軟件水平考試資訊
軟件水平考試試題
軟件水平考試專項輔導
軟件水平考試交流互動
軟件水平考試交流互動
您現在的位置: 考試吧 > 軟件水平考試 > 復習資料 > 程序員資料 > 正文

2012年軟考程序員輔導:C語言預處理命令總結

  C程序的源代碼中可包括各種編譯指令,這些指令稱為預處理命令。雖然它們實際上不是C語言的一部分,但卻擴展了C程序設計的環境。本節將介紹如何應用預處理程序和注釋簡化程序開發過程,并提高程序的可讀性。ANSI標準定義的C語言預處理程序包括下列命令:#define,#error,#include,#if,#else,#elif,#endif,#ifdef,#ifndef,#undef,#line,#pragma等。非常明顯,所有預處理命令均以符號#開頭,下面分別加以介紹。

  一 、#define命令#define定義了一個標識符及一個串。在源程序中每次遇到該標識符時,均以定義的串代換它。ANSI標準將標識符定義為宏名,將替換過程稱為宏替換。命令的一般形式為:#define identifier string注意:

  1、該語句沒有分號。在標識符和串之間可以有任意個空格,串一旦開始,僅由一新行結束。

  2、宏名定義后,即可成為其它宏名定義中的一部分。

  3、宏替換僅僅是以文本串代替宏標識符,前提是宏標識符必須獨立的識別出來,否則不進行替換。例如:#define XYZ this is a tes使用宏printf(“XYZ”);//該段不打印“this is a test”而打印“XYZ”。因為預編譯器識別出的是“XYZ”

  4、如果串長于一行,可以在該行末尾用一反斜杠‘ \’續行。

  #defineLONG_STRING“this is a very long\ string that is used as an example”

  5、C語言程序普遍使用大寫字母定義標識符。

  6、用宏代換代替實在的函數的一大好處是宏替換增加了代碼的速度,因為不存在函數調用的開銷。但增加速度也有代價:由于重復編碼而增加了程序長度。

  二、 #error命令#error強迫編譯程序停止編譯,主要用于程序調試。

  #error指令使預處理器發出一條錯誤消息,該消息包含指令中的文本。這條指令的目的就是在程序崩潰之前能夠給出一定的信息。

  三、 #include命令#i nclude使編譯程序將另一源文件嵌入帶有#include的源文件,被讀入的源文件必須用雙引號或尖括號括起來。例如:#include“stdio.h”或者#include這兩行代碼均使用C編譯程序讀入并編譯用于處理磁盤文件庫的子程序。

  將文件嵌入#i nclude命令中的文件內是可行的,這種方式稱為嵌套的嵌入文件,嵌套層次依賴于具體實現。

  如果顯式路徑名為文件標識符的一部分,則僅在那些子目錄中搜索被嵌入文件。否則,如果文件名用雙引號括起來,則首先檢索當前工作目錄。如果未發現文件,則在命令行中說明的所有目錄中搜索。如果仍未發現文件,則搜索實現時定義的標準目錄。

  如果沒有顯式路徑名且文件名被尖括號括起來,則首先在編譯命令行中的目錄內檢索。如果文件沒找到,則檢索標準目錄,不檢索當前工作目錄。

  四 、條件編譯命令有幾個命令可對程序源代碼的各部分有選擇地進行編譯,該過程稱為條件編譯。商業軟件公司廣泛應用條件編譯來提供和維護某一程序的許多顧客版本。

  #if、#else,#elif及#endif #if的一般含義是如果#if后面的常量表達式為true,則編譯它與#endif之間的代碼,否則跳過這些代碼。命令#endif標識一個#if塊的結束。

  #if constant-expression statement sequence #endif Eg:#define MAX 91 #include using namespace std;int main()

  { #if MAX > 99 cout《“MAX is bigger than 99”《endl;#elif MAX > 90 cout《“MAX is bigger than 90”《endl;#else cout《“MAX is smaller than 90”《endl;#endif return 0;}跟在#if后面的表達式在編譯時求值,因此它必須僅含常量及已定義過的標識符,不可使用變量。表達式不許含有操作符sizeof(sizeof也是編譯時求值)。

  #else命令的功能有點象C語言中的else;#else建立另一選擇(在#if失敗的情況下)。注意,#else屬于#if塊。

  #elif命令意義與ELSE IF 相同,它形成一個if else-if階梯狀語句,可進行多種編譯選擇。#elif 后跟一個常量表達式。如果表達式為true,則編譯其后的代碼塊,不對其它#elif表達式進行測試。否則,順序測試下一塊。

  #if expression statement sequence #elif expression1 statement sequence #endif

  在嵌套的條件編譯中#endif、#else或#elif與最近#if或#elif匹配。

  # ifdef 和# ifndef

  條件編譯的另一種方法是用#ifdef與#ifndef命令,它們分別表示“如果有定義”及“如果無定義”。# ifdef的一般形式是:

  # ifdef macroname statement sequence #endif

  #ifdef與#ifndef可以用于#if、#else,#elif語句中,但必須與一個#endif.

  #define MAX 91 #include using namespace std;

  int main()

  { #ifdef MAX cout《“hello,MAX!”《endl;#else cout《“where is MAX?”《endl;#endif #ifndef LEO cout《“LEO is not defined”《endl;#endif return 0;}命令#undef 取消其后那個前面已定義過有宏名定義。一般形式為:#undef macroname命令#line改變__LINE__與__FILE__的內容,它們是在編譯程序中預先定義的標識符。命令的基本形式如下:#line number[“filename”]其中的數字為任何正整數,可選的文件名為任意有效文件標識符。行號為源程序中當前行號,文件名為源文件的名字。命令#line主要用于調試及其它特殊應用。注意:在#line后面的數字標識從下一行開始的數字標識。

1 2 3 下一頁
文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
主站蜘蛛池模板: 亚洲特一级毛片 | 手机日韩 | 久久99精品免费视频 | 伦理 在线| 亚洲国产成人精彩精品 | 日韩中文字幕在线观看视频 | 黄乱色伦短篇小说 | 亚洲色欲色欲综合网站 | 日韩福利片午夜在线观看资源 | 一区二区精品在线观看 | 免费成年人在线观看视频 | 亚洲国产最新在线一区二区 | 久久精品免费播放 | 日本高清不卡一区 | 国产h在线| 亚洲精品欧美精品日韩精品 | 狠狠的撞进去嗯啊h女强男视频 | 国产精品福利无圣光一区二区 | 中文字幕网址 | 欧美一级第一免费高清 | 免费国产成人高清在线看软件 | 日韩欧美一区二区三区视频 | 性色毛片免费视频 | 精品国产欧美一区二区最新 | 韩国 欧美 日产 国产精品 | 国产a v高清一区二区三区 | 美日韩中文字幕 | 天天色天天射天天操 | 三级网站视频 | 色www视频永久免费 骚片免费 | 日韩中文字幕网站 | 欧美一区二区三区不卡免费观看 | 激情开心成人网 | 蜜桃日本一道无卡不码高清 | 国产精品亚洲二区 | 国产精品综合久成人 | 国产欧美日韩精品a在线观看高清 | 99综合视频| 日韩中文字幕久久精品 | 在线视频永久在线视频 | 精品久久久久久中文字幕一区 |