《c程序設(shè)計基礎(chǔ)》第一章c初步課件_第1頁
《c程序設(shè)計基礎(chǔ)》第一章c初步課件_第2頁
《c程序設(shè)計基礎(chǔ)》第一章c初步課件_第3頁
《c程序設(shè)計基礎(chǔ)》第一章c初步課件_第4頁
《c程序設(shè)計基礎(chǔ)》第一章c初步課件_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C+程序設(shè)計基礎(chǔ)第1章 C+初步北京郵電大學(xué)信通院方莉mrs.fangli2第一章 C+入門C+語言是一門優(yōu)秀的程序設(shè)計語言,在計算機科學(xué)領(lǐng)域中有著廣泛的應(yīng)用。本章學(xué)習(xí):C+語言的發(fā)展史開發(fā)C+程序的步驟第一個C+程序3第一章 C+入門 1.1 程序設(shè)計語言的發(fā)展1 1.2 面向過程的程序設(shè)計2 1.3 面向?qū)ο蟮某绦蛟O(shè)計3 1.4 C+的誕生4 1.5 程序開發(fā)過程5 1.6 最簡單的C+程序6 1.7 內(nèi)存的表示和使用74第一章 C+入門 1.1 程序設(shè)計語言的發(fā)展1 1.2 面向過程的程序設(shè)計2 1.3 面向?qū)ο蟮某绦蛟O(shè)計3 1.4 C+的誕生4 1.5 程序開發(fā)過程5 1.6 最簡單的

2、C+程序6 1.7 內(nèi)存的表示和使用71.1 程序設(shè)計語言的發(fā)展 計算機程序計算機的工作是用程序來控制的;程序是指令的集合;指令是計算機可以識別的命令。61.1 程序設(shè)計語言的發(fā)展機器語言簡單的“0”和“1”的組合,與硬件相關(guān)。匯編語言 將機器語言映射為一些可以被人們讀懂的助記符,如“ADD”、“SUB”等,與硬件相關(guān)。高級語言接近自然語言,與硬件無關(guān)。71.1 程序設(shè)計語言的發(fā)展高級語言: 1、面向過程的語言 BASIC、PASCAL、C 2、面向?qū)ο蟮恼Z言 C+、JAVA 81.1 程序設(shè)計語言的發(fā)展例如:要向屏幕打印一個“A”字符 1、BASIC語言: PRINT “A” 2、PASCA

3、L語言:writeln(A); 3、C語言: printf(“A”); 4、C+語言: cout 實數(shù)的加法 -復(fù)數(shù)的加法1.3 面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ谲浖こ填I(lǐng)域的全面應(yīng)用。它包括:面向?qū)ο蟮姆治觯∣OA)面向?qū)ο蟮脑O(shè)計(OOD)面向?qū)ο蟮木幊蹋∣OP)面向?qū)ο蟮臏y試(OOT)面向?qū)ο蟮能浖S護(OOSM)29第一章 C+入門 1.1 程序設(shè)計語言的發(fā)展1 1.2 面向過程的程序設(shè)計2 1.3 面向?qū)ο蟮某绦蛟O(shè)計3 1.4 C+的誕生4 1.5 程序開發(fā)過程5 1.6 最簡單的C+程序6 1.7 內(nèi)存的表示和使用7301.4 C+的誕生C+語言從C語言的基礎(chǔ)上發(fā)

4、展起來的。 C語言歷史: 1、貝爾實驗室的Dennis Ritchie開發(fā) 2、在B語言的基礎(chǔ) 3、作為Unix操作系統(tǒng)的開發(fā)語言 優(yōu)點: 1、與硬件無關(guān) 2、設(shè)計嚴(yán)謹(jǐn)311.4 C+的誕生1978年,Brian Kernighan與Dennis Ritchie 出版了The C Programming Language是最早的經(jīng)典傳統(tǒng)C語言的書,很薄,只有兩百多頁,所以這本C語言的圣經(jīng)又稱K&R“。當(dāng)時很快出現(xiàn)了多個不兼容的C語言版本,因此需要制訂一種標(biāo)準(zhǔn)C。所以1988年,第二版The C Programming Language,是最經(jīng)典的標(biāo)準(zhǔn)C的書籍。321.4 C+的誕生C語言之父D

