c語言教學(xué)資料-1程序設(shè)計基礎(chǔ)ppt課件_第1頁
c語言教學(xué)資料-1程序設(shè)計基礎(chǔ)ppt課件_第2頁
c語言教學(xué)資料-1程序設(shè)計基礎(chǔ)ppt課件_第3頁
c語言教學(xué)資料-1程序設(shè)計基礎(chǔ)ppt課件_第4頁
c語言教學(xué)資料-1程序設(shè)計基礎(chǔ)ppt課件_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第1章章 程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)2第第1 1章章 C C語言程序設(shè)計基礎(chǔ)語言程序設(shè)計基礎(chǔ) 1.1 人的思維形式人的思維形式 1.2 程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 1.3 C語言的發(fā)展與特點語言的發(fā)展與特點 1.4 C程序開發(fā)及運行環(huán)境程序開發(fā)及運行環(huán)境本章內(nèi)容本章內(nèi)容31.1 1.1 人的思維形式人的思維形式v思維是人腦的功能,思維的進行必須借助語言。思維是人腦的功能,思維的進行必須借助語言。思維的結(jié)果也必須通過語言表現(xiàn)才能為人們所感思維的結(jié)果也必須通過語言表現(xiàn)才能為人們所感受。受。v通常所說的語言為人類自然語言,廣義的語言還通常所說的語言為人類自然語言,廣義的語言還包括人工語言,人工語言就是

2、人工定義的一套符包括人工語言,人工語言就是人工定義的一套符號系統(tǒng)。號系統(tǒng)。v人們?yōu)榱四苁褂嬎銠C接受人類的思想,制定了各人們?yōu)榱四苁褂嬎銠C接受人類的思想,制定了各種符號和語法規(guī)則,這種語言稱為計算機語言。種符號和語法規(guī)則,這種語言稱為計算機語言。41.1 1.1 人的思維形式人的思維形式v當人們想通過計算機完成人的某些功能時,必須當人們想通過計算機完成人的某些功能時,必須事先把人完成該功能的思維過程用計算機語言表事先把人完成該功能的思維過程用計算機語言表達出來,輸入計算機就是程序),當人們向計達出來,輸入計算機就是程序),當人們向計算機發(fā)出執(zhí)行的指令時,計算機就會快速、高效算機發(fā)出執(zhí)行的指令時,

3、計算機就會快速、高效的完成。的完成。v本學(xué)期學(xué)習的本學(xué)期學(xué)習的C C語言就是計算機語言中的一種,它語言就是計算機語言中的一種,它同樣具有計算機語言的特征,有自己的基本符號、同樣具有計算機語言的特征,有自己的基本符號、數(shù)據(jù)類型、運算符和語法規(guī)則。數(shù)據(jù)類型、運算符和語法規(guī)則。51.2 1.2 程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 1.2.2 面向過程與面向?qū)ο竺嫦蜻^程與面向?qū)ο?1.2.3 數(shù)據(jù)結(jié)構(gòu)概述數(shù)據(jù)結(jié)構(gòu)概述 1.2.4 算法算法本節(jié)內(nèi)容本節(jié)內(nèi)容 1.2.1 程序設(shè)計的基本概念程序設(shè)計的基本概念61.2.1 1.2.1 程序設(shè)計的基本概念程序設(shè)計的基本概念v1.2.1.1 1.2.1.1 程序程序v程序

4、程序 (Program) (Program)就是一系列操作步驟的集合。就是一系列操作步驟的集合。v計算機程序計算機程序(Computer program)(Computer program)就是人們事先規(guī)就是人們事先規(guī)定的,讓計算機完成某項工作的若干操作步驟的定的,讓計算機完成某項工作的若干操作步驟的集合。每一個步驟都是用計算機能夠理解的指令集合。每一個步驟都是用計算機能夠理解的指令來描述的。來描述的。v指令指令(Instruction)(Instruction)是計算機能夠理解的操作命令。是計算機能夠理解的操作命令。指令告訴計算機指令告訴計算機“做什么和做什么和“怎么做怎么做”。71.2.1

