亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 第14章 程序的文件結構.htm

?? 用非常通俗的語言介紹了C++和C
?? HTM
?? 第 1 頁 / 共 4 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0049)http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm --><HTML><HEAD><TITLE>教學--第十四章 程序的文件結構</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>P {
	MARGIN: 1px 2px; LINE-HEIGHT: 150%
}
.節標題 {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt
}
TD {
	FONT-SIZE: 9pt
}
.tdtitle {
	FONT-SIZE: 20pt
}
.celltopline {
	BORDER-TOP: #000000 1px solid
}
.menucell {
	FONT-SIZE: 10pt
}
#glowtext {
	FONT-SIZE: 10pt; FILTER: glow(color=red,strength=1); WIDTH: 100%
}
A:link {
	FONT: 10pt 宋體; COLOR: blue; TEXT-DECORATION: none
}
A:visited {
	FONT: 10pt 宋體; COLOR: purple; TEXT-DECORATION: none
}
A:active {
	FONT: 10pt 宋體; COLOR: red; TEXT-DECORATION: underline
}
A:hover {
	COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>

<META content="MSHTML 6.00.2900.2769" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=3>
<CENTER>
<TABLE height=154 cellSpacing=4 cellPadding=4 width=760 border=0>
  <TBODY>
  <TR>
    <TD 
    style="FONT-SIZE: 10pt; TEXT-INDENT: 20px; LINE-HEIGHT: 150%; FONT-FAMILY: 宋體" 
    width="100%" height=148>
      <H2>第十四章 程序的文件結構</H2>
      <P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.1">14.1 
      源文件和頭文件</A></P>
      <P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.2">14.2 
      如何創建多個單元文件</A></P>
      <P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.3">14.3 
      如何寫頭文件</A></P>
      <P>&nbsp;&nbsp; <A 
      href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.3.1">14.3.1 
      在頭文件內加入函數聲明</A></P>
      <P>&nbsp;&nbsp; <A 
      href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.3.2">14.3.2 
      最常見的預編譯語句</A></P>
      <P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.4">14.4 
      如何使用頭文件</A></P>
      <P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.5">14.5 
      變量在多個源文件之間的使用</A></P>
      <P>&nbsp;&nbsp; <A 
      href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.5.1">14.5.1 
      變量聲明</A></P>
      <P>&nbsp;&nbsp; <A 
      href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.5.2">14.5.2 
      多個文件中共享變量的實例</A></P>
      <P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls14.htm#14.6">14.6 
      附:如何單獨生成一個頭文件</A></P>
      <P> </P>
      <P>程序是由什么組成的? 學習到今天,我們至少有兩個答案: 
      <P>第1,程序由代碼語句組成。正是一行行的代碼,組成了一個完整的程序。 
      <P>第2,程序由函數組成。一個個函數之間的互相調用,最終構建出一個完整的程序。</P>
      <P>今天我們又有一個新的回答:“程序由文件組成”。</P>
      <P>程序為什么需要使用多個文件?</P>
      <P>一個小的程序,可以只寫一個源文件,但程序稍微一大,就需要將其中不同的邏輯實現放到不同的源文件.對于需要多人一起開發的軟件,自然更需要多個源文件。</P>
      <P> </P>
      <H3><A name=14.1>14.1</A> 源文件和頭文件</H3>
      <P> </P>
      <P>和別的一些語言不同,C,C++的代碼文件有“頭文件”和“代碼文件”之分。二者合起來我們稱為單元<SPAN 
      lang=en-us>(Unit)</SPAN>文件。</P>
      <P> </P>
      <P>擴展名為 .c 或 .cpp 的文件,主要用以實現程序的各種功能,我們稱為代碼文件。</P>
      <P>擴展名為 .h 
      的文件,稱為頭文件。在頭文件里主要寫一些函數、數據(包括數據類型的定義)、等的聲明,這樣可以在多個.c或.cpp文件內<B>共享</B>這些函數、數據。第12章我們提過到頭文件的功能。說它可以起到函數“名片夾”的作用。</P>
      <P> </P>
      <P>大都數時候,源文件和頭文件是對應出現的,比如有一個<SPAN lang=en-us> A.cpp </SPAN>的源文件,就會有一個<SPAN 
      lang=en-us> A.h </SPAN>的頭文件。這種情況在我們寫應用程序時,更是常見。所以C++ 
      Builder對此進行了強化。比如,它支持在同名源文件和頭文件之間通過熱鍵來回切換。在CB6.0里,編輯器打開對應的源文件和頭文件時,將顯示為同一頁下的兩個子頁。</P>
      <P> </P>
      <P>我們來實際動手看看源文件與頭文件在CB里的對應關系。</P>
      <P> </P>
      <P>運行 C++ Builder 6或5。</P>
      <P>這一次我們需要一個空白的<SPAN 
      lang=en-us>Windows</SPAN>工程。很有可能,在你打開CB時,它就自動為你打開了一個工程。為了不出錯,我們還是親自建一個。CB6請使用主菜單:<SPAN 
      lang=en-us>File | New | Application</SPAN>;而CB5則使用:<SPAN lang=en-us>File | 
      New Application</SPAN> <B>新建一個<SPAN lang=en-us>Windows 
      </SPAN>空白工程</B>。<SPAN lang=en-us> </SPAN>如果在這過程中CB出現是否存盤的詢問,請回答不存盤。</P>
      <P> </P>
      <P>找到“代碼窗口”。如果你看到的是一個叫<SPAN lang=en-us>"Form1"</SPAN>的表單,請按<SPAN 
      lang=en-us>F12,</SPAN>“代碼窗口”將跑到前面。它的標題應該是默認的<SPAN 
      lang=en-us>"Unit1.cpp"</SPAN>。正是當前代碼文件的文件名。如下圖:</P>
      <P> </P>
      <P><IMG src="第14章 程序的文件結構.files/ls14.h1.gif" border=0></P>
      <P> </P>
      <P>對于CB6,還可以看到在該窗口的底部有這樣一個分頁:</P>
      <P> </P>
      <P><IMG src="第14章 程序的文件結構.files/ls14.h2.gif" border=0></P>
      <P> </P>
      <P>源文件:<SPAN lang=en-us>Unit1.cpp </SPAN>和頭文件:<SPAN lang=en-us>Unit1.h 
      </SPAN>并列著,我們可以方便地選擇。至于<SPAN lang=en-us> 
      "Diagram"</SPAN>,稱為“圖解”。這是一個給這個源文件加配套注解,及表單上各控件的依賴關系的地方。如果是一個開發小組在進行共同開發,嚴格地要求每個成員為每個單元文件寫上“<SPAN 
      lang=en-us>Diagram</SPAN>”,可以更好地實現程序員之間的溝通。</P>
      <P><SPAN lang=en-us>CB5</SPAN>沒有這些,不過下面的熱鍵操作兩個版本均一樣的,要求大家記住。</P>
      <P>按<SPAN lang=en-us> Ctrl + F6 
      </SPAN>可以在源文件和頭文件之間來回切換。請大家試試。這個簡單的操作將在我們今后的編程過程中高頻率地使用。</P>
      <P> </P>
      <H3><A name=14.2>14.2</A> 如何創建多個單元文件</H3>
      <P> </P>
      <P>前面我們在“<SPAN 
      lang=en-us>Windows</SPAN>應用程序工程”中看到了頭文件與源文件的匹配關系,在“控制臺”的工程中,也同樣存在。不過由于控制臺經常只用來寫一些小小的程序,所以往往只需一個源文件即可。由于只有一個源文件,所以也就不存在函數、數據在多個文件之間“共享”的需要,因此邊頭文件也就可以不提供。</P>
      <P> </P>
      <P>那么,是不是只有在程序很大,或者只有在有很多人同時開發一個軟件時,才需要多個源文件呢?</P>
      <P><SPAN 
      lang=zh-cn>這就好像你家里只有兩本書:《紅樓夢》和《格林童話》,是把它們放在同一個抽屜里呢?還是分開放到兩個抽屜里?我覺得后者是比較好的選擇。因為我們常常希望家里看《格林童話》的人,最好不要去看《紅樓夢》。</SPAN></P>
      <P><SPAN lang=zh-cn>程序也一樣,最好把不同的邏輯實現,放到不同的源文件中。</SPAN></P>
      <P> </P>
      <P><SPAN 
lang=zh-cn>下面我們做一個實例。例子的代碼我們都已經學過。目標是實現一個可以求統計值和平均值的程序。</SPAN></P>
      <P><SPAN lang=zh-cn>根據我們現在所學的情況,我把這個工程中的代碼分為三個源代碼:</SPAN></P>
      <P><SPAN lang=zh-cn>其一:主程序。就是</SPAN>main()<SPAN 
      lang=zh-cn>函數所在的代碼。這個源文件實現總的流程。我將該文件取為</SPAN> main.cpp<SPAN 
      lang=zh-cn>。</SPAN></P>
      <P><SPAN 
      lang=zh-cn>其二:計算總和及計算平均值的代碼。這個源文件負責用戶計算過程,也包括每個過程所需輸入輸出。該文件將被存盤為</SPAN>mainfunc.cpp<SPAN 
      lang=zh-cn>。</SPAN> <SPAN lang=zh-cn>意為主要功能。</SPAN></P>
      <P><SPAN lang=zh-cn>其三:</SPAN> assifunc.cpp<SPAN 
      lang=zh-cn>。表示輔助功能函數所在代碼。它只提供一個函數:將用戶輸入的大寫或小寫的字母</SPAN>'Y'<SPAN 
      lang=zh-cn>或</SPAN>'N' <SPAN lang=zh-cn>確保轉換為大寫。這個函數將</SPAN>main()<SPAN 
      lang=zh-cn>主函數內</SPAN>,<SPAN lang=zh-cn>判斷用戶是否繼續時用到。</SPAN></P>
      <P> </P>
      <P><SPAN lang=zh-cn>新CB新建一個控制臺程序(如果你還開著上個程序,先選</SPAN>File | Close All<SPAN 
      lang=zh-cn>關閉它)。CB會自動生成第一個文件,不過現在的名字為“</SPAN>Unit1.cpp"<SPAN 
      lang=zh-cn>。</SPAN></P>
      <P><SPAN lang=zh-cn>接下來是一項新工作,我們來添加兩人新的單元文件,即上面說的“其二”和“其三”。</SPAN></P>
      <P><SPAN lang=zh-cn>CB6 :</SPAN>File | New | Unit<SPAN 
      lang=zh-cn>;CB5:</SPAN>File | New Unit<SPAN lang=zh-cn>。</SPAN></P>
      <P><SPAN lang=zh-cn>請進行兩次以上操作,CB將為我們生成新的兩個單元文件:</SPAN>Unit2.cpp<SPAN 
      lang=zh-cn>和</SPAN>Unit3.cpp<SPAN lang=zh-cn>。大家可以再試試</SPAN> Ctrl + 
      F6<SPAN lang=zh-cn>。</SPAN>(<SPAN 
      lang=zh-cn>注意,第一個單元文件:</SPAN>Unit1.cpp<SPAN lang=zh-cn> 
      沒有配套的</SPAN>.h<SPAN lang=zh-cn>文件,所以不要在該文件里嘗試</SPAN>Ctrl + F6)<SPAN 
      lang=zh-cn>。</SPAN></P>
      <P><SPAN lang=zh-cn>然后選擇</SPAN>File | Save All<SPAN 
      lang=zh-cn>。全部存盤,最好不要存在</SPAN>CB<SPAN 
      lang=zh-cn>默認的目錄下。記得按以下關系重命名:</SPAN></P>
      <P>Unit1.cpp <SPAN lang=zh-cn>存盤為</SPAN> main.cpp<SPAN 
      lang=zh-cn>;</SPAN></P>
      <P>Unit2.cpp <SPAN lang=zh-cn>存盤為 </SPAN>mainfunc.cpp<SPAN 
      lang=zh-cn>;</SPAN></P>
      <P>Unit3.cpp <SPAN lang=zh-cn>存盤為 </SPAN>assifunc.cpp<SPAN 
      lang=zh-cn>;</SPAN></P>
      <P><SPAN lang=zh-cn>至于總的工程,隨你便,我圖方便,還是叫</SPAN>:Project1.bpr<SPAN 
      lang=zh-cn>。</SPAN></P>
      <P> </P>
      <P><IMG src="第14章 程序的文件結構.files/ls14.h1.jpg" align=left border=0><SPAN 
      lang=zh-cn>(現在我們第一次在一個工程中用到多個源文件。所以你得學會如何快速打開一個工程中某個源文件——當然,現在這三個文件都已經打開著,不過假設你有點事關閉CB,我們不希望下回打開這個工程時,你“找”不到第2和第3個文件了——請點擊CB工具欄上的這個圖標:<IMG 
      src="第14章 程序的文件結構.files/ls14.h3.gif" border=0>,將出現源文件列表對話框,如左圖)</SPAN></P>
      <P> </P>
      <P> </P>
      <P>接下來講在這三個文件中,我們分別寫些什么?大多數代碼我們都已經在前面學過,所以我對代碼的功能不作太多的解釋。我們的重點是:三個源文件之間的代碼如何實現“溝通”。</P>
      <P> </P>
      <P><B>第一個文件:main.cpp</B> 用來實現程序的主流程。</P>
      <P><SPAN lang=zh-cn>在 main.cpp 中的main()函數內,我們加入代碼。</SPAN></P>
      <P> </P>
      <P>#include &lt;iostream.h&gt;</P>
      <P>... ...</P>
      <P>int main(int argc, char* argv[]) 
      <P>{ 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu国产日韩综合| 国产精品久久三| 中文字幕高清一区| 五月天激情小说综合| 国产精品99久久久久久久女警| 91美女片黄在线观看91美女| 精品国产一区二区在线观看| 亚洲综合丝袜美腿| 成人黄色软件下载| 精品国免费一区二区三区| 亚洲第一成年网| 91精品福利在线| 国产精品狼人久久影院观看方式| 久久精品国产成人一区二区三区| 欧美午夜电影一区| 亚洲美女视频在线| 成人精品免费视频| 中文字幕免费一区| 国产剧情一区二区| 日韩亚洲欧美中文三级| 日韩成人伦理电影在线观看| 色综合激情五月| 国产精品麻豆一区二区| 波多野结衣一区二区三区 | 韩国v欧美v日本v亚洲v| 欧美一区二区三区在| 同产精品九九九| 在线免费观看不卡av| 日韩一区中文字幕| 99精品桃花视频在线观看| 中文一区二区在线观看| 国产成人av自拍| 国产欧美精品区一区二区三区| 国产毛片精品视频| 欧美激情一区二区在线| 菠萝蜜视频在线观看一区| 国产精品沙发午睡系列990531| 岛国精品在线观看| 亚洲欧美日韩人成在线播放| 9人人澡人人爽人人精品| 亚洲色图视频网| 日本道精品一区二区三区| 亚洲人妖av一区二区| 色综合久久88色综合天天| 一区二区日韩电影| 欧美久久高跟鞋激| 男人的j进女人的j一区| 久久网站最新地址| 波多野结衣亚洲| 亚洲国产精品精华液网站| 91精品国产综合久久国产大片| 免费在线观看精品| 久久精品亚洲精品国产欧美 | 欧美国产日产图区| av亚洲产国偷v产偷v自拍| 亚洲最大成人网4388xx| 欧美一区二区三区不卡| 精品无码三级在线观看视频| 欧美国产精品劲爆| 色狠狠av一区二区三区| 看片的网站亚洲| 国产精品三级视频| 91精品欧美综合在线观看最新| 极品销魂美女一区二区三区| 国产精品午夜在线| 欧美日韩日日摸| 国产乱理伦片在线观看夜一区| 亚洲黄色录像片| 精品毛片乱码1区2区3区| 97se狠狠狠综合亚洲狠狠| 日韩avvvv在线播放| 国产日韩欧美精品一区| 精品1区2区3区| 丁香另类激情小说| 日韩影院精彩在线| 中文字幕一区二区不卡| 日韩欧美成人一区| 91在线免费播放| 激情综合一区二区三区| 亚洲欧美日韩国产手机在线| 精品久久久久久久久久久久久久久| 不卡大黄网站免费看| 久久99久久精品| 一区二区三区色| 国产欧美一区二区精品性| 欧美日韩你懂的| av在线不卡电影| 国产精品91一区二区| 天天影视色香欲综合网老头| 中文一区在线播放| 欧美成人一区二区三区片免费| 色老头久久综合| 国产精品白丝av| 久88久久88久久久| 午夜精品在线看| 亚洲久草在线视频| 中文av一区特黄| 精品日韩欧美在线| 91精品国产91久久久久久一区二区 | 日韩黄色免费网站| 亚洲人亚洲人成电影网站色| 欧美激情一区不卡| 久久在线观看免费| 欧美一区二区精品在线| 欧美亚洲国产怡红院影院| 91婷婷韩国欧美一区二区| 高清成人免费视频| 国产成人久久精品77777最新版本| 久久精品国产精品青草| 麻豆国产欧美日韩综合精品二区| 亚洲动漫第一页| 亚洲国产精品久久久久秋霞影院| 亚洲综合男人的天堂| 亚洲一区二区三区三| 亚洲一级片在线观看| 伊人色综合久久天天| 亚洲精品视频免费观看| 1000部国产精品成人观看| 亚洲视频网在线直播| 亚洲免费观看在线观看| 亚洲精品免费一二三区| 亚洲色图在线视频| 亚洲精品写真福利| 一区二区三区免费看视频| 亚洲一区在线观看免费| 亚洲成人资源在线| 日韩精品亚洲一区| 久久精工是国产品牌吗| 国产在线精品一区二区不卡了 | 欧美激情一区二区三区全黄| 国产女人18毛片水真多成人如厕| 中文av一区特黄| 一区二区三区四区在线免费观看| 亚洲高清视频在线| 久久精品国产999大香线蕉| 精品在线免费视频| 成人18精品视频| 欧美主播一区二区三区美女| 欧美另类videos死尸| 日韩欧美国产精品一区| 国产欧美日韩在线| 亚洲另类在线视频| 久久国产视频网| 高清不卡一二三区| 欧美亚洲动漫精品| 精品美女被调教视频大全网站| 欧美国产97人人爽人人喊| 亚洲在线观看免费| 另类小说欧美激情| 色综合久久综合网欧美综合网| 欧美电影一区二区| 国产精品三级电影| 免费不卡在线视频| a在线欧美一区| 日韩精品自拍偷拍| 一区二区三区四区激情| 黑人巨大精品欧美黑白配亚洲| 一道本成人在线| 精品久久久久99| 一个色综合网站| 成人午夜碰碰视频| 欧美日韩精品欧美日韩精品一 | 亚洲午夜一区二区| 国产福利一区在线| 7777女厕盗摄久久久| 国产精品成人一区二区艾草 | 亚洲一区影音先锋| 高清不卡在线观看| 7777精品伊人久久久大香线蕉最新版| 日本一区二区成人在线| 美女爽到高潮91| 欧美日韩在线播放三区四区| 中文字幕av一区二区三区| 美腿丝袜亚洲综合| 欧美剧情片在线观看| 亚洲欧美激情插 | 亚洲日本免费电影| 国产成人综合亚洲网站| 日韩精品一区二区在线观看| 亚洲国产成人91porn| 99久久伊人网影院| 久久亚洲精品国产精品紫薇| 男女性色大片免费观看一区二区| 91黄色小视频| 亚洲免费看黄网站| av激情亚洲男人天堂| 日本一区二区电影| 国产成人综合精品三级| 久久精品日产第一区二区三区高清版| 日韩国产高清影视| 欧美精品日日鲁夜夜添| 亚洲午夜激情av| 在线免费观看日本一区| 亚洲最大色网站| 欧美三级视频在线| 亚洲最大成人综合| 欧美日韩国产首页| 亚洲大片精品永久免费| 欧美性生活大片视频| 亚洲电影欧美电影有声小说|