亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

解析C++編程中的#include和條件編譯

2020-05-23 14:15:14
字體:
供稿:網(wǎng)友

這篇文章主要介紹了解析C++編程中的#include和條件編譯,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

文件包含的作用

所謂“文件包含”處理是指一個(gè)源文件可以將另外一個(gè)源文件的全部?jī)?nèi)容包含進(jìn)來,即將另外的文件包含到本文件之中。C++提供了#include命令用來實(shí)現(xiàn)“文件包含”的操作。如在file1.cpp中有以下#include命令:

 

 
  1. #include ″file2.cpp″ 

它的作用見圖示意。

解析C++編程中的#include和條件編譯

“文件包含”命令是很有用的,它可以節(jié)省程序設(shè)計(jì)人員的重復(fù)勞動(dòng)。

#include命令的應(yīng)用很廣泛,絕大多數(shù)C++程序中都包括#include命令。現(xiàn)在,庫函數(shù)的開發(fā)者把這些信息寫在一個(gè)文件中,用戶只需將該文件“包含”進(jìn)來即可(如調(diào)用數(shù)學(xué)函數(shù)的,應(yīng)包含cmath文件—),這就大大簡(jiǎn)化了程序,寫一行#include命令的作用相當(dāng)于寫幾十行、幾百行甚至更多行的內(nèi)容。這種常用在文件頭部的被包含的文件稱為“標(biāo)題文件”或“頭部文件”。

頭文件一般包含以下幾類內(nèi)容:

對(duì)類型的聲明。

函數(shù)聲明。

內(nèi)置(inline)函數(shù)的定義。

宏定義。用#define定義的符號(hào)常量和用const聲明的常變量。

全局變量定義。

外部變量聲明。如entern int a;

還可以根據(jù)需要包含其他頭文件。

不同的頭文件包括以上不同的信息,提供給程序設(shè)計(jì)者使用,這樣,程序設(shè)計(jì)者不需自己重復(fù)書寫這些信息,只需用一行#include命令就把這些信息包含到本文件了,大大地提高了編程效率。由于有了#include命令,就把不同的文件組合在一起,形成一個(gè)文件。因此說,頭文件是源文件之間的接口。

include命令的兩種形式

在#include命令中,文件名除了可以用尖括號(hào)括起來以外,還可以用雙撇號(hào)括起來。#include命令的一般形式為:

#include <文件名>

#include ″文件名″

如:

#include

#include ″iostream″

都是合法的。二者的區(qū)別是: 用尖括號(hào)時(shí),系統(tǒng)到系統(tǒng)目錄中尋找要包含的文件,如果找不到,編譯系統(tǒng)就給出出錯(cuò)信息。

有時(shí)被包含的文件不一定在系統(tǒng)目錄中,這時(shí)應(yīng)該用雙撇號(hào)形式,在雙撇號(hào)中指出文件路徑和文件名。

如果在雙撇號(hào)中沒有給出絕對(duì)路徑,如#include ″file2.c″則默認(rèn)指用戶當(dāng)前目錄中的文件。系統(tǒng)先在用戶當(dāng)前目錄中尋找要包含的文件,若找不到,再按標(biāo)準(zhǔn)方式查找。如果程序中要包含的是用戶自己編寫的文件,宜用雙撇號(hào)形式。

對(duì)于系統(tǒng)提供的頭文件,既可以用尖括號(hào)形式,也可以用雙撇號(hào)形式,都能找到被包含的文件,但顯然用尖括號(hào)形式更直截了當(dāng),效率更高。

關(guān)于C++標(biāo)準(zhǔn)庫

在C++編譯系統(tǒng)中,提供了許多系統(tǒng)函數(shù)和宏定義,而對(duì)函數(shù)的聲明則分別存放在不同的頭文件中。如果要調(diào)用某一個(gè)函數(shù),就必須用#include命令將有關(guān)的頭文件包含進(jìn)來。C++的庫除了保留C的大部分系統(tǒng)函數(shù)和宏定義外,還增加了預(yù)定義的模板和類。但是不同C++庫的內(nèi)容不完全相同,由各C++編譯系統(tǒng)自行決定。不久前推出的C++標(biāo)準(zhǔn)將庫的建設(shè)也納入標(biāo)準(zhǔn),規(guī)范化了C++標(biāo)準(zhǔn)庫,以便使C++程序能夠在不同的C++平臺(tái)上工作,便于互相移植。新的C++標(biāo)準(zhǔn)庫中的頭文件一般不再包括后綴.h,例如:

 

 
  1. #include <string> 