5、 1.2.1 程序設(shè)計的基本概念程序設(shè)計的基本概念v1.2.1.2 1.2.1.2 程序設(shè)計程序設(shè)計v程序設(shè)計程序設(shè)計ProgrammingProgramming是給出解決特定問題程是給出解決特定問題程序的過程,是軟件構(gòu)造活動中的重要組成部分序的過程,是軟件構(gòu)造活動中的重要組成部分v1. 1. 分析階段分析階段v2. 2. 設(shè)計階段設(shè)計階段v3. 3. 編碼階段編碼階段v4. 4. 測試階段測試階段v5. 5. 調(diào)試和運行階段調(diào)試和運行階段81.2.1 1.2.1 程序設(shè)計的基本概念程序設(shè)計的基本概念v1.2.1.31.2.1.3程序設(shè)計語言程序設(shè)計語言v程序設(shè)計語言程序設(shè)計語言Program

6、ming LanguageProgramming Language是一組是一組用來定義計算機程序的語法規(guī)則。用來定義計算機程序的語法規(guī)則。機器語言機器語言匯編語言匯編語言高級語言高級語言面向過程面向過程面向?qū)ο竺嫦驅(qū)ο?1.2.1 1.2.1 程序設(shè)計的基本概念程序設(shè)計的基本概念0 0 1 0 0 0 1 10 0 1 0 0 0 1 11 1 1 0 1 1 0 11 1 1 0 1 1 0 10 1 1 0 0 0 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 MOV AX, 300HADD BX, AXMOV 2100H, BX HL

7、Tmain( ) int a=300, b=18, c; c=a+b; printf(a+b=%dn, c);源程序需要翻譯源程序需要翻譯101.2.2 1.2.2 面向過程與面向?qū)ο竺嫦蜻^程與面向?qū)ο?v“面向過程是一種以事件為中心的編程思想;面向過程是一種以事件為中心的編程思想;v面向過程是分析出解決問題所需要的步驟,然后面向過程是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候依用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候依次調(diào)用這些函數(shù)。次調(diào)用這些函數(shù)。v“面向?qū)ο竺嫦驅(qū)ο蟆?Object Oriented,”(Object Oriented,簡稱簡稱OOP)OOP

8、)是一種是一種以事物為中心的編程思想。以事物為中心的編程思想。v面向?qū)ο笫前褬?gòu)成問題事務(wù)分解成各個對象,建面向?qū)ο笫前褬?gòu)成問題事務(wù)分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。描敘某個事物在整個解決問題的步驟中的行為。111.2.2 1.2.2 面向過程與面向?qū)ο竺嫦蜻^程與面向?qū)ο髒在進行面向過程的程序開發(fā)時,需要程序的編寫在進行面向過程的程序開發(fā)時,需要程序的編寫者要十分清楚這個程序有那些功能,或者說有哪者要十分清楚這個程序有那些功能,或者說有哪些函數(shù),函數(shù)之間是怎樣進行調(diào)用的,每一步的些函數(shù),

9、函數(shù)之間是怎樣進行調(diào)用的,每一步的函數(shù)返回值是什么,需要程序開發(fā)者嚴格控制每函數(shù)返回值是什么,需要程序開發(fā)者嚴格控制每一個步驟,對每個步驟做到心中有數(shù)。一個步驟,對每個步驟做到心中有數(shù)。v而面向?qū)ο蟪绦蛟O(shè)計方法以數(shù)據(jù)為中心來描述系而面向?qū)ο蟪绦蛟O(shè)計方法以數(shù)據(jù)為中心來描述系統(tǒng),數(shù)據(jù)相對于功能而言具有較強的穩(wěn)定性,因統(tǒng),數(shù)據(jù)相對于功能而言具有較強的穩(wěn)定性,因此更易于維護。此更易于維護。12 1.2.3 1.2.3 數(shù)據(jù)結(jié)構(gòu)概述數(shù)據(jù)結(jié)構(gòu)概述v數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)v數(shù)據(jù)結(jié)構(gòu)是帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)是帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合。v或者說,數(shù)據(jù)結(jié)構(gòu)是指互相之間存在著一種或多種或者說,數(shù)據(jù)結(jié)構(gòu)是指互相

