《C語言程序設(shè)計(jì)及應(yīng)用》課件第1章程序設(shè)計(jì)基礎(chǔ)_第1頁
《C語言程序設(shè)計(jì)及應(yīng)用》課件第1章程序設(shè)計(jì)基礎(chǔ)_第2頁
《C語言程序設(shè)計(jì)及應(yīng)用》課件第1章程序設(shè)計(jì)基礎(chǔ)_第3頁
《C語言程序設(shè)計(jì)及應(yīng)用》課件第1章程序設(shè)計(jì)基礎(chǔ)_第4頁
《C語言程序設(shè)計(jì)及應(yīng)用》課件第1章程序設(shè)計(jì)基礎(chǔ)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語言程序設(shè)計(jì)及應(yīng)用教學(xué)內(nèi)容:

C語言程序設(shè)計(jì)的基本語法、基本句法、基本結(jié)構(gòu)和基本程序設(shè)計(jì)方法。教學(xué)目的:

學(xué)習(xí)結(jié)束學(xué)生應(yīng)達(dá)到三會(huì)——會(huì)讀程序、會(huì)編程序、會(huì)調(diào)程序。課程要求課前請(qǐng)做好預(yù)習(xí)保持課堂安靜,頭腦清醒,思維活躍認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè)重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間第1章程序設(shè)計(jì)基礎(chǔ)1.1程序設(shè)計(jì)基本概念1.2一般程序設(shè)計(jì)方法1.3結(jié)構(gòu)化程序設(shè)計(jì)1.4程序設(shè)計(jì)風(fēng)格1.5C語言簡(jiǎn)介1.1程序設(shè)計(jì)基本概念1.1.1程序1.1.2算法1.1.3數(shù)據(jù)結(jié)構(gòu)1.1.4程序設(shè)計(jì)語言1.1.1程序一個(gè)程序是完成某一特定任務(wù)的一組指令序列,或者說,是為實(shí)現(xiàn)某一算法的指令序列。1.1.2算法

為解決一個(gè)問題而采取的方法和步驟,稱為“算法”(algorithm)。一個(gè)算法應(yīng)具有以下特點(diǎn):(1)有窮性。(2)確定性。(3)有零個(gè)或多個(gè)輸入。(4)有一個(gè)或多個(gè)輸出。(5)有效性。1.1.2算法

【例1-1】求n!(即求n的階乘)。設(shè)SUM代表累乘之積,A代表乘數(shù)。(1)置SUM=1,A=1。(2)使SUM*A,得到的結(jié)果放在SUM中。(3)使A增加1。(4)如果A≤n,跳到步驟(2);如果A>n,則算法終止,此時(shí)SUM中的值就是所求的結(jié)果。1.1.2算法

1.自然語言前面的【例1-1】就是用自然語言描述的。2.傳統(tǒng)流程圖

【例1-1】的傳統(tǒng)流程圖表示如下一頁的圖示。用傳統(tǒng)的流程圖表示算法,邏輯清楚,形象化,容易理解。

1.1.2算法

1.1.2算法

3.偽代碼偽代碼是用一種介于自然語言和計(jì)算機(jī)語言之間的文字和符號(hào)來描述算法。前面的【例1-1】例子可以用偽代碼如下表示:前面的例子可以用偽代碼如下表示: 輸入n

使A和SUM的值為1 DOSUM=SUM*A A=A+1 UNTILA>n

輸出SUM的值1.1.2算法

4.N-S結(jié)構(gòu)流程圖

1966年Bobra和Jacopini提出了三種基本結(jié)構(gòu):(1)順序結(jié)構(gòu),如左左圖所示。(2)選擇結(jié)構(gòu),如右下圖所示。1.1.2算法

(3)循環(huán)結(jié)構(gòu),如下圖所示。分當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)兩種。1.1.2算法

