全國計算機二級考試必看.ppt_第1頁
全國計算機二級考試必看.ppt_第2頁
全國計算機二級考試必看.ppt_第3頁
全國計算機二級考試必看.ppt_第4頁
全國計算機二級考試必看.ppt_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全國計算機等級考試 二級教程 -C語言程序設(shè)計,王艷群 E-mail:,第一章 程序設(shè)計基本概念,1.1 程序和程序設(shè)計 1.1.1 C程序 將需要計算機做的工作寫成一定形式的指令,并把它們存儲在計算機內(nèi)部的存儲器中,當(dāng)我們給出命令之后,它就按指令順序自動進行操作。我們把這種可以連續(xù)執(zhí)行的指令集合叫做“程序”。所以說,程序就是人與機器“溝通”的語言,也就是我們常說的“程序設(shè)計語言”。 程序設(shè)計語言的種類很多,用什么樣的語言寫的程序指令就叫什么程序,比如說用VB、C+、Java等語言寫的程序就相應(yīng)叫VB程序、C+程序、Java程序,當(dāng)然用C語言寫的程序就叫C程序。,計算機本身是不能直接識別由上面所說的高級語言編寫的程序的,它只能接受和處理由0和1的代碼構(gòu)成的二進制指令或數(shù)據(jù)。這種形式的指令是面向機器的,因此叫它“機器語言”。 那么由高級語言寫出來的程序相對于機器執(zhí)行的機器語言來說叫“源程序”,把由二進制代碼表示的程序稱為“目標(biāo)程序”。因此,在編寫完源程序以后,若想在機器上執(zhí)行該程序,就要有一種被叫做“編譯程序”的軟件把源程序翻譯成“目標(biāo)程序”。每種高級語言都有與它對應(yīng)的編譯程序。如C語言的編譯程序Turbo C.,C語言 源程序,C語言 編譯程序,二進制 機器指令,C源程序經(jīng)過C編譯程序編譯之后生成一個后綴為.OBJ的二進制文件(稱為目標(biāo)文件),然后由自然保護區(qū)為“連接程序”(Link)的軟件,把.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件??赏ㄟ^點擊或者輸入該文件的名字就可以執(zhí)行這個文件了。 1.1.2 程序設(shè)計 簡單程序設(shè)計一般包含以下幾個部分: 1.確定數(shù)據(jù)結(jié)構(gòu)。 2.確定算法。 3.編碼。,4.在計算機上調(diào)試程序。 5.整理并寫出文檔資料。 1.2 算法 學(xué)習(xí)計算機程序設(shè)計的目的就是在用語言作為工具,設(shè)計出可供計算機運行的程序。 那么,如何對一個已知的問題進行有效的求解呢?怎樣才能編寫出程序呢? 一般來說,除了待定合理的數(shù)據(jù)結(jié)構(gòu)外,關(guān)鍵的一步是設(shè)計算法,有了一個好的算法,就可以用任何一種計算機高級語言把算法轉(zhuǎn)換為程序(編寫程序)。 算法-為解決某個特定的問題而采取的確定且有限的步驟。,算法的五個特性: 1.有窮性; 2.確定性; 3.可行性; 4.有0個或多個輸入; 5.有1個或多人輸出; 算法的描述方法:偽代碼和流程圖。,1.3 結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu) 1.3.1 結(jié)構(gòu)化程序 結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成: 1. 順序結(jié)構(gòu); 2. 選擇結(jié)構(gòu); 3. 循環(huán)結(jié)構(gòu)。,順序結(jié)構(gòu),二分支選擇結(jié)構(gòu),選擇結(jié)構(gòu),多分支選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),當(dāng)型循環(huán)結(jié)構(gòu),直到型循環(huán)結(jié)構(gòu),注:A,B,A1.An可以是一個簡單語句,也可以是一個基本結(jié)構(gòu),已經(jīng)證明,由三種基本結(jié)構(gòu)所絡(luò)組成的算法可以解決任何復(fù)雜的問題。由三種基本結(jié)構(gòu)所構(gòu)成的算法稱為結(jié)構(gòu)化算法;由三種基本結(jié)構(gòu)所構(gòu)成的程序稱為結(jié)構(gòu)化程序。,例1.1 先后輸入若干個整數(shù),要求打印出其中最大的數(shù),當(dāng)輸入的數(shù)小于0時結(jié)束。用N-S流程圖表示算法。 解題思路:先輸入一個數(shù),在沒有其他數(shù)參加比較之前,它顯然是當(dāng)前最大的數(shù),把它放到變量max 中,讓max始終存放當(dāng)前已比較過的數(shù)中上最大值。然后輸入第二個數(shù),并與max比較,如果第二個數(shù)大于max,則用第二個數(shù)替換max中原來的值;如果第二個數(shù)小于max,則max中原來的值保持不變。如此循環(huán)下去,直到輸入的數(shù)小于0時程序結(jié)束。最后max中的值就是所有輸入數(shù)中的最大值。 根據(jù)上面的思路,畫出N-S流程圖。變量x用來控制循環(huán)的次數(shù),當(dāng)x0時,執(zhí)行循環(huán)體;在循環(huán)體內(nèi)進行兩個數(shù)的比較和和輸入新的x值。,讀入一個數(shù)給x,max=x,當(dāng)x0時,輸出max,xmax,max=x,是,否,讀入一個新數(shù)給x,例1.1程序的N-S流程圖,1.3.2 模塊化結(jié)構(gòu),當(dāng)計算機在處理比較復(fù)雜的任務(wù)時,所編寫的程序經(jīng)常會很長,而且通常情況下是由多人來完成的。這時就需要要處理的復(fù)雜問題分解成若干個子問題,如果這些子問題仍然很大,可以再劃分更小的子問題,直到劃分的子問題比較容易求解。而這個容易求解的小問題我們可以叫做一個模塊。通常我們稱這樣的程序設(shè)計方法為“模塊化”的方法,由一個個功能模塊構(gòu)成的程序結(jié)構(gòu)為模塊化結(jié)構(gòu)。 C語言是一種結(jié)構(gòu)化程序設(shè)計語言。提供了定義“函數(shù)”的功能,沒有子程序的概念,它提供的函數(shù)可 程序的所有功能;C語言允許對函數(shù)單獨進行編譯,從而可以實現(xiàn)模塊化。,C語言32個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義) auto break case char const continue default do double else enum extern float for goto if int l

溫馨提示

  • 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

提交評論