面向?qū)ο蟪绦蛟O計第1章.ppt_第1頁
面向?qū)ο蟪绦蛟O計第1章.ppt_第2頁
面向?qū)ο蟪绦蛟O計第1章.ppt_第3頁
面向?qū)ο蟪绦蛟O計第1章.ppt_第4頁
面向?qū)ο蟪绦蛟O計第1章.ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1,聲明 使用本課件至少128M內(nèi)存,并使用office 2000以上版本或使用自帶播放工具pptview。 使用本課件請配合選用人民郵電出版社出版 的c/c+程序設計教程。 如有任何意見和建議請發(fā)電子郵件件到 或 ,2,七、函數(shù)初步 八、C/C+程序上機步驟簡介,第一章 緒 論,3,七、函數(shù)初步 C/C+程序通過函數(shù)運轉(zhuǎn),函數(shù)操作數(shù)據(jù)和變量。 程序根據(jù)源代碼出現(xiàn)的先后次序一個一個語句地順序往 后執(zhí)行,稱為順序流程結(jié)構(gòu)。 遇到函數(shù)調(diào)用則流程轉(zhuǎn)入被調(diào)用的函數(shù)體,然后從被調(diào) 函數(shù)返回,執(zhí)行函數(shù)調(diào)用的下一條語句。 在編輯輸入上面的代碼時請注意: 新的集成開發(fā)環(huán)境支 持漢字出現(xiàn)在字符串中,但漢字環(huán)境的

2、標點符號與英文環(huán)境 的標點符號其編碼是不一樣的,因此在字符串之外的標點符 號一定要保證在英文環(huán)境中輸入,否則導致源代碼的語法錯 誤。,4,例 C流文件及函數(shù)調(diào)用實現(xiàn)順序流程 #include /void型函數(shù)vf的定義,放置于主控函數(shù)前 void vf (int x, int y, int s) / void表示函數(shù)沒有返回值,形參x,y,z是int型的變量 printf (%d, %dn, x+y, s); /花括號包含的語句表示函數(shù)體 int Add (int ,int ); /Add函數(shù)原型說明,表示入口形參為2個int型數(shù)據(jù),返回int型數(shù)據(jù) void Show() /圓括號中一無所有