10、之間存在著一種或多種關(guān)系的數(shù)據(jù)元素的集合。關(guān)系的數(shù)據(jù)元素的集合。v課時所限本課程不對數(shù)據(jù)結(jié)構(gòu)展開討論。課時所限本課程不對數(shù)據(jù)結(jié)構(gòu)展開討論。131.2.4 1.2.4 算法算法v算法算法v是為解決某一特定問題而采取的具體的步驟的序是為解決某一特定問題而采取的具體的步驟的序列。列。v計算機算法分為兩類:計算機算法分為兩類:v數(shù)值運算算法數(shù)值運算算法v非數(shù)值運算算法非數(shù)值運算算法141.2.4 1.2.4 算法算法v1.2.4.1 1.2.4.1 算法的特征算法的特征v有窮性:在有限的操作步驟內(nèi)完成有窮性:在有限的操作步驟內(nèi)完成v確定性:每個步驟確定,步驟的結(jié)果確定確定性:每個步驟確定,步驟的結(jié)果確

11、定v輸輸 入:算法有零個或多個輸入入:算法有零個或多個輸入v輸輸 出:算法執(zhí)行完畢,必須有一個或若干個輸出:算法執(zhí)行完畢,必須有一個或若干個輸出結(jié)果出結(jié)果v可行性:算法的每一步都是能夠?qū)崿F(xiàn)的,即是可可行性:算法的每一步都是能夠?qū)崿F(xiàn)的,即是可操作的操作的151.2.4 1.2.4 算法算法v1.4.1.2 1.4.1.2 算法的組成要素:算法的組成要素:v算法中對數(shù)據(jù)的運算和操作算法中對數(shù)據(jù)的運算和操作v算法是按照要求從環(huán)境能夠運行的所有操作中選算法是按照要求從環(huán)境能夠運行的所有操作中選擇合適的操作所組成的一組指令序列擇合適的操作所組成的一組指令序列 v算法的控制結(jié)構(gòu)算法的控制結(jié)構(gòu)v算法中各操作

12、步驟之間的執(zhí)行順序算法中各操作步驟之間的執(zhí)行順序v包括順序、選擇、循環(huán)三種結(jié)構(gòu)包括順序、選擇、循環(huán)三種結(jié)構(gòu)161.2.4 1.2.4 算法算法v1.2.4.3 1.2.4.3 算法的描述方法算法的描述方法v1 1、用自然語言描述、用自然語言描述v容易出現(xiàn)歧義,難以清晰地表達出分支、循環(huán)結(jié)容易出現(xiàn)歧義,難以清晰地表達出分支、循環(huán)結(jié)構(gòu)。構(gòu)。v2 2、用偽代碼描述、用偽代碼描述v沒有統(tǒng)一標準,不易相互交流。沒有統(tǒng)一標準,不易相互交流。v3 3、用流程圖描述、用流程圖描述v使用廣泛,歷史較長。結(jié)構(gòu)不是最嚴謹。使用廣泛,歷史較長。結(jié)構(gòu)不是最嚴謹。v4 4、用、用N-SN-S圖描述圖描述v取消流程線,結(jié)構(gòu)

13、嚴謹。取消流程線,結(jié)構(gòu)嚴謹。1.2.4 算法算法171.2.4 1.2.4 算法算法v順序結(jié)構(gòu)順序結(jié)構(gòu)v先執(zhí)行先執(zhí)行A A,再執(zhí)行,再執(zhí)行B B,兩者是順序執(zhí)行關(guān)系,兩者是順序執(zhí)行關(guān)系B BA A (a) (a)A AB B (b) (b)NSNS流程圖流程圖181.2.4 1.2.4 算法算法v選擇結(jié)構(gòu)選擇結(jié)構(gòu)v當當P P條件為真時,執(zhí)行條件為真時,執(zhí)行A A,否則執(zhí)行,否則執(zhí)行B BA AP PB B真真假假(a)(a)P P真真假假A AB B(b)(b)191.2.4 1.2.4 算法算法v當型循環(huán)結(jié)構(gòu)當型循環(huán)結(jié)構(gòu)v當當P P條件成立時,反復(fù)執(zhí)行條件成立時,反復(fù)執(zhí)行A A,直到,直到P

14、 P為假為假P PA A假假真真(a)(a)(b)(b)A A當當P P為真為真201.2.4 1.2.4 算法算法v直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)v先執(zhí)行先執(zhí)行A A,再判斷,再判斷P P,若,若P P為真,再執(zhí)行為真,再執(zhí)行A A,直到,直到P P為為假為止假為止(a)(a)A A為真循環(huán),直到為真循環(huán),直到P P為為假假(b)(b)A AP P真真假假211.2.4 1.2.4 算法算法v已經(jīng)證明,任何復(fù)雜的問題都可以三種基本算法已經(jīng)證明,任何復(fù)雜的問題都可以三種基本算法結(jié)構(gòu)來描述:順序、選擇、循環(huán)。因此用計算機結(jié)構(gòu)來描述:順序、選擇、循環(huán)。因此用計算機語句描述的程序也包含三種基本結(jié)構(gòu)語句

