版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、2022-2-21北京郵電大學信息與通信工程學院1C+高級語言程序設計高級語言程序設計第第1 1章章 C+C+初步初步北京郵電大學信息與通信工程學院北京郵電大學信息與通信工程學院2022-2-21北京郵電大學信息與通信工程學院-2-C+語言是一種優(yōu)秀的程序設計語言,在計算機科學領域中有著廣泛的應用。2022-2-21北京郵電大學信息與通信工程學院-3-第一章第一章 C+C+入門入門1.1 程序設計語言的發(fā)展1.2 面向過程的程序設計1.3 面向對象的程序設計1.4 C+的誕生1.5 程序開發(fā)過程1.6 簡單的C+程序2022-2-21北京郵電大學信息與通信工程學院-4-w1.1.1 1 程序設
2、計語言的發(fā)展程序設計語言的發(fā)展2022-2-21北京郵電大學信息與通信工程學院-5-1.1 程序設計語言的發(fā)展機器語言 簡單的“0”和“1”的組合,硬件相關。匯編語言 將機器語言映射為一些可以被人們讀懂的助記符,如“ADD”、“SUB”等,與硬件相關。高級語言 接近自然語言,與硬件相關。2022-2-21北京郵電大學信息與通信工程學院-6-1.1 程序設計語言的發(fā)展高級語言: 1、面向過程的語言 BASIC、PASCAL、C 2、面向對象的語言 C+、JAVA 2022-2-21北京郵電大學信息與通信工程學院-7-1.1 程序設計語言的發(fā)展例如:要向屏幕打印一個“A”字符 1、BASIC語言:
3、 PRINT “A” 2、PASCAL語言:writeln(A); 3、C語言: printf(“A”); 4、C+語言: cout “A”; 5、JAVA語言: System.out.print(A );2022-2-21北京郵電大學信息與通信工程學院-8-w1.2 1.2 面向過程的程序設計面向過程的程序設計2022-2-21北京郵電大學信息與通信工程學院-9-1.2 面向過程的程序設計基本結構基本結構 1、順序 2、分支 3、循環(huán)開始執(zhí)行1執(zhí)行2執(zhí)行3結束開始條件執(zhí)行2執(zhí)行1結束是否開始執(zhí)行1執(zhí)行2條件結束是否2022-2-21北京郵電大學信息與通信工程學院-10-1.2 面向過程的程序
4、設計模塊的單入 指的是該模塊被哪些模塊所調用;模塊的單出 指的是該模塊調用了哪些模塊。2022-2-21北京郵電大學信息與通信工程學院-11-1.2 面向過程的程序設計主要思想 自頂向下 逐步求精 一個計算機程序可以看成是由一系列任務組成 的,任何一項任務如果過于復雜就將其分解成一系列較小的子任務,直至每一項任務都很小,很容易解決。2022-2-21北京郵電大學信息與通信工程學院-12-1.2 面向過程的程序設計計算每門課的平均成績多少門課學生人數(shù)每門課總分每門課總分/學生人數(shù)選課學生檔案每個學生該門課的成績累加選擇一門課選課的學生讀數(shù)據(jù)2022-2-21北京郵電大學信息與通信工程學院-13-
5、1.2 面向過程的程序設計不足: 1、結構化編程將數(shù)據(jù)和過程相分離; 2、結構化編程對代碼重用支持不夠。 可重用思想就是創(chuàng)建一些已知屬性的組件,然后插入到自己的程序中。2022-2-21北京郵電大學信息與通信工程學院-14-w1.3 1.3 面向對象的程序設計面向對象的程序設計2022-2-21北京郵電大學信息與通信工程學院-15-1.3 面向對象的程序設計 面向對象的程序設計將數(shù)據(jù)和處理數(shù)據(jù)的過程當成一個整體對象。 1)封裝 由對象的概念支持。只需知道外部接口,不需知道內部實現(xiàn),就可以使用的特性。 2)繼承 由類的概念支持。利用已有的成果進行擴展,充分體現(xiàn)了代碼重用。 3)多態(tài) 運行時特性。
6、2022-2-21北京郵電大學信息與通信工程學院-16-w1.4 1.4 C+C+的誕生的誕生2022-2-21北京郵電大學信息與通信工程學院-17-1.4 C+的誕生C+語言從C語言的基礎上發(fā)展起來的C語言 歷史: 1、貝爾實驗室的Dennis Ritchie開發(fā) 2、在B語言的基礎 3、作為Unix操作系統(tǒng)的開發(fā)語言 優(yōu)點: 1、與硬件無關 2、設計嚴謹2022-2-21北京郵電大學信息與通信工程學院-18-1.4 C+的誕生 1978年,Brian Kernighan與Dennis Ritchie 出版了The C Programming Language是最早的經典傳統(tǒng)C語言的書,很薄
7、,只有兩百多頁,所以這本C語言的圣經又稱K&R“。 當時很快出現(xiàn)了多個不兼容的C語言版本,因此需要制訂一種標準C。所以1988年,第二版The C Programming Language,是最經典的標準C的書籍。 2022-2-21北京郵電大學信息與通信工程學院-19-1.4 C+的誕生C語言之父dennis Ritchie2022-2-21北京郵電大學信息與通信工程學院-20-1.4 C+的誕生C語言是一門面向過程的程序語言優(yōu)點:1、可直接訪問內存2、程序運行效率高3、可移植性好缺點:1、類型檢查機制較弱2022-2-21北京郵電大學信息與通信工程學院-21-1.4 C+的誕生 C
8、+語言的語言的優(yōu)點: 1、簡化程序復雜性 2、促進代碼重用 3、使用先進的面向對象技術 Bjarne出版了的經典C+著作The C + Programming Language ,1991年第2版,1997年第3版,2000年特別版,他被譽為C+之父。 2022-2-21北京郵電大學信息與通信工程學院-22-1.4 C+的誕生 C+之父Bjarne stroustrup2022-2-21北京郵電大學信息與通信工程學院-23-1.4 C+的誕生 C+語言是從C語言發(fā)展演變而來。C+包含了整個C,C是建立C+的基礎。C+包含C的所有特征、屬性、優(yōu)缺點,并添加了面向對象的支持。C+語言C語言面向對象
9、2022-2-21北京郵電大學信息與通信工程學院-24-w1.5 1.5 程序開發(fā)過程程序開發(fā)過程2022-2-21北京郵電大學信息與通信工程學院-25-1.5 程序開發(fā)過程源程序:.cpp compile(Ctrl+F7) 目標程序:.obj Build(F7)可執(zhí)行程序:.exe2022-2-21北京郵電大學信息與通信工程學院-26-w1.6 1.6 簡單的簡單的C+C+程序程序2022-2-21北京郵電大學信息與通信工程學院-27-1.6 簡單的C+程序/*程序文件:ch1_1.cpp程序功能:在屏幕上輸出hello world!作 者:XXX創(chuàng)建時間:XX年XX月XX日*/ #incl
10、ude using namespace std; void main() cout“Hello World!”endl; 注釋編譯預處理程序主體2022-2-21北京郵電大學信息與通信工程學院-28-1.6 簡單的C+程序 “注釋” 是程序員為讀者作的說明,用來提高程序的可讀性,C+程序在編譯過程中忽略注釋。 1、“/” 用來注釋一行說明,在“/”之后的文字直到換行都為注釋。一般用來對于程序中難懂的代碼進行說明。 2、 “/*”和“*/” 用來注釋一段說明,在“/*”和“*/”之間的部分,不管多長都為注釋。2022-2-21北京郵電大學信息與通信工程學院-29-1.6 簡單的C+程序 所有以“
11、#”開頭的代碼,稱為編譯預處理。 #include 每次啟動編譯器時,先運行預處理器,預處理器找到所有以“#”開頭的代碼行進行處理。include是一條預處理指令,意思是“后面跟的是一個文件名,請找到該文件并將其加入。” iostream是系統(tǒng)定義的一個“頭文件”,它設置了C+的I/O相關環(huán)境,并定義了輸入輸出流對象cout和cin等。2022-2-21北京郵電大學信息與通信工程學院-30-1.6 簡單的C+程序 using namespace std; 1998年批準的標準C+使用namespace命名空間標準。iostream是一個標準函數(shù)庫,cout是標準庫函數(shù)提供的一個對象,標準庫函數(shù)
12、在namespace說明書中被指定為“std”。因此這句代碼的意思是使用標準命名空間std中的函數(shù)。2022-2-21北京郵電大學信息與通信工程學院-31-1.6 簡單的C+程序 正式的程序從代碼“void main()”開始,它包含一個名為main()的函數(shù),也稱為主函數(shù)。每個C+程序有且僅有一個main()函數(shù),程序在開始運行時會自動調用main()函數(shù)。 main()前面的void表示函數(shù)的返回值的類型,意味著程序執(zhí)行結束后無需向操作系統(tǒng)返回。函數(shù):是指能實現(xiàn)一個或多個功能的代碼塊。2022-2-21北京郵電大學信息與通信工程學院-32-1.6 簡單的C+程序 所有的函數(shù)都以左大括號開始
13、,右大括號結束,在大括號之間的部分稱為函數(shù)體。 cout” Hello World!”endl; 1、cout:標準輸出流對象, 2、: 插入操作符可以連續(xù)使用 3、endl:代表換行符 意思是使用cout將“”后面的內容打印在屏幕上。 在函數(shù)體的每一句代碼后面都有一個分號“;”表示一個C+語句的結束。2022-2-21北京郵電大學信息與通信工程學院-33-1.6 簡單的C+程序操作步驟1、新建一個工程、新建一個工程 1) 啟動VC2005 2) 新建一個項目,選擇“win32控制臺應用程序”,空項目 3) 編寫源程序2、編譯和連接、編譯和連接 編譯:compile(Ctrl+F7) 鏈接:B
14、uild(F7)3、運行、運行 使用的命令:Ctrl+F52022-2-21北京郵電大學信息與通信工程學院-34-w1.1.7 7 內存的抽象表示和使用內存的抽象表示和使用2022-2-21北京郵電大學信息與通信工程學院-35-1.7 內存的抽象表示和使用內存的抽象表示內存的抽象表示每個存儲單元可以存放一個字節(jié)(8 bit)數(shù)據(jù),每個內存單元有一個唯一的地址。 101100106782022-2-21北京郵電大學信息與通信工程學院-36-1.7 內存的抽象表示和使用操作系統(tǒng)一般會把內存劃分區(qū)域來使用,便于管理,比如代碼區(qū)、數(shù)據(jù)區(qū) 等。被編譯成機器碼的程序在執(zhí)行時就會被復制到內存的代碼區(qū)。數(shù)據(jù)區(qū)
15、分為: n棧區(qū),也叫堆棧區(qū),用于存放程序函數(shù)中的局部變量。n全局變量和靜態(tài)變量區(qū), 是長期存放數(shù)據(jù)的區(qū)域。n常量區(qū):一般是存放字符串常量的地方。n堆區(qū):在程序執(zhí)行過程中申請內存要在堆區(qū)分配空間。2022-2-21北京郵電大學信息與通信工程學院-37-1.7 內存的抽象表示和使用/例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-2-21北京郵電大學信息與通信工程學院-38-1.7 內存的抽象表示和使用/例1-2 顯示不同數(shù)據(jù)的地址 cout全局變量a的地址:&aendl; cout局部變量b的地址:&b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廈門農村房子租賃合同模板
- 挖沙合同模板
- 利息已付寫合同模板
- 裝修材料釆購合同模板
- 2024年度客運服務協(xié)議樣式版
- 2024年定制歌曲創(chuàng)作合同一
- 酒店產品代銷合同模板
- 防治合同模板
- 錳礦生產機械購買合同模板
- 拆舊不銹鋼水箱合同模板
- 屋頂光伏項目施工方案范本
- 兒童歌曲彈唱課程標準
- 基于區(qū)域分割的三維自由曲面相似性評價算法
- 小學道德與法治人教六年級上冊我們是公民我是中國公民全國優(yōu)質課
- 《無人機組裝與調試》第5章-多旋翼無人機調試
- 臨床用血執(zhí)行情況自查表
- 2023年02月江西省九江市八里湖新區(qū)公開招考50名城市社區(qū)工作者(專職網格員)參考題庫+答案詳解
- 七度空間消費者研究總報告(Y-1012)
- 醫(yī)學英語翻譯題匯總
- 解析人體的奧秘智慧樹知到答案章節(jié)測試2023年浙江中醫(yī)藥大學
- 湘西名人-賀龍綜述
評論
0/150
提交評論