C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章課件_第1頁(yè)
C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章課件_第2頁(yè)
C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章課件_第3頁(yè)
C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章課件_第4頁(yè)
C高級(jí)語(yǔ)言程序設(shè)計(jì)第1章課件_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論