15、描述的程序也包含三種基本結(jié)構(gòu)v程序的三種基本結(jié)構(gòu)程序的三種基本結(jié)構(gòu)v順序結(jié)構(gòu)程序:按照書寫順序依次執(zhí)行語句順序結(jié)構(gòu)程序:按照書寫順序依次執(zhí)行語句v選擇結(jié)構(gòu)程序:按照條件判斷選擇執(zhí)行語句選擇結(jié)構(gòu)程序:按照條件判斷選擇執(zhí)行語句v循環(huán)結(jié)構(gòu)程序:通過條件控制循環(huán)執(zhí)行語句循環(huán)結(jié)構(gòu)程序:通過條件控制循環(huán)執(zhí)行語句22 1.3 C 1.3 C語言的發(fā)展與特點語言的發(fā)展與特點 1.1 人的思維形式人的思維形式 1.3.2 C語言的特點語言的特點 1.3.3 簡單程序示例簡單程序示例 1.3.4 C程序的書寫格式程序的書寫格式本節(jié)內(nèi)容本節(jié)內(nèi)容 1.3.1 C語言的發(fā)展狀況語言的發(fā)展狀況1.3.5 main函數(shù)函數(shù)

16、 231.3.1 C1.3.1 C語言的發(fā)展狀況語言的發(fā)展狀況v語言是語言是19711971年由美國貝爾實驗室的年由美國貝爾實驗室的D.M.RitchieD.M.Ritchie設(shè)計發(fā)明的,設(shè)計發(fā)明的,19721972年投入使用。年投入使用。v19731973年年K.ThompsonK.Thompson和和D.M.RitchieD.M.Ritchie用語言重寫用語言重寫UNIXUNIX操作系統(tǒng)獲得巨大成功。操作系統(tǒng)獲得巨大成功。v19831983年美國國家標準化協(xié)會年美國國家標準化協(xié)會(ANSI)(ANSI)為語言制定為語言制定了一套了一套ANSIANSI標準,標準,19871987年年ANSI

17、ANSI公布了公布了87 ANSI87 ANSI標準標準成為現(xiàn)行的語言標準。成為現(xiàn)行的語言標準。v語言已成為程序員使用最多的編程語言之一。語言已成為程序員使用最多的編程語言之一。無論是面向硬件編程,還是面向大型數(shù)據(jù)庫編程;無論是面向硬件編程,還是面向大型數(shù)據(jù)庫編程;無論編寫應(yīng)用軟件,還是編寫操作系統(tǒng);語言無論編寫應(yīng)用軟件,還是編寫操作系統(tǒng);語言都是首選編程語言。都是首選編程語言。241.3.1 C1.3.1 C語言的發(fā)展狀況語言的發(fā)展狀況251.3.1 C1.3.1 C語言的發(fā)展狀況語言的發(fā)展狀況圖形處理圖形處理影音編輯影音編輯操作系統(tǒng)操作系統(tǒng)辦公軟件辦公軟件網(wǎng)絡(luò)軟件網(wǎng)絡(luò)軟件游戲軟件游戲軟件科

18、學(xué)計算科學(xué)計算自動控制自動控制26 1.3.2 C 1.3.2 C語言的特點語言的特點v1. 1. 語言簡潔緊湊,使用靈活語言簡潔緊湊,使用靈活v2. 2. 運算功能豐富運算功能豐富v3. 3. 數(shù)據(jù)類型豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)類型豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)v4. 4. 具有結(jié)構(gòu)化的控制語句,以函數(shù)作為程序模塊具有結(jié)構(gòu)化的控制語句,以函數(shù)作為程序模塊v5. 5. 允許直接訪問物理地址及位操作允許直接訪問物理地址及位操作v6. 6. 語法限制不太嚴格、程序設(shè)計自由度大語法限制不太嚴格、程序設(shè)計自由度大v7. 7. 生成目標代碼質(zhì)量高,執(zhí)行效率高生成目標代碼質(zhì)量高,執(zhí)行效率高v8