這三種結(jié)構(gòu)有以下幾個(gè)特點(diǎn):(1)只有一個(gè)入口。(2)只有一個(gè)出口。(3)結(jié)構(gòu)內(nèi)的每個(gè)部分都有可能被執(zhí)行到。(4)結(jié)構(gòu)內(nèi)沒有死循環(huán)。已經(jīng)證明,由這三種基本結(jié)構(gòu)組成的算法結(jié)構(gòu)可以解決任何復(fù)雜的問題。由基本結(jié)構(gòu)所構(gòu)成的算法叫做結(jié)構(gòu)化算法。1.1.2算法

1973年美國(guó)學(xué)者I.Nassi和B.Shneiderman提出了一種新的流程圖形式。(1)順序結(jié)構(gòu),如左下圖所示。(2)選擇結(jié)構(gòu),如右下圖所示,1.1.2算法(3)循環(huán)結(jié)構(gòu)。當(dāng)型循環(huán)如左下圖所示。直到型循環(huán)如右下圖所示。1.1.3數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)對(duì)象及其相互關(guān)系和構(gòu)造方法。一個(gè)數(shù)據(jù)結(jié)構(gòu)S可以形式地用一個(gè)二元組表示:S=(D,R)其中,D是數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)(又稱為“結(jié)點(diǎn)”的非空有限集合),R是定義在D上的關(guān)系的非空有限集合。舉例說明:【例1-2】在計(jì)算機(jī)科學(xué)中,復(fù)數(shù)可以如下定義:

COMPLEX=(C,R)其中C是含兩個(gè)實(shí)數(shù)的集合{c1,c2};R={P},而P是定義在集合C上的一種關(guān)系{<c1,c2>},其中c1是復(fù)數(shù)的實(shí)部,c2是復(fù)數(shù)的虛部。1.1.4程序設(shè)計(jì)語言

程序語言可以分為低級(jí)語言和高級(jí)語言兩大類。低級(jí)語言又叫面向機(jī)器的語言,它是特定的計(jì)算機(jī)系統(tǒng)所固有的語言。它又可分為機(jī)器語言和符號(hào)語言(匯編語言)兩類。機(jī)器語言就是計(jì)算機(jī)能夠直接識(shí)別和執(zhí)行的指令集合。符號(hào)語言是從機(jī)器語言發(fā)展演變而來的,它用一些“助記符號(hào)”來代替那些冗長(zhǎng)的二進(jìn)制指令。

1.1.4程序設(shè)計(jì)語言

