![C高級(jí)語(yǔ)言程序設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/8d852bf7e0e393a41dee6a06cd84655a/8d852bf7e0e393a41dee6a06cd84655a1.gif)
![C高級(jí)語(yǔ)言程序設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/8d852bf7e0e393a41dee6a06cd84655a/8d852bf7e0e393a41dee6a06cd84655a2.gif)
![C高級(jí)語(yǔ)言程序設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/8d852bf7e0e393a41dee6a06cd84655a/8d852bf7e0e393a41dee6a06cd84655a3.gif)
![C高級(jí)語(yǔ)言程序設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/8d852bf7e0e393a41dee6a06cd84655a/8d852bf7e0e393a41dee6a06cd84655a4.gif)
![C高級(jí)語(yǔ)言程序設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/8d852bf7e0e393a41dee6a06cd84655a/8d852bf7e0e393a41dee6a06cd84655a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1C高級(jí)語(yǔ)言程序設(shè)計(jì)2023/1/17-2-第一章C++入門(mén)1.1程序設(shè)計(jì)語(yǔ)言的發(fā)展1.2面向過(guò)程的程序設(shè)計(jì)1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)1.4C++的誕生1.5程序開(kāi)發(fā)過(guò)程1.6簡(jiǎn)單的C++程序第2頁(yè)/共38頁(yè)第1頁(yè)/共38頁(yè)2023/1/17-3-1.1程序設(shè)計(jì)語(yǔ)言的發(fā)展
第3頁(yè)/共38頁(yè)第2頁(yè)/共38頁(yè)2023/1/17-4-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)。第4頁(yè)/共38頁(yè)第3頁(yè)/共38頁(yè)2023/1/17-5-1.1程序設(shè)計(jì)語(yǔ)言的發(fā)展高級(jí)語(yǔ)言:1、面向過(guò)程的語(yǔ)言
BASIC、PASCAL、C2、面向?qū)ο蟮恼Z(yǔ)言
C++、JAVA第5頁(yè)/共38頁(yè)第4頁(yè)/共38頁(yè)2023/1/17-6-1.1程序設(shè)計(jì)語(yǔ)言的發(fā)展例如:要向屏幕打印一個(gè)“A”字符
1、BASIC語(yǔ)言:PRINT“A”2、PASCAL語(yǔ)言:writeln(‘A’);3、C語(yǔ)言: printf(“A”);4、C++語(yǔ)言:cout<<“A”;5、JAVA語(yǔ)言:System.out.print("A");第6頁(yè)/共38頁(yè)第5頁(yè)/共38頁(yè)2023/1/17-7-1.2面向過(guò)程的程序設(shè)計(jì)
第7頁(yè)/共38頁(yè)第6頁(yè)/共38頁(yè)2023/1/17-8-1.2面向過(guò)程的程序設(shè)計(jì)基本結(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é)束是否第8頁(yè)/共38頁(yè)第7頁(yè)/共38頁(yè)2023/1/17-9-1.2面向過(guò)程的程序設(shè)計(jì)模塊的單入
指的是該模塊被哪些模塊所調(diào)用;模塊的單出
指的是該模塊調(diào)用了哪些模塊。第9頁(yè)/共38頁(yè)第8頁(yè)/共38頁(yè)2023/1/17-10-1.2面向過(guò)程的程序設(shè)計(jì)主要思想
自頂向下逐步求精
一個(gè)計(jì)算機(jī)程序可以看成是由一系列任務(wù)組成的,任何一項(xiàng)任務(wù)如果過(guò)于復(fù)雜就將其分解成一系列較小的子任務(wù),直至每一項(xiàng)任務(wù)都很小,很容易解決。第10頁(yè)/共38頁(yè)第9頁(yè)/共38頁(yè)2023/1/17-11-1.2面向過(guò)程的程序設(shè)計(jì)計(jì)算每門(mén)課的平均成績(jī)多少門(mén)課學(xué)生人數(shù)每門(mén)課總分每門(mén)課總分/學(xué)生人數(shù)選課學(xué)生檔案每個(gè)學(xué)生該門(mén)課的成績(jī)累加選擇一門(mén)課選課的學(xué)生讀數(shù)據(jù)第11頁(yè)/共38頁(yè)第10頁(yè)/共38頁(yè)2023/1/17-12-1.2面向過(guò)程的程序設(shè)計(jì)不足:1、結(jié)構(gòu)化編程將數(shù)據(jù)和過(guò)程相分離;2、結(jié)構(gòu)化編程對(duì)代碼重用支持不夠??芍赜盟枷刖褪莿?chuàng)建一些已知屬性的組件,然后插入到自己的程序中。第12頁(yè)/共38頁(yè)第11頁(yè)/共38頁(yè)2023/1/17-13-1.3面向?qū)ο蟮某绦蛟O(shè)計(jì)
第13頁(yè)/共38頁(yè)第12頁(yè)/共38頁(yè)2023/1/17-14-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í)特性。第14頁(yè)/共38頁(yè)第13頁(yè)/共38頁(yè)2023/1/17-15-1.4C++的誕生
第15頁(yè)/共38頁(yè)第14頁(yè)/共38頁(yè)2023/1/17-16-1.4C++的誕生C++語(yǔ)言從C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的C語(yǔ)言歷史:1、貝爾實(shí)驗(yàn)室的DennisRitchie開(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)?shù)?6頁(yè)/共38頁(yè)第15頁(yè)/共38頁(yè)2023/1/17-17-1.4C++的誕生
1978年,BrianKernighan與DennisRitchie出版了《TheCProgrammingLanguage》是最早的經(jīng)典傳統(tǒng)C語(yǔ)言的書(shū),很薄,只有兩百多頁(yè),所以這本C語(yǔ)言的圣經(jīng)又稱"K&R"。
當(dāng)時(shí)很快出現(xiàn)了多個(gè)不兼容的C語(yǔ)言版本,因此需要制訂一種標(biāo)準(zhǔn)C。所以1988年,第二版《TheCProgrammingLanguage》,是最經(jīng)典的標(biāo)準(zhǔn)C的書(shū)籍。
第17頁(yè)/共38頁(yè)第16頁(yè)/共38頁(yè)2023/1/17-18-1.4C++的誕生C語(yǔ)言之父dennisRitchieTheCProgrammingLanguage第18頁(yè)/共38頁(yè)第17頁(yè)/共38頁(yè)2023/1/17-19-1.4C++的誕生C語(yǔ)言是一門(mén)面向過(guò)程的程序語(yǔ)言優(yōu)點(diǎn):1、可直接訪問(wèn)內(nèi)存2、程序運(yùn)行效率高3、可移植性好缺點(diǎn):1、類型檢查機(jī)制較弱第19頁(yè)/共38頁(yè)第18頁(yè)/共38頁(yè)2023/1/17-20-1.4C++的誕生
C++語(yǔ)言的優(yōu)點(diǎn):
1、簡(jiǎn)化程序復(fù)雜性2、促進(jìn)代碼重用3、使用先進(jìn)的面向?qū)ο蠹夹g(shù)
Bjarne出版了的經(jīng)典C++著作《TheC++ProgrammingLanguage》,1991年第2版,1997年第3版,2000年特別版,他被譽(yù)為C++之父。
第20頁(yè)/共38頁(yè)第19頁(yè)/共38頁(yè)2023/1/17-21-1.4C++的誕生
C++之父BjarnestroustrupTheC++ProgrammingLanguage第21頁(yè)/共38頁(yè)第20頁(yè)/共38頁(yè)2023/1/17-22-1.4C++的誕生
C++語(yǔ)言是從C語(yǔ)言發(fā)展演變而來(lái)。C++包含了整個(gè)C,C是建立C++的基礎(chǔ)。C++包含C的所有特征、屬性、優(yōu)缺點(diǎn),并添加了面向?qū)ο蟮闹С帧++語(yǔ)言C語(yǔ)言面向?qū)ο蟮?2頁(yè)/共38頁(yè)第21頁(yè)/共38頁(yè)2023/1/17-23-1.5程序開(kāi)發(fā)過(guò)程第23頁(yè)/共38頁(yè)第22頁(yè)/共38頁(yè)2023/1/17-24-1.5程序開(kāi)發(fā)過(guò)程源程序:.cppcompile(Ctrl+F7)目標(biāo)程序:.objBuild(F7)可執(zhí)行程序:.exe第24頁(yè)/共38頁(yè)第23頁(yè)/共38頁(yè)2023/1/17-25-1.6簡(jiǎn)單的C++程序第25頁(yè)/共38頁(yè)第24頁(yè)/共38頁(yè)2023/1/17-26-1.6簡(jiǎn)單的C++程序/***************************************程序文件:ch1_1.cpp程序功能:在屏幕上輸出helloworld!作者:XXX創(chuàng)建時(shí)間:XX年XX月XX日***************************************/#include<iostream>usingnamespacestd;voidmain(){cout<<“HelloWorld!”<<endl;}注釋編譯預(yù)處理程序主體第26頁(yè)/共38頁(yè)第25頁(yè)/共38頁(yè)2023/1/17-27-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)都為注釋。第27頁(yè)/共38頁(yè)第26頁(yè)/共38頁(yè)2023/1/17-28-1.6簡(jiǎn)單的C++程序
所有以“#”開(kāi)頭的代碼,稱為編譯預(yù)處理。
#include<iostream>每次啟動(dòng)編譯器時(shí),先運(yùn)行預(yù)處理器,預(yù)處理器找到所有以“#”開(kāi)頭的代碼行進(jìn)行處理。include是一條預(yù)處理指令,意思是“后面跟的是一個(gè)文件名,請(qǐng)找到該文件并將其加入?!眎ostream是系統(tǒng)定義的一個(gè)“頭文件”,它設(shè)置了C++的I/O相關(guān)環(huán)境,并定義了輸入輸出流對(duì)象cout和cin等。第28頁(yè)/共38頁(yè)第27頁(yè)/共38頁(yè)2023/1/17-29-1.6簡(jiǎn)單的C++程序
usingnamespacestd;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ō)明書(shū)中被指定為“std”。因此這句代碼的意思是使用標(biāo)準(zhǔn)命名空間std中的函數(shù)。第29頁(yè)/共38頁(yè)第28頁(yè)/共38頁(yè)2023/1/17-30-1.6簡(jiǎn)單的C++程序
正式的程序從代碼“voidmain()”開(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è)功能的代碼塊。第30頁(yè)/共38頁(yè)第29頁(yè)/共38頁(yè)2023/1/17-31-1.6簡(jiǎn)單的C++程序
所有的函數(shù)都以左大括號(hào){開(kāi)始,右大括號(hào)}結(jié)束,在大括號(hào){}之間的部分稱為函數(shù)體。
cout<<”HelloWorld!”<<endl; 1、cout:標(biāo)準(zhǔn)輸出流對(duì)象, 2、<<:插入操作符可以連續(xù)使用 3、endl:代表?yè)Q行符意思是使用cout將“<<”后面的內(nèi)容打印在屏幕上。在函數(shù)體的每一句代碼后面都有一個(gè)分號(hào)“;”表示一個(gè)C++語(yǔ)句的結(jié)束。第31頁(yè)/共38頁(yè)第30頁(yè)/共38頁(yè)2023/1/17-32-1.6簡(jiǎn)單的C++程序操作步驟1、新建一個(gè)工程
1)啟動(dòng)VC20052)新建一個(gè)項(xiàng)目,選擇“win32控制臺(tái)應(yīng)用程序”,空項(xiàng)目3)編寫(xiě)源程序2、編譯和連接
編譯:compile(Ctrl+F7)
鏈接:Build(F7)3、運(yùn)行使用的命令:Ctrl+F5第32頁(yè)/共38頁(yè)第31頁(yè)/共38頁(yè)2023/1/17-33-1.7內(nèi)存的抽象表示和使用
第33頁(yè)/共38頁(yè)第32頁(yè)/共38頁(yè)2023/1/17-34-1.7內(nèi)存的抽象表示和使用內(nèi)存的抽象表示每個(gè)存儲(chǔ)單元可以存放一個(gè)字節(jié)(8bit)數(shù)據(jù),每個(gè)內(nèi)存單元有一個(gè)唯一的地址。
10110010678第34頁(yè)/共38頁(yè)第33頁(yè)/共38頁(yè)2023/1/17-35-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ū)分為:
棧區(qū),也叫堆棧區(qū),用于存放程序函數(shù)中的局部變量。全局變量和靜態(tài)變量區(qū),
是長(zhǎng)期存放數(shù)據(jù)的區(qū)域。常量區(qū):一般是存放字符串常量的地方。堆區(qū):在程序執(zhí)行過(guò)程中申請(qǐng)內(nèi)存要在堆區(qū)分配空間。第35頁(yè)/共38頁(yè)第34頁(yè)/共38頁(yè)2023/1/17-36-1.7內(nèi)存的抽象表示和使用//例1-2顯示不同數(shù)據(jù)的地址#include<iostream>usingnamespacestd;inta=10; //全局變量voidmain(){intb=20,c=30; //局部變量
char*ch="Beijing";sta
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力工程安全施工管理與保障
- 用心做報(bào)告職場(chǎng)晉升無(wú)憂
- 電力企業(yè)中設(shè)備安裝調(diào)試的技術(shù)管理探討
- 生產(chǎn)資源合理利用與節(jié)約控制訓(xùn)練
- 2025年秦皇島貨運(yùn)資格證試題及答案
- 煙臺(tái)綠色建筑在醫(yī)療領(lǐng)域的推廣與應(yīng)用
- 淺析多媒體技術(shù)對(duì)幼兒美術(shù)教育的促進(jìn)作用
- 電子商務(wù)平臺(tái)用戶界面與用戶體驗(yàn)的融合
- 現(xiàn)代電商平臺(tái)教育領(lǐng)域的運(yùn)營(yíng)與盈利策略研究
- 現(xiàn)代科技在校園景觀雕塑設(shè)計(jì)中的實(shí)踐
- 信息技術(shù)課程標(biāo)準(zhǔn)2023版:義務(wù)教育小學(xué)階段
- 2024年興業(yè)銀行股份有限公司校園招聘考試試題參考答案
- 2024年常德職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整
- 天津市河?xùn)|區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 黑龍江省哈爾濱市2024年數(shù)學(xué)八年級(jí)下冊(cè)期末經(jīng)典試題含解析
- 克羅恩病的外科治療
- 金屬表面處理中的冷噴涂技術(shù)
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量檢測(cè)化學(xué)試題(解析版)
- 建設(shè)平安校園筑牢安全防線
- 黑龍江省齊齊哈爾市2023-2024學(xué)年高一上學(xué)期1月期末英語(yǔ)試題(含答案解析)
- 精神科常見(jiàn)藥物中毒急救與護(hù)理課件
評(píng)論
0/150
提交評(píng)論