




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章1C+高級(jí)語(yǔ)言程序設(shè)計(jì)高級(jí)語(yǔ)言程序設(shè)計(jì)第第1 1章章 C+C+初步初步北京郵電大學(xué)信息與通信工程學(xué)院北京郵電大學(xué)信息與通信工程學(xué)院2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-2-C+語(yǔ)言是一種優(yōu)秀的程序設(shè)計(jì)語(yǔ)言,在計(jì)算機(jī)科學(xué)領(lǐng)域中有著廣泛的應(yīng)用。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-3-第一章第一章 C+C+入門入門1.1 程序設(shè)計(jì)語(yǔ)言的發(fā)展1.2 面向過(guò)程的程序設(shè)計(jì)1.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)1.4 C+的誕生1.5 程序開(kāi)發(fā)過(guò)程1.6 簡(jiǎn)單的C+程序2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-4-1.1.1 1 程序設(shè)計(jì)語(yǔ)言的發(fā)展程序設(shè)計(jì)語(yǔ)言的
2、發(fā)展2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-5-1.1 程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言 簡(jiǎn)單的“0”和“1”的組合,硬件相關(guān)。匯編語(yǔ)言 將機(jī)器語(yǔ)言映射為一些可以被人們讀懂的助記符,如“ADD”、“SUB”等,與硬件相關(guān)。高級(jí)語(yǔ)言 接近自然語(yǔ)言,與硬件相關(guān)。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-6-1.1 程序設(shè)計(jì)語(yǔ)言的發(fā)展高級(jí)語(yǔ)言: 1、面向過(guò)程的語(yǔ)言 BASIC、PASCAL、C 2、面向?qū)ο蟮恼Z(yǔ)言 C+、JAVA 2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-7-1.1 程序設(shè)計(jì)語(yǔ)言的發(fā)展例如:要向屏幕打印一個(gè)“A”字符 1、BASIC語(yǔ)言: PRINT “A” 2、PASCAL語(yǔ)言:
3、writeln(A); 3、C語(yǔ)言: printf(“A”); 4、C+語(yǔ)言: cout “A”; 5、JAVA語(yǔ)言: System.out.print(A );2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-8-1.2 1.2 面向過(guò)程的程序設(shè)計(jì)面向過(guò)程的程序設(shè)計(jì)2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-9-1.2 面向過(guò)程的程序設(shè)計(jì)基本結(jié)構(gòu)基本結(jié)構(gòu) 1、順序 2、分支 3、循環(huán)開(kāi)始執(zhí)行1執(zhí)行2執(zhí)行3結(jié)束開(kāi)始條件執(zhí)行2執(zhí)行1結(jié)束是否開(kāi)始執(zhí)行1執(zhí)行2條件結(jié)束是否2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-10-1.2 面向過(guò)程的程序設(shè)計(jì)模塊的單入 指的是該模塊被哪些模塊所調(diào)用;模塊的單出 指的是
4、該模塊調(diào)用了哪些模塊。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-11-1.2 面向過(guò)程的程序設(shè)計(jì)主要思想 自頂向下 逐步求精 一個(gè)計(jì)算機(jī)程序可以看成是由一系列任務(wù)組成 的,任何一項(xiàng)任務(wù)如果過(guò)于復(fù)雜就將其分解成一系列較小的子任務(wù),直至每一項(xiàng)任務(wù)都很小,很容易解決。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-12-1.2 面向過(guò)程的程序設(shè)計(jì)計(jì)算每門課的平均成績(jī)多少門課學(xué)生人數(shù)每門課總分每門課總分/學(xué)生人數(shù)選課學(xué)生檔案每個(gè)學(xué)生該門課的成績(jī)累加選擇一門課選課的學(xué)生讀數(shù)據(jù)2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-13-1.2 面向過(guò)程的程序設(shè)計(jì)不足: 1、結(jié)構(gòu)化編程將數(shù)據(jù)和過(guò)程相分離; 2、結(jié)構(gòu)化編
5、程對(duì)代碼重用支持不夠。 可重用思想就是創(chuàng)建一些已知屬性的組件,然后插入到自己的程序中。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-14-1.3 1.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì)2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-15-1.3 面向?qū)ο蟮某绦蛟O(shè)計(jì) 面向?qū)ο蟮某绦蛟O(shè)計(jì)將數(shù)據(jù)和處理數(shù)據(jù)的過(guò)程當(dāng)成一個(gè)整體對(duì)象。 1)封裝 由對(duì)象的概念支持。只需知道外部接口,不需知道內(nèi)部實(shí)現(xiàn),就可以使用的特性。 2)繼承 由類的概念支持。利用已有的成果進(jìn)行擴(kuò)展,充分體現(xiàn)了代碼重用。 3)多態(tài) 運(yùn)行時(shí)特性。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-16-1.4 1.4 C+C+的誕生的誕生2022-
6、1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-17-1.4 C+的誕生C+語(yǔ)言從C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的C語(yǔ)言 歷史: 1、貝爾實(shí)驗(yàn)室的Dennis Ritchie開(kāi)發(fā) 2、在B語(yǔ)言的基礎(chǔ) 3、作為Unix操作系統(tǒng)的開(kāi)發(fā)語(yǔ)言 優(yōu)點(diǎn): 1、與硬件無(wú)關(guān) 2、設(shè)計(jì)嚴(yán)謹(jǐn)2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-18-1.4 C+的誕生 1978年,Brian Kernighan與Dennis Ritchie 出版了The C Programming Language是最早的經(jīng)典傳統(tǒng)C語(yǔ)言的書,很薄,只有兩百多頁(yè),所以這本C語(yǔ)言的圣經(jīng)又稱K&R。 當(dāng)時(shí)很快出現(xiàn)了多個(gè)不兼容的C語(yǔ)言版本,因此需要制訂一種標(biāo)準(zhǔn)
7、C。所以1988年,第二版The C Programming Language,是最經(jīng)典的標(biāo)準(zhǔn)C的書籍。 2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-19-1.4 C+的誕生C語(yǔ)言之父dennis Ritchie2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-20-1.4 C+的誕生C語(yǔ)言是一門面向過(guò)程的程序語(yǔ)言優(yōu)點(diǎn):1、可直接訪問(wèn)內(nèi)存2、程序運(yùn)行效率高3、可移植性好缺點(diǎn):1、類型檢查機(jī)制較弱2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-21-1.4 C+的誕生 C+語(yǔ)言的語(yǔ)言的優(yōu)點(diǎn): 1、簡(jiǎn)化程序復(fù)雜性 2、促進(jìn)代碼重用 3、使用先進(jìn)的面向?qū)ο蠹夹g(shù) Bjarne出版了的經(jīng)典C+著作The C +
8、Programming Language ,1991年第2版,1997年第3版,2000年特別版,他被譽(yù)為C+之父。 2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-22-1.4 C+的誕生 C+之父Bjarne stroustrup2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-23-1.4 C+的誕生 C+語(yǔ)言是從C語(yǔ)言發(fā)展演變而來(lái)。C+包含了整個(gè)C,C是建立C+的基礎(chǔ)。C+包含C的所有特征、屬性、優(yōu)缺點(diǎn),并添加了面向?qū)ο蟮闹С?。C+語(yǔ)言C語(yǔ)言面向?qū)ο?022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-24-1.5 1.5 程序開(kāi)發(fā)過(guò)程程序開(kāi)發(fā)過(guò)程2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-25-1.5
9、程序開(kāi)發(fā)過(guò)程源程序:.cpp compile(Ctrl+F7) 目標(biāo)程序:.obj Build(F7)可執(zhí)行程序:.exe2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-26-1.6 1.6 簡(jiǎn)單的簡(jiǎn)單的C+C+程序程序2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-27-1.6 簡(jiǎn)單的C+程序/*程序文件:ch1_1.cpp程序功能:在屏幕上輸出hello world!作 者:XXX創(chuàng)建時(shí)間:XX年XX月XX日*/ #include using namespace std; void main() cout“Hello World!”endl; 注釋編譯預(yù)處理程序主體2022-1-27C高級(jí)語(yǔ)言程序
10、設(shè)計(jì)第1章-28-1.6 簡(jiǎn)單的C+程序 “注釋” 是程序員為讀者作的說(shuō)明,用來(lái)提高程序的可讀性,C+程序在編譯過(guò)程中忽略注釋。 1、“/” 用來(lái)注釋一行說(shuō)明,在“/”之后的文字直到換行都為注釋。一般用來(lái)對(duì)于程序中難懂的代碼進(jìn)行說(shuō)明。 2、 “/*”和“*/” 用來(lái)注釋一段說(shuō)明,在“/*”和“*/”之間的部分,不管多長(zhǎng)都為注釋。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-29-1.6 簡(jiǎn)單的C+程序 所有以“#”開(kāi)頭的代碼,稱為編譯預(yù)處理。 #include 每次啟動(dòng)編譯器時(shí),先運(yùn)行預(yù)處理器,預(yù)處理器找到所有以“#”開(kāi)頭的代碼行進(jìn)行處理。include是一條預(yù)處理指令,意思是“后面跟的是一個(gè)文
11、件名,請(qǐng)找到該文件并將其加入?!?iostream是系統(tǒng)定義的一個(gè)“頭文件”,它設(shè)置了C+的I/O相關(guān)環(huán)境,并定義了輸入輸出流對(duì)象cout和cin等。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-30-1.6 簡(jiǎn)單的C+程序 using namespace std; 1998年批準(zhǔn)的標(biāo)準(zhǔn)C+使用namespace命名空間標(biāo)準(zhǔn)。iostream是一個(gè)標(biāo)準(zhǔn)函數(shù)庫(kù),cout是標(biāo)準(zhǔn)庫(kù)函數(shù)提供的一個(gè)對(duì)象,標(biāo)準(zhǔn)庫(kù)函數(shù)在namespace說(shuō)明書中被指定為“std”。因此這句代碼的意思是使用標(biāo)準(zhǔn)命名空間std中的函數(shù)。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-31-1.6 簡(jiǎn)單的C+程序 正式的程序從代碼“v
12、oid main()”開(kāi)始,它包含一個(gè)名為main()的函數(shù),也稱為主函數(shù)。每個(gè)C+程序有且僅有一個(gè)main()函數(shù),程序在開(kāi)始運(yùn)行時(shí)會(huì)自動(dòng)調(diào)用main()函數(shù)。 main()前面的void表示函數(shù)的返回值的類型,意味著程序執(zhí)行結(jié)束后無(wú)需向操作系統(tǒng)返回。函數(shù):是指能實(shí)現(xiàn)一個(gè)或多個(gè)功能的代碼塊。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-32-1.6 簡(jiǎn)單的C+程序 所有的函數(shù)都以左大括號(hào)開(kāi)始,右大括號(hào)結(jié)束,在大括號(hào)之間的部分稱為函數(shù)體。 cout” Hello World!”endl; 1、cout:標(biāo)準(zhǔn)輸出流對(duì)象, 2、: 插入操作符可以連續(xù)使用 3、endl:代表?yè)Q行符 意思是使用cout
13、將“”后面的內(nèi)容打印在屏幕上。 在函數(shù)體的每一句代碼后面都有一個(gè)分號(hào)“;”表示一個(gè)C+語(yǔ)句的結(jié)束。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-33-1.6 簡(jiǎn)單的C+程序操作步驟1、新建一個(gè)工程、新建一個(gè)工程 1) 啟動(dòng)VC2005 2) 新建一個(gè)項(xiàng)目,選擇“win32控制臺(tái)應(yīng)用程序”,空項(xiàng)目 3) 編寫源程序2、編譯和連接、編譯和連接 編譯:compile(Ctrl+F7) 鏈接:Build(F7)3、運(yùn)行、運(yùn)行 使用的命令:Ctrl+F52022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-34-1.1.7 7 內(nèi)存的抽象表示和使用內(nèi)存的抽象表示和使用2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-35
14、-1.7 內(nèi)存的抽象表示和使用內(nèi)存的抽象表示內(nèi)存的抽象表示每個(gè)存儲(chǔ)單元可以存放一個(gè)字節(jié)(8 bit)數(shù)據(jù),每個(gè)內(nèi)存單元有一個(gè)唯一的地址。 6782022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-36-1.7 內(nèi)存的抽象表示和使用操作系統(tǒng)一般會(huì)把內(nèi)存劃分區(qū)域來(lái)使用,便于管理,比如代碼區(qū)、數(shù)據(jù)區(qū) 等。被編譯成機(jī)器碼的程序在執(zhí)行時(shí)就會(huì)被復(fù)制到內(nèi)存的代碼區(qū)。數(shù)據(jù)區(qū)分為: n棧區(qū),也叫堆棧區(qū),用于存放程序函數(shù)中的局部變量。n全局變量和靜態(tài)變量區(qū), 是長(zhǎng)期存放數(shù)據(jù)的區(qū)域。n常量區(qū):一般是存放字符串常量的地方。n堆區(qū):在程序執(zhí)行過(guò)程中申請(qǐng)內(nèi)存要在堆區(qū)分配空間。2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-37-1.
15、7 內(nèi)存的抽象表示和使用/例1-2 顯示不同數(shù)據(jù)的地址#include using namespace std;int a=10;/全局變量void main() int b=20,c=30;/局部變量 char *ch=Beijing; static int e=50;/靜態(tài)變量 int *p =new int(60);/申請(qǐng)堆區(qū)空間 float *f=new float(0); int *q =new int(60); 2022-1-27C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章-38-1.7 內(nèi)存的抽象表示和使用/例1-2 顯示不同數(shù)據(jù)的地址 cout全局變量a的地址:&aendl; cout局部變量b的地址:&bend
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 同城轉(zhuǎn)租 店鋪合同范例
- 雙工作合同范本
- 雙方合資協(xié)議合同范本
- 加工承攬合同范本新
- 勞務(wù)短期合同范本
- 廚柜代銷合同范本
- 租賃合同變更服務(wù)合同范本
- 印刷產(chǎn)品定做合同范本
- 大件搬運(yùn)服務(wù)合同范本
- 合作傭金合同范本
- (完整版)第五章養(yǎng)殖場(chǎng)環(huán)境保護(hù)
- 祖國(guó)版圖知識(shí)主題班會(huì)
- 2025年上半年?yáng)|方電氣集團(tuán)科學(xué)技術(shù)研究院限公司公開(kāi)招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 征信異議申請(qǐng)書
- 高中不同主題閱讀理解高頻詞匯清單-2025屆高三下學(xué)期英語(yǔ)一輪復(fù)習(xí)專項(xiàng)
- 2025年上半年高郵市國(guó)資產(chǎn)投資運(yùn)營(yíng)限公司(國(guó)企業(yè))公開(kāi)招聘工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年高考地理二輪復(fù)習(xí):地球運(yùn)動(dòng)(講義)解析版
- 2024年金華金開(kāi)招商招才服務(wù)集團(tuán)有限公司招聘筆試真題
- 【地理】亞洲的自然環(huán)境第3課時(shí) 2024-2025學(xué)年七年級(jí)地理下冊(cè)同步課件(人教版2024)
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 《國(guó)別和區(qū)域研究專題》教學(xué)大綱
評(píng)論
0/150
提交評(píng)論