但為了使大批已有的C程序能繼續(xù)使用,許多C++編譯系統(tǒng)保留了C的頭文件,即提供兩種不同的頭文件,由程序設(shè)計(jì)者選用。如:

 

 
  1. #include <iostream.h> //C形式的頭文件 
  2. #include <iostream> //C++形式的頭文件 

效果基本上是一樣的。建議盡量用符合C++標(biāo)準(zhǔn)的形式,即在包含C++頭文件時(shí)一般不用后綴。如果用戶自己編寫頭文件,可以用.h為后綴。

C++條件編譯#ifdef #else

一般情況下,在進(jìn)行編譯時(shí)對(duì)源程序中的每一行都要編譯。但是有時(shí)希望程序中某一部分內(nèi)容只在滿足一定條件時(shí)才進(jìn)行編譯,也就是指定對(duì)程序中的一部分內(nèi)容進(jìn)行編譯的條件。如果不滿足這個(gè)條件,就不編譯這部分內(nèi)容。這就是“條件編譯”。

有時(shí),希望當(dāng)滿足某條件時(shí)對(duì)一組語句進(jìn)行編譯,而當(dāng)條件不滿足時(shí)則編譯另一組語句。

條件編譯命令常用的有以下形式:

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

程序段1

#else

程序段2

#endif

它的作用是當(dāng)所指定的標(biāo)識(shí)符已經(jīng)被#define命令定義過,則在程序編譯階段只編譯程序段1,否則編譯程序段2。#endif用來限定#ifdef命令的范圍。其中#else部分也可以沒有。

2) #if 表達(dá)式

程序段1

#else

程序段2

#endif

它的作用是當(dāng)指定的表達(dá)式值為真(非零)時(shí)就編譯程序段1,否則編譯程序段2??梢允孪冉o定一定條件,使程序在不同的條件下執(zhí)行不同的功能。

【例】在調(diào)試程序時(shí),常常希望輸出一些所需的信息,而在調(diào)試完成后不再輸出這些信息,可以在源程序中插入條件編譯段。下面是一個(gè)簡(jiǎn)單的示例。

 

 
  1. #include <iostream> 
  2. using namespace std; 
  3. #define RUN //在調(diào)試程序時(shí)使之成為注釋行 
  4. int main( ) 
  5. int x=1, y=2, z=3; 
  6. #ifndef RUN //本行為條件編譯命令 
  7. cout<<"x="<<x<<", y="<<y<<", z="<<z<<"/n"//在調(diào)試程序時(shí)需要輸出這些信息 
  8. #endif //本行為條件編譯命令 
  9. cout<<"x*y*z="<<x*y*z<<endl; 

第3行用#define命令的目的不在于用RUN代表一個(gè)字符串,而只是表示已定義過RUN,因此RUN后面寫什么字符串都無所謂,甚至可以不寫字符串。在調(diào)試程序時(shí)去掉第3行(或在行首加//,使之成為注釋行),由于無此行,故未對(duì)RUN定義,第6行據(jù)此決定編譯第7行,運(yùn)行時(shí)輸出x,y,z的值,以便用戶分析有關(guān)變量當(dāng)前的值。運(yùn)行程序輸出:

 

 
  1. x=1, y=2, z=3 
  2. x*y*z=6 