19、. 8. 程序的可移植性好程序的可移植性好27 1.3.3 1.3.3 簡單程序示例簡單程序示例v輸出輸出 This is a c program ! This is a c program ! 輸完后換行輸完后換行#include void main() printf(“This is a c program! n”);28 1.3.3 1.3.3 簡單程序示例簡單程序示例v該程序只有一個名為該程序只有一個名為mainmain的主函數(shù),函數(shù)體花的主函數(shù),函數(shù)體花括號內(nèi)的內(nèi)容只有一個語句:括號內(nèi)的內(nèi)容只有一個語句:printfprintf輸出語句輸出語句vC C程序的特點程序的特點vC C程序

20、由函數(shù)組成,每個程序都必須有一個程序由函數(shù)組成,每個程序都必須有一個, ,且只且只能有一個名為能有一個名為mainmain的主函數(shù)。的主函數(shù)。29 1.3.3 1.3.3 簡單程序示例簡單程序示例v求兩個整數(shù)之和求兩個整數(shù)之和#include void main() int a,b,sum; /* 這是定義變量這是定義變量 */ a=123; b=456; sum = a+b; printf(“Sum is %d n”, sum); 30 1.3.3 1.3.3 簡單程序示例簡單程序示例v例例1.31.3:從鍵盤輸入兩個整數(shù),將最大值顯示出來:從鍵盤輸入兩個整數(shù),將最大值顯示出來#includ

21、e int max(int x, int y) /*求最大值函數(shù)*/ int z; if(xy) z = x; else z = y; return(z);31 1.3.3 1.3.3 簡單程序示例簡單程序示例main( ) int a,b,c; /*聲明部分,定義變量*/ printf(“Please input two integers:n”); scanf(“%d, %d”, &a, &b); c = max(a,b); printf(“max=%d n”, c);32 1.3.3 1.3.3 簡單程序示例簡單程序示例vC C程序特點程序特點v函數(shù)由函數(shù)首部和函數(shù)體構(gòu)成,

22、函數(shù)體由變量聲函數(shù)由函數(shù)首部和函數(shù)體構(gòu)成,函數(shù)體由變量聲明部分和執(zhí)行部分組成,執(zhí)行部分必須在聲明部明部分和執(zhí)行部分組成,執(zhí)行部分必須在聲明部分后面。分后面。v函數(shù)定義的一般格式為:函數(shù)定義的一般格式為:v 函數(shù)類型函數(shù)類型 函數(shù)名形參類型函數(shù)名形參類型1 1 形參形參1 1,形參,形參類型類型2 2形參形參2 2)v v聲明部分聲明部分v執(zhí)行部分執(zhí)行部分v33 1.3.4 C 1.3.4 C程序的書寫格式程序的書寫格式vC C程序的書寫格式有以下特點:程序的書寫格式有以下特點:v(1 1源程序是由函數(shù)構(gòu)成的,其中必須有一個源程序是由函數(shù)構(gòu)成的,其中必須有一個且只能有一個主函數(shù)且只能有一個主函數(shù)

23、mainmain函數(shù)),還可以有函數(shù)),還可以有到多個其它函數(shù)。程序由到多個其它函數(shù)。程序由mainmain函數(shù)的首句開始函數(shù)的首句開始執(zhí)行,由執(zhí)行,由mainmain函數(shù)的最后一句結(jié)束,函數(shù)中可調(diào)函數(shù)的最后一句結(jié)束,函數(shù)中可調(diào)用其它函數(shù)。用其它函數(shù)。v(2 2語言中用戶可以自己定義函數(shù),也可以使語言中用戶可以自己定義函數(shù),也可以使用系統(tǒng)提供的庫函數(shù)如:用系統(tǒng)提供的庫函數(shù)如:printfprintf函數(shù)和函數(shù)和scanfscanf函數(shù))。函數(shù))。Turbo CTurbo C提供了提供了300300多個庫函數(shù),要調(diào)用多個庫函數(shù),要調(diào)用的庫函數(shù),必須在源程序首部加上相應(yīng)的庫文的庫函數(shù),必須在源程序