高級(jí)語言的特點(diǎn)是:用一種接近自然語言和數(shù)學(xué)語言的專用語言來表示算法,而且與具體的計(jì)算機(jī)無關(guān),即用它所寫的程序可以在任一種計(jì)算機(jī)上運(yùn)行。常見的高級(jí)語言如下:FORTRAN語言。BASIC語言。COBOL語言。PASCAL語言。ADA語言。C語言。1.2一般程序設(shè)計(jì)方法1.2.1建立數(shù)學(xué)模型1.2.2選定算法1.2.3編程1.2.4測(cè)試及調(diào)試1.2.1建立數(shù)學(xué)模型建立數(shù)學(xué)模型是程序設(shè)計(jì)中最復(fù)雜、最困難的一步,好的數(shù)學(xué)模型本身就是一個(gè)定律,它要通過大量觀察、分析、推理、驗(yàn)證等工作才可以得到。在進(jìn)行程序設(shè)計(jì)時(shí)往往都是利用已有的基本數(shù)學(xué)模型去構(gòu)造出問題的模型。各種數(shù)學(xué),如微積分、運(yùn)籌學(xué)、圖論、高等數(shù)學(xué)等都是不同的基本數(shù)學(xué)模型。1.2.2選定算法算法是解決問題的方法與步驟。設(shè)計(jì)算法也是一件非常困難的工作,經(jīng)常采用的算法設(shè)計(jì)技術(shù)主要有迭代法、窮舉搜索法、遞推法、貪婪法、回溯法、分治法、動(dòng)態(tài)規(guī)劃法等等。通常設(shè)計(jì)一個(gè)好的算法應(yīng)考慮達(dá)到以下要求:(1)正確性。(2)可讀性。(3)健壯性。(4)效率與存儲(chǔ)空間需求。1.2.3編程編程就是將選定的算法從非計(jì)算機(jī)語言的描述形式轉(zhuǎn)換為計(jì)算機(jī)語言的語句形式描述出來。為一個(gè)特定的項(xiàng)目選擇語言時(shí)通常可以考慮以下因素:(1)應(yīng)用領(lǐng)域。(2)算法和計(jì)算的復(fù)雜性。(3)軟件運(yùn)行的環(huán)境(包括可使用的編譯程序)。(4)用戶需求(特別是性能需求)。(5)數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。(6)開發(fā)人員的水平。1.2.3編程在程序設(shè)計(jì)中要特別注意以下三點(diǎn): (1)語法。 (2)語義。 (3)語用。1.2.4測(cè)試及調(diào)試編程完成以后,首先應(yīng)該靜態(tài)審查程序,然后將高級(jí)語言源程序輸入計(jì)算機(jī),經(jīng)過編譯、連接,然后運(yùn)行。如果在某一步發(fā)現(xiàn)錯(cuò)誤,就必須找到錯(cuò)誤并改正,然后再?gòu)闹匦戮幾g運(yùn)行,直到得到正確結(jié)果為止。程序測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤和缺陷。1.3結(jié)構(gòu)化程序設(shè)計(jì)前面已經(jīng)提到過,只用三種基本的控制結(jié)構(gòu),通過組合和嵌套就能實(shí)現(xiàn)任何單入口單出口的程序——這就是結(jié)構(gòu)化程序設(shè)計(jì)基本原理。這三種結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。要設(shè)計(jì)出結(jié)構(gòu)的程序,應(yīng)當(dāng)采用以下的方法:(1)自頂向下。(2)逐步細(xì)化。(3)模塊化。1.4程序設(shè)計(jì)風(fēng)格(1)選擇合適的標(biāo)識(shí)符名字。(2)添加良好的注解。(3)注意程序的視覺效果。(4)數(shù)據(jù)說明。(5)語句構(gòu)造。(6)輸入和輸出。1.5C語言簡(jiǎn)介1.5.1C語言的特點(diǎn)1.5.2C程序的結(jié)構(gòu)1.5.2C程序的結(jié)構(gòu)1.5.3C語句概述1.5.4C程序的上機(jī)過程1.5.1C語言的特點(diǎn)一九七八年由美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語言。C語言是一種成功的系統(tǒng)描述語言,它主要有以下一些特點(diǎn):(1)語言表達(dá)能力強(qiáng)。C語言是面向數(shù)據(jù)結(jié)構(gòu)的程序設(shè)計(jì)語言,通用性好。(2)語言簡(jiǎn)潔、緊湊,使用靈活,易于學(xué)習(xí)和使用。(3)數(shù)據(jù)類型豐富,具有很強(qiáng)的結(jié)構(gòu)化控制語句。(4)語言生成的代碼質(zhì)量高。(5)語法限制不嚴(yán)格,程序設(shè)計(jì)自由度大。(6)可移植性好。1.5.2C程序的結(jié)構(gòu)可從下面的例子中了解到組成一個(gè)C源程序的基本部分和書寫格式。【例1-3】輸出“hello,world!”main(){

printf("hello,world!\n");}【例1-3】程序運(yùn)行結(jié)果如下圖所示。1.5.2C程序的結(jié)構(gòu)【例1-4】求正弦值。#include<math.h>/*include稱為文件包含命令, 擴(kuò)展名為.h的文件稱為頭文件*/#include<stdio.h>main(){doublex,s;/*定義兩個(gè)實(shí)數(shù)變量,以 被后面程序使用*/

printf("inputnumber:\n");/*顯示提示信息*/

scanf("%lf",&x);/*從鍵盤獲得一個(gè)實(shí)數(shù)x*/1.5.2C程序的結(jié)構(gòu)

