![C高級語言程序設(shè)計(jì)課件_第1頁](http://file4.renrendoc.com/view/079f484c2af58ca9b5edd2ac9dd83331/079f484c2af58ca9b5edd2ac9dd833311.gif)
![C高級語言程序設(shè)計(jì)課件_第2頁](http://file4.renrendoc.com/view/079f484c2af58ca9b5edd2ac9dd83331/079f484c2af58ca9b5edd2ac9dd833312.gif)
![C高級語言程序設(shè)計(jì)課件_第3頁](http://file4.renrendoc.com/view/079f484c2af58ca9b5edd2ac9dd83331/079f484c2af58ca9b5edd2ac9dd833313.gif)
![C高級語言程序設(shè)計(jì)課件_第4頁](http://file4.renrendoc.com/view/079f484c2af58ca9b5edd2ac9dd83331/079f484c2af58ca9b5edd2ac9dd833314.gif)
![C高級語言程序設(shè)計(jì)課件_第5頁](http://file4.renrendoc.com/view/079f484c2af58ca9b5edd2ac9dd83331/079f484c2af58ca9b5edd2ac9dd833315.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-1-C+語言是一種優(yōu)秀的程序設(shè)計(jì)語言,在計(jì)算機(jī)科學(xué)領(lǐng)域中有著廣泛的應(yīng)用。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-1-C+2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-2-第一章 C+入門1.1 程序設(shè)計(jì)語言的發(fā)展1.2 面向過程的程序設(shè)計(jì)1.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)1.4 C+的誕生1.5 程序開發(fā)過程1.6 簡單的C+程序2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-2-第一章2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-3-1.1 程序設(shè)計(jì)語言的發(fā)展2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-3-1.12022/9
2、/27北京郵電大學(xué)信息與通信工程學(xué)院-4-1.1 程序設(shè)計(jì)語言的發(fā)展機(jī)器語言 簡單的“0”和“1”的組合,硬件相關(guān)。匯編語言 將機(jī)器語言映射為一些可以被人們讀懂的助記符,如“ADD”、“SUB”等,與硬件相關(guān)。高級語言 接近自然語言,與硬件相關(guān)。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-4-1.12022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-5-1.1 程序設(shè)計(jì)語言的發(fā)展高級語言: 1、面向過程的語言 BASIC、PASCAL、C 2、面向?qū)ο蟮恼Z言 C+、JAVA 2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-5-1.12022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-6-1
3、.1 程序設(shè)計(jì)語言的發(fā)展例如:要向屏幕打印一個(gè)“A”字符 1、BASIC語言: PRINT “A” 2、PASCAL語言:writeln(A); 3、C語言: printf(“A”); 4、C+語言: cout “A”; 5、JAVA語言: System.out.print(A );2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-6-1.12022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-7-1.2 面向過程的程序設(shè)計(jì)2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-7-1.22022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-8-1.2 面向過程的程序設(shè)計(jì)基本結(jié)構(gòu) 1、順序 2、分支 3、循
4、環(huán)開始執(zhí)行1執(zhí)行2執(zhí)行3結(jié)束開始條件執(zhí)行2執(zhí)行1結(jié)束是否開始執(zhí)行1執(zhí)行2條件結(jié)束是否2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-8-1.22022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-9-1.2 面向過程的程序設(shè)計(jì)模塊的單入 指的是該模塊被哪些模塊所調(diào)用;模塊的單出 指的是該模塊調(diào)用了哪些模塊。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-9-1.22022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-10-1.2 面向過程的程序設(shè)計(jì)主要思想 自頂向下 逐步求精 一個(gè)計(jì)算機(jī)程序可以看成是由一系列任務(wù)組成 的,任何一項(xiàng)任務(wù)如果過于復(fù)雜就將其分解成一系列較小的子任務(wù),直至每一項(xiàng)任務(wù)都很小
5、,很容易解決。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-10-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-11-1.2 面向過程的程序設(shè)計(jì)計(jì)算每門課的平均成績多少門課學(xué)生人數(shù)每門課總分每門課總分/學(xué)生人數(shù)選課學(xué)生檔案每個(gè)學(xué)生該門課的成績累加選擇一門課選課的學(xué)生讀數(shù)據(jù)2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-11-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-12-1.2 面向過程的程序設(shè)計(jì)不足: 1、結(jié)構(gòu)化編程將數(shù)據(jù)和過程相分離; 2、結(jié)構(gòu)化編程對代碼重用支持不夠。 可重用思想就是創(chuàng)建一些已知屬性的組件,然后插入到自己的程序中。2022/9/26北京郵電大學(xué)信
6、息與通信工程學(xué)院-12-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-13-1.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-13-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-14-1.3 面向?qū)ο蟮某绦蛟O(shè)計(jì) 面向?qū)ο蟮某绦蛟O(shè)計(jì)將數(shù)據(jù)和處理數(shù)據(jù)的過程當(dāng)成一個(gè)整體對象。 1)封裝 由對象的概念支持。只需知道外部接口,不需知道內(nèi)部實(shí)現(xiàn),就可以使用的特性。 2)繼承 由類的概念支持。利用已有的成果進(jìn)行擴(kuò)展,充分體現(xiàn)了代碼重用。 3)多態(tài) 運(yùn)行時(shí)特性。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-14-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院
7、-15-1.4 C+的誕生2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-15-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-16-1.4 C+的誕生C+語言從C語言的基礎(chǔ)上發(fā)展起來的C語言 歷史: 1、貝爾實(shí)驗(yàn)室的Dennis Ritchie開發(fā) 2、在B語言的基礎(chǔ) 3、作為Unix操作系統(tǒng)的開發(fā)語言 優(yōu)點(diǎn): 1、與硬件無關(guān) 2、設(shè)計(jì)嚴(yán)謹(jǐn)2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-16-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-17-1.4 C+的誕生 1978年,Brian Kernighan與Dennis Ritchie 出版了The C Programmin
8、g Language是最早的經(jīng)典傳統(tǒng)C語言的書,很薄,只有兩百多頁,所以這本C語言的圣經(jīng)又稱K&R“。 當(dāng)時(shí)很快出現(xiàn)了多個(gè)不兼容的C語言版本,因此需要制訂一種標(biāo)準(zhǔn)C。所以1988年,第二版The C Programming Language,是最經(jīng)典的標(biāo)準(zhǔn)C的書籍。 2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-17-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-18-1.4 C+的誕生C語言之父dennis RitchieThe C Programming Language2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-18-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院
9、-19-1.4 C+的誕生C語言是一門面向過程的程序語言優(yōu)點(diǎn):1、可直接訪問內(nèi)存2、程序運(yùn)行效率高3、可移植性好缺點(diǎn):1、類型檢查機(jī)制較弱2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-19-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-20-1.4 C+的誕生 C+語言的優(yōu)點(diǎn): 1、簡化程序復(fù)雜性 2、促進(jìn)代碼重用 3、使用先進(jìn)的面向?qū)ο蠹夹g(shù) Bjarne出版了的經(jīng)典C+著作The C + Programming Language ,1991年第2版,1997年第3版,2000年特別版,他被譽(yù)為C+之父。 2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-20-1.2022/9/2
10、7北京郵電大學(xué)信息與通信工程學(xué)院-21-1.4 C+的誕生 C+之父Bjarne stroustrupThe C + Programming Language2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-21-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-22-1.4 C+的誕生 C+語言是從C語言發(fā)展演變而來。C+包含了整個(gè)C,C是建立C+的基礎(chǔ)。C+包含C的所有特征、屬性、優(yōu)缺點(diǎn),并添加了面向?qū)ο蟮闹С?。C+語言C語言面向?qū)ο?022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-22-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-23-1.5 程序開發(fā)過程2022/9/26
11、北京郵電大學(xué)信息與通信工程學(xué)院-23-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-24-1.5 程序開發(fā)過程源程序:.cpp compile(Ctrl+F7) 目標(biāo)程序:.obj Build(F7)可執(zhí)行程序:.exe2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-24-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-25-1.6 簡單的C+程序2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-25-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-26-1.6 簡單的C+程序/*程序文件:ch1_1.cpp程序功能:在屏幕上輸出hello world!作 者:XXX創(chuàng)建
12、時(shí)間:XX年XX月XX日*/ #include using namespace std; void main() cout“Hello World!”endl; 注釋編譯預(yù)處理程序主體2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-26-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-27-1.6 簡單的C+程序 “注釋” 是程序員為讀者作的說明,用來提高程序的可讀性,C+程序在編譯過程中忽略注釋。 1、“/” 用來注釋一行說明,在“/”之后的文字直到換行都為注釋。一般用來對于程序中難懂的代碼進(jìn)行說明。 2、 “/*”和“*/” 用來注釋一段說明,在“/*”和“*/”之間的部分,不管多
13、長都為注釋。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-27-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-28-1.6 簡單的C+程序 所有以“#”開頭的代碼,稱為編譯預(yù)處理。 #include 每次啟動編譯器時(shí),先運(yùn)行預(yù)處理器,預(yù)處理器找到所有以“#”開頭的代碼行進(jìn)行處理。include是一條預(yù)處理指令,意思是“后面跟的是一個(gè)文件名,請找到該文件并將其加入。” iostream是系統(tǒng)定義的一個(gè)“頭文件”,它設(shè)置了C+的I/O相關(guān)環(huán)境,并定義了輸入輸出流對象cout和cin等。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-28-1.2022/9/27北京郵電大學(xué)信息與通信工
14、程學(xué)院-29-1.6 簡單的C+程序 using namespace std; 1998年批準(zhǔn)的標(biāo)準(zhǔn)C+使用namespace命名空間標(biāo)準(zhǔn)。iostream是一個(gè)標(biāo)準(zhǔn)函數(shù)庫,cout是標(biāo)準(zhǔn)庫函數(shù)提供的一個(gè)對象,標(biāo)準(zhǔn)庫函數(shù)在namespace說明書中被指定為“std”。因此這句代碼的意思是使用標(biāo)準(zhǔn)命名空間std中的函數(shù)。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-29-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-30-1.6 簡單的C+程序 正式的程序從代碼“void main()”開始,它包含一個(gè)名為main()的函數(shù),也稱為主函數(shù)。每個(gè)C+程序有且僅有一個(gè)main()函數(shù),程
15、序在開始運(yùn)行時(shí)會自動調(diào)用main()函數(shù)。 main()前面的void表示函數(shù)的返回值的類型,意味著程序執(zhí)行結(jié)束后無需向操作系統(tǒng)返回。函數(shù):是指能實(shí)現(xiàn)一個(gè)或多個(gè)功能的代碼塊。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-30-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-31-1.6 簡單的C+程序 所有的函數(shù)都以左大括號開始,右大括號結(jié)束,在大括號之間的部分稱為函數(shù)體。 cout” Hello World!”endl; 1、cout:標(biāo)準(zhǔn)輸出流對象, 2、: 插入操作符可以連續(xù)使用 3、endl:代表換行符 意思是使用cout將“”后面的內(nèi)容打印在屏幕上。 在函數(shù)體的每一句代碼后
16、面都有一個(gè)分號“;”表示一個(gè)C+語句的結(jié)束。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-31-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-32-1.6 簡單的C+程序操作步驟1、新建一個(gè)工程 1) 啟動VC2005 2) 新建一個(gè)項(xiàng)目,選擇“win32控制臺應(yīng)用程序”,空項(xiàng)目 3) 編寫源程序2、編譯和連接 編譯:compile(Ctrl+F7) 鏈接:Build(F7)3、運(yùn)行 使用的命令:Ctrl+F52022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-32-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-33-1.7 內(nèi)存的抽象表示和使用2022/9/26北京郵電大學(xué)
17、信息與通信工程學(xué)院-33-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-34-1.7 內(nèi)存的抽象表示和使用內(nèi)存的抽象表示每個(gè)存儲單元可以存放一個(gè)字節(jié)(8 bit)數(shù)據(jù),每個(gè)內(nèi)存單元有一個(gè)唯一的地址。 101100106782022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-34-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-35-1.7 內(nèi)存的抽象表示和使用操作系統(tǒng)一般會把內(nèi)存劃分區(qū)域來使用,便于管理,比如代碼區(qū)、數(shù)據(jù)區(qū)等。被編譯成機(jī)器碼的程序在執(zhí)行時(shí)就會被復(fù)制到內(nèi)存的代碼區(qū)。數(shù)據(jù)區(qū)分為:棧區(qū),也叫堆棧區(qū),用于存放程序函數(shù)中的局部變量。全局變量和靜態(tài)變量區(qū),是長期存放數(shù)據(jù)的區(qū)域。
18、常量區(qū):一般是存放字符串常量的地方。堆區(qū):在程序執(zhí)行過程中申請內(nèi)存要在堆區(qū)分配空間。2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-35-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-36-1.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ū)空間 float *f=new float(0); int *q =new int(60); 2022/9/26北京郵電大學(xué)信息與通信工程學(xué)院-36-1.2022/9/27北京郵電大學(xué)信息與通信工程學(xué)院-37-1.7 內(nèi)存的抽象表示和使用/例1-2 顯示不同數(shù)據(jù)的地址 cout全局變量a的地址:&aendl; cout局部變量b的地址:&bend
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑勞務(wù)施工合同及竣工資料編制合同
- 2025年度辦公樓智能化裝修工程合同規(guī)范文本
- 2025年車載DVD項(xiàng)目投資可行性研究分析報(bào)告
- 2025年度消防設(shè)施遠(yuǎn)程監(jiān)控與數(shù)據(jù)分析合同
- 2025年度建筑工程地下空間開發(fā)與利用合同
- 2025年度建筑工程合同保險(xiǎn)費(fèi)理賠服務(wù)協(xié)議
- 2025年度房屋建筑工程停工賠償合同范本
- 2025年度廣告插畫師聘請合同范本
- 2025年度光伏發(fā)電項(xiàng)目施工總承包服務(wù)合同
- 2025年度農(nóng)業(yè)交易居間合同范本正規(guī)范本
- 醫(yī)院感染及其危害
- 2025年三人合伙投資合作開店合同模板(三篇)
- 安徽省招生考試數(shù)學(xué)試卷
- 2024全國各省高考詩歌鑒賞真題及解析
- 高考日語閱讀理解練習(xí)2篇-高考日語復(fù)習(xí)
- 印刷基礎(chǔ)知識培訓(xùn)資料
- NB/T 11536-2024煤礦帶壓開采底板井下注漿加固改造技術(shù)規(guī)范
- 2024-2025學(xué)年人教版五年級(上)英語寒假作業(yè)(一)
- 【課件】九年級化學(xué)下冊(人教版2024)-【新教材解讀】義務(wù)教育教材內(nèi)容解讀課件
- GA/T 761-2024停車庫(場)安全管理系統(tǒng)技術(shù)要求
- 2025屆貴州省六盤水市第二中學(xué)高三適應(yīng)性調(diào)研考試數(shù)學(xué)試題含解析
評論
0/150
提交評論