在調(diào)試完成后,在運(yùn)行之前,加上第3行,重新編譯,由于此時(shí)RUN已被定義過,則該cout語句不被編譯,因此在運(yùn)行時(shí)不再輸出x,y,z的值。運(yùn)行情況為:

 

 
  1. x*y*z=6 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美极品日韩| 国产在线一区二区视频| 奇米色777欧美一区二区| 果冻天美麻豆一区二区国产| 中文字幕欧美日本乱码一线二线| 亚洲 另类 春色 国产| av一本在线| 亚洲五月激情网| 中国人与牲禽动交精品| 国产女人高潮的av毛片| 国产小视频福利在线| 日本少妇性高潮| 午夜精品亚洲一区二区三区嫩草| caoporn国产一区二区| 放荡的美妇在线播放| 在线播放evaelfie极品| 日日夜夜精品免费| 国产v综合v亚洲欧| 伊人久久大香线蕉成人综合网| 午夜看片在线免费| 香蕉久久一区二区不卡无毒影院| 欧美白嫩的18sex少妇| 亚洲精品videossex少妇| 国产传媒视频在线观看| 精品久久久久久久久久久久久久久| 最好看的2019的中文字幕视频| 国产一级大片| 国产精品网红直播| 免费h精品视频在线播放| 色综合亚洲精品激情狠狠| 国产aⅴ一区二区三区| 久草这里只有精品视频| 中文字幕亚洲色图| 精品入口麻豆88视频| 成年人免费大片| 特一级黄色录像| 欧美激情一区在线| 日韩极品在线观看| 国产日韩亚洲精品| 久久99精品国产99久久6尤物| 久久天堂夜夜一本婷婷麻豆| 欧美另类专区| 美女被爆操网站| 久久久久久久福利| 天天射天天干天天| 日韩欧美精品一区二区| 日本欧美不卡| 嫩草在线视频| 国产欧美88| 影音先锋5566资源网| 精品国产一区二区在线观看| 免费在线成人| 免费视频最近日韩| 婷婷av在线| 久久久久久久久久一区二区三区| 蜜桃av一区二区| 亚洲欧美在线另类| 亚洲www.| 亚洲调教欧美在线| 中文文字幕文字幕高清| 久久国产精品亚洲77777| 国产美女一区二区三区| 两个人免费视频观看日本| www.亚洲一区| 亚洲一二三不卡| 日韩熟女精品一区二区三区| 成人免费高清在线播放| 日本超碰在线观看| 中国老头性行为xxxx| www.99热这里只有精品| 天堂蜜桃91精品| 久久中文字幕精品| 伊人精品视频| 日本一级特级毛片视频| 欧美激情在线一区二区| 亚洲国产视频一区二区| 一区二区高清视频| 国产剧情一区二区三区| 国产黄色三级网站| 久久久精品视频国产| 国产主播福利| 女人另类性混交zo| 欧美性生交xxxxxdddd| 欧美色欧美亚洲另类二区| 在线一区二区三区四区五区| 热久久精品免费视频| 欧美日韩国产高清一区| 国产一级二级av| 中文字幕亚洲欧美日韩| 992tv成人免费影院| 九色在线观看| 久久综合九色综合久久久精品综合| 91丝袜美腿高跟国产极品老师| 麻豆成人免费视频| 日本午夜精品| 午夜欧美2019年伦理| 国产麻豆视频精品| 99久久激情| αv一区二区三区| 精品国产一区二区三区四区精华| 久久66热偷产精品| 一区二区三区在线观看网站| 色88888久久久久久影院野外| 波多野结衣中文字幕在线| 日韩中文字幕视频| 国产精品白嫩美女在线观看| a级国产乱理论片在线观看99| 欧美oldwomenvideos| 国产精品色在线观看| 久久久成人av| 91激情五月电影| 亚洲女人天堂a在线播放| 免费在线精品视频| 免费在线观看不卡| 久久婷婷国产麻豆91| 欧美成人免费观看| 中文字幕在线观看一区二区三区| 国产又粗又猛又黄视频| 免费看的黄网站| 国产又色又爽又黄的| 中国精品18videos性欧美| caoporn-草棚在线视频最| 国产在线精品一区免费香蕉| 国产黄色在线播放| 久久精品国产精品亚洲红杏| 亚洲高清国产拍精品26u| 国产中年熟女高潮大集合| 国产精品20p| 欧美日韩免费一区二区三区视频| 国产专区精品| 午夜一区二区三区在线观看| xxxx欧美xxxx黑人| 五月综合久久| 日韩欧美不卡一区| 国产精品视频久久久久| 国产精品久久久久无码av| 欧美一级艳片视频免费观看| 2017亚洲男人天堂| 久久精品一区二区三区资源网| 成人做爰www免费看视频网站| 精品视频一区二区三区四区五区| 久久久噜噜噜久久中文字幕色伊伊| 91极品女神私人尤物在线播放| 狂野欧美一区| 国产精品极品美女在线观看| 日韩av成人在线观看| 久久xxx视频| 国产在线高清精品| 国产精彩视频在线观看免费蜜芽| 一区二区三区精密机械公司| 欧美军人男男激情gay| 色哟哟精品丝袜一区二区| 少女频道在线观看免费播放电视剧| 韩国三级成人在线| 熟妇高潮一区二区| 亚洲GV成人无码久久精品| 久久免费精品视频在这里| 性网站在线播放| 亚洲ai欧洲av| 奇米影视四色在线| 欧美xxx网站| 亚洲欧美日韩一级| 在线免费看黄av| 久久精品凹凸全集| 国产精品自拍区| 成人激情黄色网| 美女做暖暖视频免费在线观看全部网址91| 天堂影院一区二区| 国产成人福利夜色影视| 国产精欧美一区二区三区蓝颜男同| 国产午夜精品久久久久久免费视| av手机免费在线观看| 日韩精品一区二区三区第95| 爱情岛论坛亚洲首页入口章节| 91在线视频播放| 国产1区在线| 在线观看av日韩| 吞精囗交69激情欧美| 国产清纯在线一区二区www| 中文在线а√在线| 午夜精品一区二区三区四区| 五月天婷婷视频| 久久这里只有精品首页| 国产字幕中文| 在线观看精品| 成人午夜视频精品一区| 91麻豆精品成人一区二区| 亚洲精品一区av在线播放| 美女黄色网址| 日韩黄色网址| 午夜精品一区在线观看| 麻豆国产精品官网| 性久久久久久| 国产视频一区二区三| 国产欧美最新羞羞视频在线观看| 日韩一区二区在线视频| 91在线精品秘密一区二区| 欧美性生活大片视频| 中文字幕第24页| 精品一区二区三区欧美| 国产九九九视频| 国产真乱mangent| 奇米四色…亚洲| 欧美成人一品| 欧美 日韩 中文字幕| 五月激情丁香网| 国产成人在线免费观看| 最新四虎影在线在永久观看www| 免费**毛片在线| 一级黄色小视频| 欧美极品少妇xxxxx| 国产精品户外野外| 亚洲精品福利视频网站| 日韩美女一区二区三区四区| 国产精品伦一区二区三区视频| 国产成人av影院| 日韩欧美四区| 在线播放精品| 日韩在线观看av| 久久精彩视频| 美女黄色片视频| 国模精品视频一区二区三区| 国产婷婷色一区二区在线观看| 亚洲网站视频福利| 日韩视频免费观看| av色图一区| 亚州av中文字幕在线免费观看| 日韩不卡高清视频| 国产麻豆日韩欧美久久| 日本学生初尝黑人巨免费视频| 日韩在线无毛| 国产毛片一区二区三区va在线| 色在线视频播放| av老司机免费在线| 久久影视电视剧免费网站清宫辞电视| 噜噜噜久久,亚洲精品国产品| bdsm在线观看播放视频| 能看的毛片网站| 欧美日韩1234| 日本午夜精品理论片a级app发布| 2019国产精品自在线拍国产不卡| 大肉大捧一进一出好爽视频| 久久久之久亚州精品露出| 久久久999| 久久丫精品忘忧草西安产品| 相泽南亚洲一区二区在线播放| 欧美国产精品va在线观看| 成人在线观看av| 最新在线中文字幕| 一区二区三区中文字幕精品精品| 91免费精品国自产拍在线不卡| 日本在线免费看| 亚洲色图18p| 国产一区在线观看视频| 久久不卡国产精品一区二区| 欧美熟乱第一页| 欧美一级大片在线观看| 久久久久99精品成人片我成大片| 中文字幕影音先锋| 国产欧美一区二区三区不卡高清| 国产精品草草| 午夜免费看毛片| 夜夜操天天干| 18视频在线观看| 这里都是精品| 欧美日韩在线精品一区二区三区激情综| 在线视频91| 丰满人妻av一区二区三区| 国产成人久久精品77777| 高清久久精品| 日韩精品一区二区三区中文精品| 亚洲国产精品久久久天堂| 亚洲视频在线观看免费视频| 亚洲天堂视频在线观看免费| 2023亚洲男人天堂| www.毛片| 免费黄色在线网址| 中文字幕免费在线| 中文字幕色av一区二区三区| 在线观看小视频| 91成人在线精品视频| 欧美日韩大陆一区二区| 中文字幕一区二区三区四区不卡| 色综合网站在线| 欧美精品18videos性欧| 日本高清视频网站www| 欧美高清精品一区二区| 中文字幕人成乱码在线观看| 青娱乐极品盛宴一区二区| 伊人在线视频| 好吊色视频988gao在线观看| 女人让男人操自己视频在线观看| 日韩欧美在线中文字幕| av在线女优影院| 亚洲欧洲日韩综合二区| 国产欧美日韩精品专区| 搞黄视频在线观看| 中文在线一二区| 欧美日韩美女视频| 国产人妻人伦精品| 亚洲成人先锋电影| 老司机免费视频久久| 欧美不卡视频| 超碰人人人人人人人| 国产99久久久国产精品潘金网站| 国产高潮又爽又无遮挡又免费| 国产精品视频首页| 中文字幕v亚洲ⅴv天堂| 亚洲猫色日本管| 成人黄色免费观看| 另类的小说在线视频另类成人小视频在线| 日韩av综合在线| 日韩精品在线中文字幕| 成人黄网18免费观看的网站| 久久久亚洲精品无码| 日韩视频永久免费| 欧美h在线观看| 成人在线免费观看一区| 国产精品乱人伦中文| 999精品色在线播放| 一本久道久久综合狠狠爱亚洲精品| 亚洲国产一二三精品无码| 日本久久一区二区| 国产区av在线| 秋霞网一区二区三区| 殴美一级黄色片| 26uuu亚洲综合色欧美| 久久九九全国免费|