s=sin(x);/*求x的正弦,并把它賦給變量s*/

printf(“sineof%lfis%lf\n”,x,s);/*顯示程序運(yùn)算 結(jié)果*/}/*main函數(shù)結(jié)束*/【例1-4】程序運(yùn)行結(jié)果如下圖所示。1.5.2C程序的結(jié)構(gòu)歸納起來C語言的程序結(jié)構(gòu)為:(1)C語言程序可由一個(gè)或多個(gè)函數(shù)組成。(2)C語言程序不論由多少個(gè)函數(shù)組成,都有且僅有一個(gè)main函數(shù),即主函數(shù)。(3)源程序中可以有預(yù)處理命令(include命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源程序的最前面。(4)每行可以寫一個(gè)或多個(gè)語句,一個(gè)語句也可以寫在多行上,但每一個(gè)語句都必須以分號(hào)結(jié)尾。預(yù)處理命令,函數(shù)頭和花括號(hào)“}”之后不能加分號(hào)。1.5.2C程序的結(jié)構(gòu)(5)可以用“/*”和“*/”對(duì)C中的任意部分做注釋,提高程序的可讀性。(6)函數(shù)由函數(shù)頭和函數(shù)體組成,函數(shù)說明的一般形式如下:函數(shù)類型

函數(shù)名(形參表){說明語句執(zhí)行語句}(7)組成一個(gè)程序的若干個(gè)函數(shù)可以保存在一個(gè)或幾個(gè)源程序文件中。1.5.2C程序的結(jié)構(gòu)C語言的結(jié)構(gòu)圖如下圖所示。1.5.3C語句概述1.表達(dá)式語句表達(dá)式語句由表達(dá)式加上分號(hào)“;”組成。其一般形式為:

表達(dá)式;2.函數(shù)調(diào)用語句函數(shù)調(diào)用語句由函數(shù)名、實(shí)際參數(shù)加上分號(hào)“;”組成。其一般形式為:

函數(shù)名(實(shí)際參數(shù)表);1.5.3C語句概述3.控制語句

C語言有九種控制語句,可分成以下三類: 條件判斷語句:if語句、switch語句。 循環(huán)執(zhí)行語句:dowhile語句、while 語句、for語句。 轉(zhuǎn)移語句:break語句、goto語句、 continue語句、return語句.1.5.3C語句概述4.復(fù)合語句把多個(gè)語句用括號(hào){}括起來組成的一個(gè)語句稱復(fù)合語句。在程序中應(yīng)把復(fù)合語句看成是單條語句,而不是多條語句。5.空語句只有分號(hào)“;”組成的語句稱為空語句。空語句是什么也不執(zhí)行的語句。1.5.4C程序的上機(jī)過程在DOS環(huán)境下或在Windows的DOS窗口下運(yùn)行TurboC2.0時(shí),只要在TC子目錄下鍵入TC并按回車鍵即可進(jìn)入TurboC2.0集成開發(fā)環(huán)境。也可在windows環(huán)境下直接雙擊tc.exe文件,就會(huì)進(jìn)入窗口模式的開發(fā)環(huán)境,如下圖所示。1.5.4C程序的上機(jī)過程啟動(dòng)TurboC以后將處于編輯程序(Edit)狀態(tài),即光標(biāo)處于中間的藍(lán)色編輯窗口中,用鍵盤上的方向鍵可以移動(dòng)屏幕上的光標(biāo)。下面是編輯、運(yùn)行C語言程序的基本過程:1.新建或打開文件啟動(dòng)TurboC以后系統(tǒng)就默認(rèn)新建了一個(gè)叫NONAME.C的文件,這時(shí)可以直接在編輯窗口中輸入源程序。2.編輯源文件可以在Edit窗口中輸入或修改源程序。1.5.4C程序的上機(jī)過程3.編譯源程序只需要按F9鍵,就可以進(jìn)行源程序的編譯和連接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論