5、ennis RitchieThe C Programming Language331.4 C+的誕生C語言是一門面向過程的程序語言 優(yōu)點:1、豐富的運算符和數(shù)據(jù)類型;2、可直接訪問內(nèi)存3、程序運行效率高4、可移植性好 缺點:1、類型檢查機制較弱,許多錯誤編譯時不能發(fā)現(xiàn);2、不支持代碼重用;3、對于大規(guī)模程序,很難控制程序的復(fù)雜性。341.4 C+的誕生 C+語言的優(yōu)點: 1、簡化程序復(fù)雜性 2、促進(jìn)代碼重用 3、使用先進(jìn)的面向?qū)ο蠹夹g(shù)Bjarne出版了的經(jīng)典C+著作The C+ Programming Language ,1991年第2版,1997年第3版,2000年特別版,他被譽為C+之父。

6、 351.4 C+的誕生 C+之父Bjarne stroustrupThe C + Programming Language36Bjarne語錄1 不用害怕,一切都會隨著時間的推移而逐漸明朗起來。2 你并不需要在知道了C+的所有細(xì)節(jié)之后才能寫出好的C+程序。3 請?zhí)貏e關(guān)注程序設(shè)計技術(shù),而不是各種語言特征。371.4 C+的誕生C+語言是從C語言發(fā)展演變而來。C+包含了整個C,C是建立C+的基礎(chǔ)。C+包含C的所有特征、屬性、優(yōu)缺點,并添加了面向?qū)ο蟮闹С?。C+語言C語言面向?qū)ο?8第一章 C+入門 1.1 程序設(shè)計語言的發(fā)展1 1.2 面向過程的程序設(shè)計2 1.3 面向?qū)ο蟮某绦蛟O(shè)計3 1.4

7、C+的誕生4 1.5 程序開發(fā)過程5 1.6 最簡單的C+程序6 1.7 內(nèi)存的表示和使用71.5 程序開發(fā)過程 基本術(shù)語 源程序用源語言寫的,有待翻譯的程序目標(biāo)程序也稱為“結(jié)果程序”,是源程序通過翻譯程序加工以后所生成的程序??蓤?zhí)行程序目標(biāo)程序和所用的其他資源進(jìn)行鏈接,生成的可以直接運行的程序。翻譯程序:指一個把源程序翻譯成等價的目標(biāo)程序的工具。1.5 程序開發(fā)過程三種不同類型的翻譯程序匯編程序把用匯編語言寫成的源程序,翻譯成機器語言形式的目標(biāo)程序。編譯程序若源程序是用高級程序設(shè)計語言所寫,經(jīng)翻譯程序加工生成目標(biāo)程序,那么,該翻譯程序就稱為編譯程序。1.5 程序開發(fā)過程三種不同類型的翻譯程序

8、解釋程序這也是一種翻譯程序,同樣是將高級語言源程序翻譯成機器指令。它與編譯程序不同點就在于:它是邊翻譯邊執(zhí)行的,即輸入一句、翻譯一句、 執(zhí)行一句,直至將整個源程序翻譯并執(zhí)行完畢。1.5 程序開發(fā)過程 基本術(shù)語 鏈接程序?qū)R編程序或目標(biāo)程序與所需的其他資源進(jìn)行鏈接,生成可執(zhí)行文件的程序。431.5 程序開發(fā)過程源程序:.cpp compile(Ctrl+F7) 目標(biāo)程序:.obj Build(F7)可執(zhí)行程序:.exe1.5 程序開發(fā)過程編輯將源程序輸入到計算機中,生成后綴為cpp的磁盤文件。編譯將程序的源代碼轉(zhuǎn)換為機器語言代碼。鏈接將多個源程序文件以及庫中的某些文件連在一起,生成一個后綴為ex

9、e的可執(zhí)行文件。運行調(diào)試45第一章 C+入門 1.1 程序設(shè)計語言的發(fā)展1 1.2 面向過程的程序設(shè)計2 1.3 面向?qū)ο蟮某绦蛟O(shè)計3 1.4 C+的誕生4 1.5 程序開發(fā)過程5 1.6 最簡單的C+程序6 1.7 內(nèi)存的表示和使用7461.6 簡單的C+程序/*程序文件:ch1_1.cpp程序功能:在屏幕上輸出Hello world!作 者:XXX創(chuàng)建時間:XX年XX月XX日*/ #include using namespace std; void main() cout“Hello world!endl; 注釋編譯預(yù)處理程序主體471.6 簡單的C+程序 “注釋” 是程序員為讀者作的說明