24、首部加上相應(yīng)的庫文件包含例子中的:件包含例子中的:#include #include )。)。 34 1.3.4 C 1.3.4 C程序的書寫格式程序的書寫格式v(3 3語言函數(shù)內(nèi)部不能定義函數(shù)。主函數(shù)語言函數(shù)內(nèi)部不能定義函數(shù)。主函數(shù)mainmain可以放在某一用戶函數(shù)之前,也可以放在某一用可以放在某一用戶函數(shù)之前,也可以放在某一用戶函數(shù)之后,但被調(diào)用的函數(shù)應(yīng)在主調(diào)函數(shù)之前戶函數(shù)之后,但被調(diào)用的函數(shù)應(yīng)在主調(diào)函數(shù)之前定義或說明。定義或說明。v(4 4程序一般用小寫字母書寫,大、小寫字母程序一般用小寫字母書寫,大、小寫字母是有區(qū)別的,如是有區(qū)別的,如areaarea與與AreaArea代表不同的變

25、量。代表不同的變量。v(5 5程序書寫格式自由,一行內(nèi)可寫多條語句,程序書寫格式自由,一行內(nèi)可寫多條語句,若一條語句較長,可分寫在多行上。語句用分號若一條語句較長,可分寫在多行上。語句用分號“;”“;”結(jié)尾。結(jié)尾。v可以在可以在 內(nèi)寫若干條語句,構(gòu)成復(fù)合語句。內(nèi)寫若干條語句,構(gòu)成復(fù)合語句。35 1.3.4 C 1.3.4 C程序的書寫格式程序的書寫格式v(6 6語言的變量在使用之前必須先定義其數(shù)據(jù)語言的變量在使用之前必須先定義其數(shù)據(jù)類型,未經(jīng)定義的變量不能使用。類型,未經(jīng)定義的變量不能使用。v(7 7語言的函數(shù)由函數(shù)頭與函數(shù)體兩部分組成語言的函數(shù)由函數(shù)頭與函數(shù)體兩部分組成第一部分為函數(shù)頭函數(shù)說

26、明部分),包括函數(shù)第一部分為函數(shù)頭函數(shù)說明部分),包括函數(shù)返回值類型、函數(shù)名、函數(shù)參數(shù)及參數(shù)的數(shù)據(jù)類返回值類型、函數(shù)名、函數(shù)參數(shù)及參數(shù)的數(shù)據(jù)類型。第二部分為函數(shù)體部分,它是函數(shù)功能的實型。第二部分為函數(shù)體部分,它是函數(shù)功能的實現(xiàn)部分,包括變量定義與執(zhí)行語句。現(xiàn)部分,包括變量定義與執(zhí)行語句。v(8 8在程序中可以加一些注釋語句,以便提高源在程序中可以加一些注釋語句,以便提高源程序的可讀性。程序的注釋部分包含在程序的可讀性。程序的注釋部分包含在“/ /* *”和和“* */”/”之間。之間。361.3.5 main1.3.5 main函數(shù)函數(shù)vmain()main()是是C C程序中唯一可以直接運

27、行的函數(shù),其他程序中唯一可以直接運行的函數(shù),其他函數(shù)都直接或間接由函數(shù)都直接或間接由main()main()調(diào)用執(zhí)行。調(diào)用執(zhí)行。C C程序的執(zhí)程序的執(zhí)行開始于行開始于main()main()函數(shù),一個結(jié)構(gòu)良好的函數(shù),一個結(jié)構(gòu)良好的C C程序也應(yīng)程序也應(yīng)結(jié)束于結(jié)束于main()main()函數(shù)。函數(shù)。v對于一些較小的程序,用一個對于一些較小的程序,用一個main()main()函數(shù)就夠了,函數(shù)就夠了,全部的處理語句都放在全部的處理語句都放在main()main()函數(shù)中。函數(shù)中。 v對于一些復(fù)雜問題,需要進行模塊化設(shè)計,要將對于一些復(fù)雜問題,需要進行模塊化設(shè)計,要將一個復(fù)雜問題分解成若干個相對簡

28、單的一些子問一個復(fù)雜問題分解成若干個相對簡單的一些子問題,每個子問題由一個或多個函數(shù)來處理,題,每個子問題由一個或多個函數(shù)來處理,main()main()函數(shù)負責總控,并調(diào)用相應(yīng)的函數(shù)。函數(shù)負責總控,并調(diào)用相應(yīng)的函數(shù)。 371.3.5 main1.3.5 main函數(shù)函數(shù)vmain()main()是一個特殊的函數(shù),與其他函數(shù)一樣,該是一個特殊的函數(shù),與其他函數(shù)一樣,該函數(shù)也可以有返回值和參數(shù)表。本書第函數(shù)也可以有返回值和參數(shù)表。本書第5 5章將對章將對main()main()函數(shù)作更進一步說明。下面給出函數(shù)作更進一步說明。下面給出main()main()函函數(shù)的最簡單形式。數(shù)的最簡單形式。vm

29、ain() /main() /主函數(shù)名主函數(shù)名v / /函數(shù)體起始符函數(shù)體起始符v 局部變量聲明局部變量聲明v 執(zhí)行語句序列執(zhí)行語句序列v / /函數(shù)體終止符函數(shù)體終止符381.4 C1.4 C程序開發(fā)及運行環(huán)境程序開發(fā)及運行環(huán)境 1.4.2 VC+6.0集成開發(fā)環(huán)境集成開發(fā)環(huán)境 1.4.3 使用使用VC+6.0開發(fā)開發(fā)C程序程序本節(jié)內(nèi)容本節(jié)內(nèi)容 1.4.1 開發(fā)開發(fā)C程序的步驟程序的步驟39 1.4.1 1.4.1 開發(fā)開發(fā)C C程序的步驟程序的步驟v1.4.1.1 1.4.1.1 幾個基本概念幾個基本概念v(1 1源文件源文件v源文件又叫源程序,是用來保存特定編程語言的源文件又叫源程序,是

30、用來保存特定編程語言的代碼的文件,源文件中的代碼又叫源代碼。源文代碼的文件,源文件中的代碼又叫源代碼。源文件可以通過開發(fā)環(huán)境所提供的編輯器創(chuàng)建,也可件可以通過開發(fā)環(huán)境所提供的編輯器創(chuàng)建,也可以通過其他文件編輯器創(chuàng)建。例如,既可以利用以通過其他文件編輯器創(chuàng)建。例如,既可以利用Visual C+ 6.0Visual C+ 6.0集成環(huán)境也可以用集成環(huán)境也可以用WindowsWindows操作系操作系統(tǒng)中的統(tǒng)中的“記事本記事本” ” 創(chuàng)建和編輯創(chuàng)建和編輯C C源程序。源程序源程序。源程序通常以特定擴展名的文本文件形式保存在磁盤上。通常以特定擴展名的文本文件形式保存在磁盤上。例如,例如,C C語言源程

31、序文件的擴展名為語言源程序文件的擴展名為“.c”“.c”。401.4.1 1.4.1 開發(fā)開發(fā)C C程序的步驟程序的步驟v(2 2目標文件目標文件v目標文件又叫目標程序,是語言系統(tǒng)的編譯程序目標文件又叫目標程序,是語言系統(tǒng)的編譯程序?qū)⒃闯绦蚍g后生成的二進制代碼文件。目標程將源程序翻譯后生成的二進制代碼文件。目標程序也是以文件形式保存在磁盤上。例如,序也是以文件形式保存在磁盤上。例如,C C語言目語言目標程序文件的擴展名為標程序文件的擴展名為“.obj”.obj”。v(3 3可執(zhí)行文件可執(zhí)行文件v可執(zhí)行文件又叫可執(zhí)行程序,是計算機能直接識可執(zhí)行文件又叫可執(zhí)行程序,是計算機能直接識別和執(zhí)行的程序

32、,它是將目標文件與所需要的庫別和執(zhí)行的程序,它是將目標文件與所需要的庫文件等信息連接后生成的程序。保存在磁盤上,文件等信息連接后生成的程序。保存在磁盤上,可供用戶多次執(zhí)行。可供用戶多次執(zhí)行。C C語言可執(zhí)行文件的擴展名為語言可執(zhí)行文件的擴展名為“.exe”.exe”。411.4.1 1.4.1 開發(fā)開發(fā)C C程序的步驟程序的步驟v(4 4編譯程序編譯程序v編譯程序是高級語言系統(tǒng)提供的一種翻譯程序,編譯程序是高級語言系統(tǒng)提供的一種翻譯程序,其作用是將高級語言編寫的源程序翻譯成二進制其作用是將高級語言編寫的源程序翻譯成二進制代碼程序。例如,代碼程序。例如,C C語言和語言和FORTRANFORTR

33、AN語言為編譯型語言為編譯型語言,用它們編寫的程序必須經(jīng)過創(chuàng)建、編輯、語言,用它們編寫的程序必須經(jīng)過創(chuàng)建、編輯、編譯、連接和運行等幾個步驟才能完成。在對源編譯、連接和運行等幾個步驟才能完成。在對源程序編譯過程中發(fā)現(xiàn)的錯誤稱為編譯錯誤,而程程序編譯過程中發(fā)現(xiàn)的錯誤稱為編譯錯誤,而程序在運行時出現(xiàn)的錯誤稱為運行錯誤。序在運行時出現(xiàn)的錯誤稱為運行錯誤。v(5 5連接程序連接程序v連接程序是一種裝配程序,其作用是將一個或若連接程序是一種裝配程序,其作用是將一個或若干個目標程序(干個目標程序(.obj.obj和指定的庫文件(和指定的庫文件(.lib.lib連接起來,生成一個可執(zhí)行程序(連接起來,生成一個

34、可執(zhí)行程序(.exe.exe)。)。421.4.1 1.4.1 開發(fā)開發(fā)C C程序的步驟程序的步驟源文件源文件*.c、*.cppC編譯程序編譯程序VC+ 6.0目標文件目標文件*.obj沒有錯誤沒有錯誤目標文件目標文件*.obj目標文件目標文件*.obj有錯誤有錯誤反饋錯誤信息反饋錯誤信息修正修正Linker銜接銜接可執(zhí)行文件可執(zhí)行文件*.exe431.4.2 VC+6.01.4.2 VC+6.0集成開發(fā)環(huán)境集成開發(fā)環(huán)境vVisual C+ 6.0Visual C+ 6.0環(huán)境開發(fā)環(huán)境開發(fā)C C程序的過程如下:程序的過程如下:v1. 1. 建立工程項目建立工程項目v2. 2. 向工程項目中添加

35、新文件向工程項目中添加新文件v3. 3. 編輯源代碼編輯源代碼 v4. 4. 編譯和鏈接編譯和鏈接 v5. 5. 運行程序運行程序44 1.4.2 VC+6.0 1.4.2 VC+6.0集成開發(fā)環(huán)境集成開發(fā)環(huán)境45 1.4.3 1.4.3 使用使用VC+6.0VC+6.0開發(fā)開發(fā)C C程序程序v 在編譯在編譯C C源文件之前,需要創(chuàng)建一個工程項目源文件之前,需要創(chuàng)建一個工程項目v 選擇選擇“文件菜單項,出現(xiàn)下拉菜單,選擇文件菜單項,出現(xiàn)下拉菜單,選擇“新新建選項,則出現(xiàn)建選項,則出現(xiàn)“新建對話框新建對話框46 1.4.3 1.4.3 使用使用VC+6.0VC+6.0開發(fā)開發(fā)C C程序程序v選擇

36、選擇“工程標簽,在左邊的列表框中單擊工程標簽,在左邊的列表框中單擊“Win32 Console Application“Win32 Console Application選項,選項,v在右邊的在右邊的“工程下方的編輯框中輸入一個名字工程下方的編輯框中輸入一個名字如如firstfirst作為項目的名稱作為項目的名稱v單擊單擊“位置下方的按鈕,來選擇項目存放的位位置下方的按鈕,來選擇項目存放的位置置v然后單擊然后單擊“確定按鈕,出現(xiàn)一個對話框確定按鈕,出現(xiàn)一個對話框v在對話框中,單擊在對話框中,單擊“An empty project“An empty project選項,選項,然后單擊然后單擊“完

37、成按鈕,一個空項目就創(chuàng)建好了完成按鈕,一個空項目就創(chuàng)建好了47 1.4.3 1.4.3 使用使用VC+6.0VC+6.0開發(fā)開發(fā)C C程序程序48 1.4.3 1.4.3 使用使用VC+6.0VC+6.0開發(fā)開發(fā)C C程序程序v系統(tǒng)創(chuàng)建了一個名稱為系統(tǒng)創(chuàng)建了一個名稱為“firstfirst的文件夾,文件的文件夾,文件夾中創(chuàng)建了夾中創(chuàng)建了3 3個文件,一個子目錄個文件,一個子目錄49 1.4.3 1.4.3 使用使用VC+6.0VC+6.0開發(fā)開發(fā)C C程序程序v后綴名為后綴名為“.dsp“.dsp的是項目文件,保存項的是項目文件,保存項目設(shè)置,它維護所有源代碼文件,以及目設(shè)置,它維護所有源代碼文件,

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論