




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C++高級語言程序設計第1章C++初步
北京郵電大學信息與通信工程學院
2023/7/201-C++語言是一種優(yōu)秀的程序設計語言,在計算機科學領(lǐng)域中有著廣泛的應用。2023/7/202-第一章C++入門1.1程序設計語言的發(fā)展1.2面向過程的程序設計1.3面向?qū)ο蟮某绦蛟O計1.4C++的誕生1.5程序開發(fā)過程1.6簡單的C++程序2023/7/203-1.1程序設計語言的發(fā)展
2023/7/204-1.1程序設計語言的發(fā)展機器語言
簡單的“0”和“1”的組合,硬件相關(guān)。匯編語言
將機器語言映射為一些可以被人們讀懂的助記符,如“ADD”、“SUB”等,與硬件相關(guān)。高級語言
接近自然語言,與硬件相關(guān)。2023/7/205-1.1程序設計語言的發(fā)展高級語言:1、面向過程的語言BASIC、PASCAL、C2、面向?qū)ο蟮恼Z言C++、JAVA2023/7/206-1.1程序設計語言的發(fā)展例如:要向屏幕打印一個“A”字符
1、BASIC語言:PRINT“A”2、PASCAL語言:writeln(‘A’);3、C語言: printf(“A”);4、C++語言:cout<<“A”;5、JAVA語言:System.out.print("A");2023/7/207-1.2面向過程的程序設計
2023/7/208-1.2面向過程的程序設計基本結(jié)構(gòu)
1、順序2、分支3、循環(huán)開始執(zhí)行1執(zhí)行2執(zhí)行3結(jié)束開始條件執(zhí)行2執(zhí)行1結(jié)束是否開始執(zhí)行1執(zhí)行2條件結(jié)束是否2023/7/209-1.2面向過程的程序設計模塊的單入
指的是該模塊被哪些模塊所調(diào)用;模塊的單出
指的是該模塊調(diào)用了哪些模塊。2023/7/2010-1.2面向過程的程序設計主要思想
自頂向下逐步求精
一個計算機程序可以看成是由一系列任務組成的,任何一項任務如果過于復雜就將其分解成一系列較小的子任務,直至每一項任務都很小,很容易解決。2023/7/2011-1.2面向過程的程序設計計算每門課的平均成績多少門課學生人數(shù)每門課總分每門課總分/學生人數(shù)選課學生檔案每個學生該門課的成績累加選擇一門課選課的學生讀數(shù)據(jù)2023/7/2012-1.2面向過程的程序設計不足:1、結(jié)構(gòu)化編程將數(shù)據(jù)和過程相分離;2、結(jié)構(gòu)化編程對代碼重用支持不夠。可重用思想就是創(chuàng)建一些已知屬性的組件,然后插入到自己的程序中。2023/7/2013-1.3面向?qū)ο蟮某绦蛟O計
2023/7/2014-1.3面向?qū)ο蟮某绦蛟O計
面向?qū)ο蟮某绦蛟O計將數(shù)據(jù)和處理數(shù)據(jù)的過程當成一個整體——對象。
1)封裝
由對象的概念支持。只需知道外部接口,不需知道內(nèi)部實現(xiàn),就可以使用的特性。
2)繼承
由類的概念支持。利用已有的成果進行擴展,充分體現(xiàn)了代碼重用。3)多態(tài)
運行時特性。2023/7/2015-1.4C++的誕生
2023/7/2016-1.4C++的誕生C++語言從C語言的基礎上發(fā)展起來的C語言歷史:1、貝爾實驗室的DennisRitchie開發(fā)2、在B語言的基礎3、作為Unix操作系統(tǒng)的開發(fā)語言優(yōu)點:1、與硬件無關(guān)2、設計嚴謹2023/7/2017-1.4C++的誕生
1978年,BrianKernighan與DennisRitchie出版了《TheCProgrammingLanguage》是最早的經(jīng)典傳統(tǒng)C語言的書,很薄,只有兩百多頁,所以這本C語言的圣經(jīng)又稱`K&R“。
當時很快出現(xiàn)了多個不兼容的C語言版本,因此需要制訂一種標準C。所以1988年,第二版《TheCProgrammingLanguage》,是最經(jīng)典的標準C的書籍。
2023/7/2018-1.4C++的誕生C語言之父dennisRitchieTheCProgrammingLanguage2023/7/2019-1.4C++的誕生C語言是一門面向過程的程序語言優(yōu)點:1、可直接訪問內(nèi)存2、程序運行效率高3、可移植性好缺點:1、類型檢查機制較弱2023/7/2020-1.4C++的誕生C++語言的優(yōu)點:
1、簡化程序復雜性2、促進代碼重用3、使用先進的面向?qū)ο蠹夹g(shù)
Bjarne出版了的經(jīng)典C++著作《TheC++ProgrammingLanguage》,1991年第2版,1997年第3版,2000年特別版,他被譽為C++之父。
2023/7/2021-1.4C++的誕生
C++之父BjarnestroustrupTheC++ProgrammingLanguage2023/7/2022-1.4C++的誕生
C++語言是從C語言發(fā)展演變而來。C++包含了整個C,C是建立C++的基礎。C++包含C的所有特征、屬性、優(yōu)缺點,并添加了面向?qū)ο蟮闹С帧++語言C語言面向?qū)ο?023/7/2023-1.5程序開發(fā)過程2023/7/2024-1.5程序開發(fā)過程源程序:.cppcompile(Ctrl+F7)目標程序:.objBuild(F7)可執(zhí)行程序:.exe2023/7/2025-1.6簡單的C++程序2023/7/2026-1.6簡單的C++程序/***************************************程序文件:ch1_1.cpp程序功能:在屏幕上輸出helloworld!作者:XXX創(chuàng)建時間:XX年XX月XX日***************************************/#include<iostream>usingnamespacestd;voidmain(){cout<<“HelloWorld!”<<endl;}注釋編譯預處理程序主體2023/7/2027-1.6簡單的C++程序
“注釋”是程序員為讀者作的說明,用來提高程序的可讀性,C++程序在編譯過程中忽略注釋。
1、“//”用來注釋一行說明,在“//”之后的文字直到換行都為注釋。一般用來對于程序中難懂的代碼進行說明。2、
“/*”和“*/”用來注釋一段說明,在“/*”和“*/”之間的部分,不管多長都為注釋。2023/7/2028-1.6簡單的C++程序
所有以“#”開頭的代碼,稱為編譯預處理。
#include<iostream>每次啟動編譯器時,先運行預處理器,預處理器找到所有以“#”開頭的代碼行進行處理。include是一條預處理指令,意思是“后面跟的是一個文件名,請找到該文件并將其加入。”iostream是系統(tǒng)定義的一個“頭文件”,它設置了C++的I/O相關(guān)環(huán)境,并定義了輸入輸出流對象cout和cin等。2023/7/2029-1.6簡單的C++程序
usingnamespacestd;1998年批準的標準C++使用namespace命名空間標準。iostream是一個標準函數(shù)庫,cout是標準庫函數(shù)提供的一個對象,標準庫函數(shù)在namespace說明書中被指定為“std”。因此這句代碼的意思是使用標準命名空間std中的函數(shù)。2023/7/2030-1.6簡單的C++程序
正式的程序從代碼“voidmain()”開始,它包含一個名為main()的函數(shù),也稱為主函數(shù)。每個C++程序有且僅有一個main()函數(shù),程序在開始運行時會自動調(diào)用main()函數(shù)。
main()前面的void表示函數(shù)的返回值的類型,意味著程序執(zhí)行結(jié)束后無需向操作系統(tǒng)返回。函數(shù):是指能實現(xiàn)一個或多個功能的代碼塊。2023/7/2031-1.6簡單的C++程序
所有的函數(shù)都以左大括號{開始,右大括號}結(jié)束,在大括號{}之間的部分稱為函數(shù)體。
cout<<”HelloWorld!”<<endl; 1、cout:標準輸出流對象, 2、<<:插入操作符可以連續(xù)使用 3、endl:代表換行符意思是使用cout將“<<”后面的內(nèi)容打印在屏幕上。在函數(shù)體的每一句代碼后面都有一個分號“;”表示一個C++語句的結(jié)束。2023/7/2032-1.6簡單的C++程序操作步驟1、新建一個工程
1)啟動VC20052)新建一個項目,選擇“win32控制臺應用程序”,空項目3)編寫源程序2、編譯和連接編譯:compile(Ctrl+F7)鏈接:Build(F7)3、運行使用的命令:Ctrl+F52023/7/2033-1.7內(nèi)存的抽象表示和使用
2023/7/2034-1.7內(nèi)存的抽象表示和使用內(nèi)存的抽象表示每個存儲單元可以存放一個字節(jié)(8bit)數(shù)據(jù),每個內(nèi)存單元有一個唯一的地址。
101100106782023/7/2035-1.7內(nèi)存的抽象表示和使用操作系統(tǒng)一般會把內(nèi)存劃分區(qū)域來使用,便于管理,比如代碼區(qū)、數(shù)據(jù)區(qū)
等。被編譯成機器碼的程序在執(zhí)行時就會被復制到內(nèi)存的代碼區(qū)。數(shù)據(jù)區(qū)分為:
棧區(qū),也叫堆棧區(qū),用于存放程序函數(shù)中的局部變量。全局變量和靜態(tài)變量區(qū),
是長期存放數(shù)據(jù)的區(qū)域。常量區(qū):一般是存放字符串常量的地方。堆區(qū):在程序執(zhí)行過程中申請內(nèi)存要在堆區(qū)分配空間。2023/7/2036-1.7內(nèi)存的抽象表示和使用//例1-2顯示不同數(shù)據(jù)的地址#include<iostream>usingnamespacestd;inta=10; //全局變量voidmain(){intb=20,c=30; //局部變量char*ch="Beijing";staticinte=50; //靜態(tài)變量int*p=newint(60); //申請堆區(qū)空間
float*f=newfloat(0);int*q=newint(60);
2023/7/2037-1.7內(nèi)存的抽象表示和使用//例1-2顯示不同數(shù)據(jù)的地址 cout<<"全局變量a的地址:"<<&a<<endl;cout<<"局部變量b的地址:"<<&b<<endl;cout<<"局部變量c的地址:"<<&c<<endl;cout<<"常量區(qū)的地址
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)設計與制造工藝的融合實踐
- 工業(yè)遺產(chǎn)旅游的開發(fā)與保護策略
- 工業(yè)設計原理與創(chuàng)意實踐
- 工作壓力下的心理調(diào)適與應對策略
- 工作中的創(chuàng)造力提升策略研究
- 工業(yè)領(lǐng)域機房的綠色節(jié)能技術(shù)應用
- 工程學中的計算方法研究
- 工作流程優(yōu)化提高工作效率的方法與技巧
- 工廠安全生產(chǎn)與事故預防培訓
- 工程質(zhì)量管理中的風險評估方法
- GB/T 20080-2006液壓濾芯技術(shù)條件
- GB 15984-1995霍亂診斷標準及處理原則
- 9-馬工程《藝術(shù)學概論》課件-第九章(20190403)【已改格式】.課件電子教案
- 河道測量方案
- 礦山環(huán)境保護ppt課件(完整版)
- 浙江開放大學商法二、簡答題答卷
- 昆明萬科工程樣板點評及驗收管理制度
- 機械設計課件:第4章 帶傳動
- 實驗2:基本數(shù)據(jù)類型、運算符與表達式
- 增強教師職業(yè)認同感、榮譽感、幸福感-課件
- QC∕T 900-1997 汽車整車產(chǎn)品質(zhì)量檢驗評定方法
評論
0/150
提交評論