10、,用來提高程序的可讀性,C+程序在編譯過程中忽略注釋。 1、“/” 用來注釋一行說明,在“/”之后的文字直到換行都為注釋。一般用來對于程序中難懂的代碼進(jìn)行說明。 2、 “/*”和“*/” 用來注釋一段說明,在“/*”和“*/”之間的部分,不管多長都為注釋。481.6 簡單的C+程序 所有以“#”開頭的代碼,稱為編譯預(yù)處理。 例:#include 每次啟動編譯器時,先運行預(yù)處理器,預(yù)處理器找到所有以“#”開頭的代碼行進(jìn)行處理。include是一條預(yù)處理指令,意思是“后面跟的是一個文件名,請找到該文件并將其加入?!眎ostream是系統(tǒng)定義的一個“頭文件”,它設(shè)置了C+的I/O相關(guān)環(huán)境,并定義了輸

11、入輸出流對象cout和cin等。491.6 簡單的C+程序 using namespace std; 1998年批準(zhǔn)的標(biāo)準(zhǔn)C+使用namespace命名空間標(biāo)準(zhǔn)。iostream是一個標(biāo)準(zhǔn)函數(shù)庫,cout是標(biāo)準(zhǔn)庫函數(shù)提供的一個對象,標(biāo)準(zhǔn)庫函數(shù)在namespace說明書中被指定為“std”。因此這句代碼的意思是使用標(biāo)準(zhǔn)命名空間std中的函數(shù)。501.6 簡單的C+程序正式的程序從代碼“void main()”開始,它包含一個名為main()的函數(shù),也稱為主函數(shù)。每個C+程序有且僅有一個main()函數(shù),程序在開始運行時會自動調(diào)用main()函數(shù)。 main()前面的void表示函數(shù)的返回值的類型

12、,意味著程序執(zhí)行結(jié)束后無需向操作系統(tǒng)返回。函數(shù):是指能實現(xiàn)一個或多個功能的代碼塊。511.6 簡單的C+程序 所有的函數(shù)都以左大括號開始,右大括號結(jié)束,在大括號 之間的部分稱為函數(shù)體。 cout“Hello world!”endl; 1、cout:標(biāo)準(zhǔn)輸出流對象, 2、: 插入操作符可以連續(xù)使用 3、endl:代表換行符 意思是使用cout將“”后面的內(nèi)容打印在屏幕上。在函數(shù)體的每一句代碼后面都有一個分號“;”表示一個C+語句的結(jié)束。521.6 簡單的C+程序操作步驟1、新建一個工程 1) 啟動VC+ 6.0(或VC2005) 2)新建一個項目,選擇“win32控制臺應(yīng)用程序”,空項目 3)

13、編寫源程序2、編譯和連接 編譯:compile(Ctrl+F7) 鏈接:Build(F7)3、運行 使用的命令:Ctrl+F553程序編譯環(huán)境和簡單設(shè)計及調(diào)試編譯環(huán)境:VC+ 6.0文件的建立1、工程的建立File-new-projects-win32 Console Application調(diào)試運行 2、文件的建立File -new-files-c+ source file 3、 調(diào)試、運行 1.1 程序設(shè)計語言的發(fā)展1 1.2 面向過程的程序設(shè)計2 1.3 面向?qū)ο蟮某绦蛟O(shè)計3 1.4 C+的誕生4 1.5 程序開發(fā)過程5 1.6 最簡單的C+程序6 1.7 內(nèi)存的表示和使用7第一章 C+入

14、門1.7 內(nèi)存的抽象表示和使用內(nèi)存的抽象表示 每個存儲單元可以存放一個字節(jié)(8 bit)數(shù)據(jù),每個內(nèi)存單元有一個唯一的地址。 101100106781.7 內(nèi)存的抽象表示和使用操作系統(tǒng)一般會把內(nèi)存劃分區(qū)域來使用,便于管理,比如代碼區(qū)、數(shù)據(jù)區(qū)等。被編譯成機器碼的程序在執(zhí)行時就會被復(fù)制到內(nèi)存的代碼區(qū)。數(shù)據(jù)區(qū)分為:棧區(qū),也叫堆棧區(qū),用于存放程序函數(shù)中的局部變量。全局變量和靜態(tài)變量區(qū),是長期存放數(shù)據(jù)的區(qū)域。常量區(qū):一般是存放字符串常量的地方。堆區(qū):在程序執(zhí)行過程中申請內(nèi)存要在堆區(qū)分配空間。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); 1.7 內(nèi)存的抽象表示和使用/例1-2 顯示不同數(shù)據(jù)的地址 cout全局變量a的地址:&aendl; cout局部變量b的地址:&b

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論