3、表示入口無參,void Show()相當于 void Show (void) printf (輸入兩個整數(shù)t); ,5,int main (void) /圓括號中的void表示main函數(shù)此時沒有入口參數(shù),返回int型數(shù)據(jù) int i, j, sum; /*變量定義語句*/ Show () ; /*提示輸入兩個整數(shù)*/ scanf (%d, %d, /*返回信息給操作系統(tǒng)是好的編程風格*/ ,6,int Add (int l, int m) /*定義Add函數(shù),函數(shù)的返回類型為整型*/ /*入口參數(shù) l,m是整型*/ return l+m ; /*直接返回l,m數(shù)的和*/ / 函數(shù)調(diào)用Add(

4、i,j)根據(jù)返回類型確定為int型的表達式 執(zhí)行程序得到: 輸入兩個整數(shù) 5,6 Sum is 11 11,11,7,在編輯輸入上面的代碼時請注意,新的集成開發(fā)環(huán)境支 持漢字出現(xiàn)在字符串中,但漢字環(huán)境的標點符號與英文環(huán)境 的標點符號其編碼是不一樣的,因此在字符串之外的標點符 號一定要保證在英文環(huán)境中輸入,否則導致源代碼的語法錯 誤。 本程序包括用戶定義的函數(shù):主函數(shù)main()和普通的函 數(shù)Add以及vf。另外借用了系統(tǒng)提供的庫函數(shù)。 在stdio.h給出了標準輸入函數(shù)scanf標準輸出函數(shù) printf的原型說明。 Add函數(shù)的作用是求兩個整型變量的和,return關(guān)鍵字 所引出的語句將整型

5、變量l和m的和返回給主函數(shù)main,返 回值是通過函數(shù)調(diào)用的方式進行的。,8,程序主要包括如下6個步驟: 1. 變量的定義 2. 變量的初始化過程 3. 用戶與計算機實時交互 4. 算法的模塊化處理函數(shù) 5. 函數(shù)調(diào)用的虛實結(jié)合匹配 6. 控制權(quán)的帶信息返回,9,C/C+程序設計中變量必須明顯地定義才能使用,這 一點區(qū)別于FORTRAN語言存在變量的隱含說明。 語句int i, j, sum; 稱為變量定義語句,int是系統(tǒng)保 留的關(guān)鍵字,i, j, sum則是用戶引入的變量,變量定義語 句通知編譯器為這些變量分配內(nèi)存空間。 對引入的變量賦予初值,稱為變量的初始化。變量初始 化的位置和時刻是靈

6、活的,變量的初始值可以位于本程序段 內(nèi)、硬盤上或動態(tài)交互輸入。 函數(shù)調(diào)用的虛實結(jié)合匹配是指函數(shù)定義部分的形參與函 數(shù)調(diào)用時的實參一對一的呼應和結(jié)合過程,這一過程涉及到 語言隱含的函數(shù)調(diào)用機制。,10,C語言中的函數(shù)調(diào)用機制為變量的數(shù)值傳遞,因此虛實 結(jié)合匹配的時候采用了一個中轉(zhuǎn)站這就是變量的地址。 通過中轉(zhuǎn)站間接的完成被調(diào)函數(shù)對變量的賦值或改變。 輸入語句scanf (%d, %d, 的變量 sum前則沒有取地址運算符 /l, m是形參, 2. 函數(shù)原型說明 int Add (int l, int m); /形參的初始值在虛實結(jié)合時得到 3. 函數(shù)調(diào)用虛實結(jié)合匹配 sum = Add (i,

7、j); /i, j是匹配形參l, m的實參,12,函數(shù)定義對應函數(shù)的某種執(zhí)行動作,函數(shù)定義由標題頭 和函數(shù)體構(gòu)成,標題頭由返回類型、函數(shù)名和形參列表構(gòu) 成。 例如: int Add (int l, int m)是標題頭,return l+m; 是函數(shù)體 函數(shù)原型表明函數(shù)的接口要求,虛實結(jié)合匹配在函數(shù)調(diào) 用點進行,函數(shù)調(diào)用時將實參i, j 的值賦值給相應形參l, m; 相當于l=i, m=j。 函數(shù)的返回類型int與return中的表達式匹配。 一般地,C/C+程序是通過變量和函數(shù)來組織的。變量 用于識別內(nèi)存的數(shù)據(jù),函數(shù)則對這些數(shù)據(jù)進行操作和轉(zhuǎn)換處 理。,13,圖 C/C+程序的開發(fā)過程,14,

8、一般地,C/C+程序是通過變量和函數(shù)來組織的。變 量用于識別內(nèi)存的數(shù)據(jù),函數(shù)則對這些數(shù)據(jù)進行操作和轉(zhuǎn)換 處理。函數(shù)根據(jù)返回類型是否有值分兩類,其定義格式分兩 種: 1. 不返回值的函數(shù),稱為void型的函數(shù) void vf (類型1 形參1,類型2 形參2,.,類型n 形參n) 語句序列; return; /函數(shù)體 例: void vf (int x, int y, int s) printf (%d, %dn, x+y, s); ,15,2. 返回確定類型值的函數(shù) type f (T1 v1, T2 v2 ,., Tn vn) /*返回類型 函數(shù)名(形參列表)*/ 語句序列; return

9、expre; 例: int Add (int l, int m) int z=l + m; return z; type表函數(shù)的返回類型,T1,T2,Tn表示形參的類型名, 它們可以是int,double 以及結(jié)構(gòu)名等; f, vf, Add是函數(shù)名。,16,返回類型 函數(shù)名(形參列表) 稱為函數(shù)定義的標題 頭,標題頭圓括號中形參類型后的參數(shù) v1,v2,.,vn為形式 參數(shù),簡稱形參。 類型名、函數(shù)名和形參名遵循標識符的命名約定。將標 題頭拷貝過來,末尾添一個分號得到函數(shù)原型,其中的形參 v1,v2,.,vn可省略,格式為(左邊為抽象的原型描述,右邊 為具體的舉例): type f (T1

10、v1,T2 v2 ,.,Tn vn); int Add (int , int); 函數(shù)的標題頭和函數(shù)體構(gòu)成函數(shù)定義,緊接著右圓括 號”)”的最外層花括號包含的部分為函數(shù)體。 函數(shù)體由若干語句構(gòu)成,也可以根本沒有語句,此時 稱為空函數(shù)。,17,函數(shù)定義時標題頭的形參可以省略而僅有類型,此時表 示函數(shù)簡單的提供一個接口準備。 也可以根本沒有入口參數(shù)。 例如: void Show () printf ( 輸入兩個整數(shù)t); 。 expre是可以轉(zhuǎn)換為 type類型的表達式。type如果是 int,則函數(shù)運算的結(jié)果返回int型整數(shù)。 形參是入口,可以是各種類型的變量,也可以是指向這 些變量的指針。 函

11、數(shù)返回的數(shù)據(jù)為出口,函數(shù)可以返回變量,也可以返 回指針,指針是特殊的變量。,18,如果return之后跟隨表達式語句,表示將表達式的值轉(zhuǎn) 送給上層函數(shù),此時函數(shù)返回確定類型的數(shù)據(jù)。 如果return 語句之后緊貼一個分號或函數(shù)體中無return 語句,這樣的函數(shù)的返回類型則寫為void,表示函數(shù)不返回 值而僅執(zhí)行特定的運算或動作。 函數(shù)調(diào)用點實際代替形參的變量或表達式稱為實際參 數(shù),簡稱實參。實參是調(diào)用段可以求值的表達式。 函數(shù)調(diào)用由函數(shù)名、圓括號對和逗號依次分隔開的若干 實參構(gòu)成。函數(shù)名與圓括號對是必不可少的,在無參調(diào)用時 沒有實參。 例如: Show();,19,函數(shù)調(diào)用就是用具體的實參代

12、替形參的過程,實參x1, x2,xn應與形參列表的形參v1,v2,.,vn在位置、類型和個 數(shù)上一一匹配。 實參是形參的數(shù)據(jù)來源,是形參的初值。 在函數(shù)調(diào)用點相當于執(zhí)行了v1=x1,v2=x2,.,vn=xn的 初始化賦值運算。 不返回值的函數(shù)vf單獨調(diào)用 : vf (x1, x2, ., xn); 例: vf (i, j, sum); vf (i, j, Add ( i, j ); void類型的函數(shù)一般僅獨立調(diào)用,由此構(gòu)成函數(shù)調(diào)用 語句。,20,返回值的函數(shù)調(diào)用是表達式,簡稱函數(shù)調(diào)用是表達式。 返回值的函數(shù)調(diào)用歸屬于表達式,可以說C/C+語言是一種 構(gòu)筑于表達式之上的語言。 表達式是求值的

13、基本單位,變量和常數(shù)是最簡單的表達 式。變量和常數(shù)與運算符的組合可構(gòu)成復雜的表達式。 例如: l+m, sum=Add (i, j), 7+m/2*3 是表達式。 表達式之后加一個分號形成表達式語句,例如: sum=Add (i , j); 是表達式語句??啥啻卧谫x值運算符 = 左邊出現(xiàn)的表達式 是左值表達式,否則是右值表達式。變量是左值,常數(shù)是右 值。Add (i, j) 是右值。,21,返回值的函數(shù)調(diào)用f (x1, x2 ,., xn) 攜帶 return expre;返回的值。表達式expre能夠出現(xiàn)的地方, f (x1, x2, ., xn)幾乎可以等價的出現(xiàn)。 但C語言返回算術(shù)表達式

14、或返回指針表達式的函數(shù)調(diào)用 構(gòu)成右值。C+增添了返回左值的函數(shù)調(diào)用,這才是全部等 價的映射。 出現(xiàn)在函數(shù)體中函數(shù)調(diào)用里的函數(shù)名視為被調(diào)函數(shù),函 數(shù)體所隸屬的函數(shù)名則稱為主控函數(shù)。如函數(shù)名Add出現(xiàn)在 main函數(shù)體中,因此Add函數(shù)是main函數(shù)的被調(diào)函數(shù), main函數(shù)是Add函數(shù)的主控函數(shù)。 如果Add函數(shù)體中調(diào)用其它的函數(shù)如add1,則Add函 數(shù)是add1函數(shù)的主控函數(shù)。,22,C+中函數(shù)調(diào)用可以出現(xiàn)在main函數(shù)體之外的初始化 語句,此時函數(shù)被系統(tǒng)直接調(diào)用。主控函數(shù)也稱為主調(diào)函 數(shù)。 函數(shù)定義或函數(shù)原型引入或說明函數(shù)名稱。函數(shù)定義提 供函數(shù)體中的執(zhí)行代碼。C/C+中函數(shù)名具有全局作用

15、范 圍。 函數(shù)體中不能定義函數(shù),僅在函數(shù)體外定義函數(shù)。每一 個函數(shù)定義是獨立的,函數(shù)的定義次序不影響函數(shù)調(diào)用。 函數(shù)可以調(diào)用任何函數(shù)包括自身。函數(shù)調(diào)用索引函數(shù)名稱。 名稱先說明后索引。C+中每個函數(shù)調(diào)用都必須有一個 函數(shù)原型,除非函數(shù)定義直接放置于主控函數(shù)前。,23,八、C/C+程序上機步驟簡介 本節(jié)簡單介紹用Microsoft Visual C+提供的開發(fā)工具 生成console即字符方式的應用程序,如果使用其它廠商的 編譯器,細節(jié)會略有不同,但編輯、編譯、連接和運行的四 個步驟是必不可少的。 可以一氣呵成地執(zhí)行整套動作,也可以選擇性地實施其 中一個環(huán)節(jié)下面簡要地說明程序產(chǎn)生的步驟(以微軟的

16、 Developer Studio集成應用程序為例): 1. 啟動Microsoft Visual C+編譯系統(tǒng) 2. 從菜單上選擇File-New,或按Ctrl+N打開New對話框,24,3. 選取或激活New對話框的Projects工程項目,以便. 生成. dsw(Developer Studio workspace)文件。 4. 進一步鼠標點擊程序類型 Win32 Console Application,在Project name下鍵入工程 名如:dosApp1,將該工程文件置于一合適的磁盤路徑 Location下,如: c:mydocdosApp, 最后單擊New對話框的OK按鈕。此時彈出一個對話框。 5. 在四個選項中單選 An empty project ,然后點取 Finish按鈕,在彈出的信息對話框中,鼠標點擊OK按鈕。 到此系統(tǒng)生成并打開一個新項目工作區(qū)。,25,6. 從菜單上選擇File-New,

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論