C語言程序設(shè)計任務(wù)驅(qū)動式教程課件_第1頁
C語言程序設(shè)計任務(wù)驅(qū)動式教程課件_第2頁
C語言程序設(shè)計任務(wù)驅(qū)動式教程課件_第3頁
C語言程序設(shè)計任務(wù)驅(qū)動式教程課件_第4頁
C語言程序設(shè)計任務(wù)驅(qū)動式教程課件_第5頁
已閱讀5頁,還剩381頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PPT模板下載:/moban/ 行業(yè)PPT模板:/hangye/ 節(jié)日PPT模板:/jieri/ PPT素材下載:/sucai/PPT背景圖片:/beijing/ PPT圖表下載:/tubiao/ 優(yōu)秀PPT下載:/xiazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 資料下載:/ziliao/ PPT課件下載:/kejian/ 范文下載:/fanwen/ 試卷下載:/shiti/ 教案下載:/jiaoan/ C語言程序設(shè)計任務(wù)驅(qū)動式教程第一單元 認識C語言程序第1頁,共386頁。關(guān)于程序:計算機是萬能的嗎?程序是什么?第2頁,共

2、386頁。關(guān)于計算機語言到現(xiàn)在為止,你懂幾種語言?什么是計算機語言?計算機語言是如何分類的?我們本學(xué)期所學(xué)習(xí)的C語言是什么樣的一種語言?第3頁,共386頁。工作任務(wù) 通過查閱資料、網(wǎng)絡(luò)資源了解C語言的發(fā)展史,C語言的特點及學(xué)習(xí)方法。第4頁,共386頁。思路指導(dǎo)1.在國家精品課資源網(wǎng)等網(wǎng)絡(luò)資源上查閱資料2.查閱相關(guān)書籍,對C語言有初步了解第5頁,共386頁。相關(guān)知識(一)C語言發(fā)展和特點1C語言的發(fā)展過程 C語言是1972年由美國的Dennis Ritchie(里奇)設(shè)計發(fā)明的。 美國國家標(biāo)準(zhǔn)研究所(ANSI)為C 語言制定了一套ANSI標(biāo)準(zhǔn), 成為現(xiàn)行的C語言標(biāo)準(zhǔn)。 C開始從UNIX進入其它操

3、作系統(tǒng),并很快在各類大、中、小和微型計算機上得到了廣泛的使用,成為當(dāng)代最優(yōu)秀的程序設(shè)計語言之一。 第6頁,共386頁。相關(guān)知識(一)C語言發(fā)展和特點 1C語言的特點 (1)C 語言是一種結(jié)構(gòu)化語言。(2)層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護。(3)C 語言的表現(xiàn)能力和處理能力極強。(4)具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。(5)可以直接訪問內(nèi)存的物理地址,進行位(bit)一級的操作。(6)由于C 語言實現(xiàn)了對硬件的編程操作,因此C 語言集高級語言 和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合 于應(yīng)用軟件的開發(fā)。(7)效率高,可移植性強。第7頁,共38

4、6頁。相關(guān)知識(二)為什么要學(xué)習(xí)CC 語言應(yīng)用極其廣泛,在對操作系統(tǒng)和對硬件進行操作的場合,C 語言明顯優(yōu)越于其他高級語言。 C語言語言簡潔,表達能力強,只有32個關(guān)鍵字,9種控制語句,便于初學(xué)者學(xué)習(xí)和掌握。 C 語言總是作為第一門程序設(shè)計課程,通過本課程的學(xué)習(xí),了解程序設(shè)計語言的基本知識,鍛煉邏輯思維能力,為后續(xù)程序設(shè)計課程打下基礎(chǔ)。 第8頁,共386頁。相關(guān)知識(三)怎樣學(xué)好C語言(1)反復(fù)地閱讀教材,初學(xué)者遇到的大部分問題,教材上都有解釋,書讀百遍,其義自見。(2)看懂教材上的例題,確??炊?,按著例題的思路默寫出來,讀者嘗試過就會知道看懂和默寫是兩個完全不同的程度。之后練習(xí)書后面的習(xí)

5、題,獨立思考,盡量先不要看答案或提示。熟能生巧,編程亦是如此。(3)閱讀他人的程序。沒有哪個作家不大量閱讀別人的作品,同樣讀者也可以從別人的代碼中吸取營養(yǎng),經(jīng)典代碼需要記誦。第9頁,共386頁。任務(wù)實施查閱、學(xué)習(xí)書籍資料及網(wǎng)絡(luò)資源。第10頁,共386頁。特別提示(1)當(dāng)編程遇到問題,首先應(yīng)該查看編譯器提供的信息。編譯本身就能輸出大量的提示。如果還不能解決,查閱教材和文檔,或上網(wǎng) (2)能看懂別人的程序,但自己做就覺得無從下手(3)英語不行怎么辦第11頁,共386頁。任務(wù)2:制作一張自己的名片C程序框架結(jié)構(gòu) 特別提示工作任務(wù)思路指導(dǎo)相關(guān)知識任務(wù)實施第12頁,共386頁。工作任務(wù) 剛剛走進大學(xué)校門

6、的同學(xué),為自己制作一張名片,讓老師和同學(xué)們記住你的名字吧。第13頁,共386頁。思路指導(dǎo) 用C語言編寫程序,在屏幕上輸出名片,就要了解C語言的結(jié)構(gòu)特點、編寫規(guī)則,學(xué)會使用C語言的編譯運行環(huán)境。第14頁,共386頁。一個典型的C語言程序#include “stdio.h” /*編譯預(yù)處理命令*/void main() /*主函數(shù)*/ int a,b,s; a=12; b=23; s=a+b; /*兩數(shù)求和*/ printf(“兩數(shù)之和是:%d”,s); /*輸出兩數(shù)之和*/第15頁,共386頁。相關(guān)知識(1)一個源程序都有且只有一個main() 函數(shù),即主函數(shù),其前面的void代表函數(shù)沒有返回值

7、。main() 函數(shù)下面用 括起來的部分是一個程序模塊。C語言的程序總是從主函數(shù)開始執(zhí)行,并且回到主函數(shù)結(jié)束。(2)以“#”開始的語句屬于預(yù)處理命令。源程序中可以有預(yù)處理命令,預(yù)處理命令通常放在源程序的最前面。(3)每一個語句都必須以分號結(jié)束,但預(yù)處理命令、函數(shù)頭和花括號之后不加分號。(4)標(biāo)識符和關(guān)鍵字之間,至少要加一個空格。(5)源程序中需要解釋和說明的部分,可以加以注釋,以增加程序的可讀性,編譯系統(tǒng)會跳過注釋行,不對其進行編譯。 “/*.*/” 是多行注釋,“/”是單行注釋。(一)C語言程序基本結(jié)構(gòu)1C語言程序的構(gòu)成 第16頁,共386頁。相關(guān)知識(1)在C語言中,雖然一行可以多個語句,

8、一個語句也可占多行,但建議一行只寫一個語句。(2)一般采用縮格式書寫格式,以提高程序的可讀性和清晰性。(3)C語言源代碼一般用小寫字母書寫,除非另有約定。(4)在程序代碼中,應(yīng)加上必要的注釋。(一)C語言程序基本結(jié)構(gòu)1C語言程序的書寫規(guī)則 第17頁,共386頁。相關(guān)知識(二)編譯和運行C語言程序1C語言程序的處理流程 寫好一個C語言源程序后,一般要經(jīng)過編輯、編譯、連接、運行才能得到程序結(jié)果 。(1)編輯:在文本編輯器中,用C語言語法編寫源程序代碼。源程序文件命名規(guī)范首字母大寫,擴展名為.c。(2)編譯:通過編譯器將源程序轉(zhuǎn)換成機器代碼,生成目標(biāo)程序(*.obj),在C語言源程序的編譯過程中,可

9、以檢查出程序中的語法錯誤。(3)連接:C語言是模塊化程序設(shè)計語言,一個C語言應(yīng)用程序可能由多個程序設(shè)計者分工合作完成,需要將所用到的庫函數(shù)以及其他目標(biāo)程序連接為一個整體,生成可執(zhí)行文件(*.exe)。(4)運行:運行可執(zhí)行文件后,可獲得程序運行結(jié)果。第18頁,共386頁。相關(guān)知識(二)編譯和運行C語言程序1C語言程序的處理流程 第19頁,共386頁。相關(guān)知識(二)編譯和運行C語言程序1C語言程序運行環(huán)境的應(yīng)用 程序設(shè)計語言一般都有其編譯運行環(huán)境,運行環(huán)境一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具,就是集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能,這種集成了編譯、運行、調(diào)試等功能的

10、軟件套組稱做集成開發(fā)環(huán)境,簡稱IDE (Integrated Development Environment)。 C語言的集成開發(fā)環(huán)境(IDE)很多,有的教程使用的是Turbo C運行環(huán)境,本書采用VC+6.0編譯程序作為C語言的集成開發(fā)環(huán)境。 1C語言IDE環(huán)境介紹 2VC+6.0的使用 第20頁,共386頁。任務(wù)實施小名片程序代碼如下:/*我的小名片*/#include void main()printf(*n);printf(姓名:小強t性別:男n);printf(學(xué)校:河北工業(yè)職業(yè)技術(shù)學(xué)院n);printf(系別:計算機技術(shù)系n);printf(*n);第21頁,共386頁。特別提示(

11、1)調(diào)試輸出區(qū)錯誤提示很多怎么辦?(2)初寫代碼容易出的錯誤 每條語句要以分號結(jié)束; 關(guān)鍵字拼寫一定要正確,C語言區(qū)分大小寫; 語句中的引號、分號等標(biāo)點符號全部是英文半角; “n”、“t”要寫在雙引號里面,“n”表示回車換行, “t”相當(dāng)于水平制表符,表示空格輸出; 在同一路徑下兩個C源程序文件,不能命名相同。第22頁,共386頁。拓展提高 1編程實現(xiàn)在屏幕上顯示如下三行文字 Hello, world ! Wolcome to the C language world! Everyone has been waiting for. 程序example.c如下: main() printf(He

12、llo,World!n); printf(Wolcome to the C language world!n); printf(Everyone has been waiting for.n); 第23頁,共386頁。拓展提高 2. 輸入并運行程序,寫出運行結(jié)果。 程序如下: main() int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %dn”,sum); 結(jié)果為:sum is 579。 第24頁,共386頁。單元小結(jié) 本單元介紹了C語言的發(fā)展和特征以及C語言的學(xué)習(xí)方法,重點介紹了C語言的程序結(jié)構(gòu)、運行過程及VC+6.0開發(fā)環(huán)境。讀者可從小

13、程序入手,通過上機練習(xí),熟悉C語言程序的開發(fā)環(huán)境工欲善其事,必先利其器,要精通一門語言,還需要繼續(xù)深入的學(xué)習(xí)。第25頁,共386頁。第一單元結(jié)束添加副標(biāo)題第26頁,共386頁。PPT模板下載:/moban/ 行業(yè)PPT模板:/hangye/ 節(jié)日PPT模板:/jieri/ PPT素材下載:/sucai/PPT背景圖片:/beijing/ PPT圖表下載:/tubiao/ 優(yōu)秀PPT下載:/xiazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 資料下載:/ziliao/ PPT課件下載:/kejian/ 范文下載:/fanwen/

14、試卷下載:/shiti/ 教案下載:/jiaoan/ C語言程序設(shè)計任務(wù)驅(qū)動式教程第二單元 C語言程序設(shè)計基礎(chǔ) 第27頁,共386頁。問題引入 上一個單元,我們制作了小名片,那么更進一步,如何用程序語言描述一個人的年齡、性別、身高、體重?在程序中,數(shù)據(jù)又是如何存儲的?帶著這些問題,我們繼續(xù)學(xué)習(xí)C語言吧。 在本單元,將通過幾個小任務(wù)介紹C語言中的標(biāo)識符、常量、變量、簡單數(shù)據(jù)類型、基本運算符號、表達式和數(shù)據(jù)類型轉(zhuǎn)換等。這是以后深入學(xué)習(xí)C語言的重要基礎(chǔ)。第28頁,共386頁。第二單元 C語言程序設(shè)計基礎(chǔ)任務(wù)1:計算圓的面積任務(wù)2:編制密碼任務(wù)3:分離數(shù)字問題單元任務(wù)單元小結(jié)拓展提高第29頁,共386

15、頁。任務(wù)1:計算圓的面積整型與實型數(shù)據(jù) 常量與變量特別提示工作任務(wù)思路指導(dǎo)相關(guān)知識任務(wù)實施第30頁,共386頁。工作任務(wù) 在C語言中,整型、實型數(shù)據(jù)如何描述,什么是常量,什么是變量? 先看一道數(shù)學(xué)問題:已知圓的半徑r,求圓的面積s的值。第31頁,共386頁。思路指導(dǎo)已知:圓的半徑r,整型。計算中用到圓周率,PI,值為3.14,是實型數(shù)據(jù),并且在運算中值不可變。輸出:圓的面積s,實型數(shù)據(jù)。處理:利用圓面積公式,求得圓面積。第32頁,共386頁。相關(guān)知識(一)標(biāo)識符1 系統(tǒng)標(biāo)識符 標(biāo)識符,就是程序用到的元素的名字。在程序中使用的變量名、常量名、數(shù)組名、函數(shù)名、標(biāo)號等統(tǒng)稱為標(biāo)識符(變量、常量、數(shù)組、

16、函數(shù)等在后續(xù)章節(jié)介紹)。C語言中的標(biāo)識符分為兩大類,一類是系統(tǒng)標(biāo)識符,另一類是用戶標(biāo)識符。 系統(tǒng)標(biāo)識符又稱關(guān)鍵字,是由語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。用戶自定義的標(biāo)識符不應(yīng)與關(guān)鍵字相同。 類型包括:類型說明符、語句定義符、預(yù)處理命令字、運算符、分隔符、注釋符第33頁,共386頁。2用戶標(biāo)識符 用戶自定義的標(biāo)識符稱為用戶標(biāo)識符。C語言規(guī)定,標(biāo)識符只能是字母(AZ,az)、數(shù)字(09)、下劃線組成的字符串,并且其第一個字符必須是字母或下劃線。 相關(guān)知識(一)標(biāo)識符在使用標(biāo)識符時還必須注意以下幾點:(1)在標(biāo)識符中,大小寫是有區(qū)別的。(2)標(biāo)識符雖然可由程序員隨意定義,但標(biāo)識符是用

17、于標(biāo)識某個量的符號。因此,命名應(yīng)盡量有相應(yīng)的意義,以便閱讀理解,作到“見名知意”。(3)標(biāo)識符不能和關(guān)鍵字相同。關(guān)鍵字是C語言預(yù)先定義的、有固定含義的標(biāo)識符,不能重新定義,也不能用作他用。第34頁,共386頁。相關(guān)知識(二)常量和變量 在程序的運行過程中,其值不能被改變的量就是常量。在C語言中,常量也有不同的表現(xiàn)形式:(1)直接常量。就是通常說的常數(shù),從表面形式即可判斷它屬于哪種數(shù)據(jù)類型。例如234是整型、5.89是實型、7就是字符型等。(2)符號常量。是指用編譯予處理命令#define規(guī)定一個標(biāo)識符代表一個常量。在程序之前定義符號常量,通常常量名用大寫字母標(biāo)識。1常量 常量聲明格式一般為:#

18、define 第35頁,共386頁。相關(guān)知識(二)常量和變量 變量是指在程序執(zhí)行過程中值可以改變的量,變量具有三要素:名稱、類型和值。認識變量應(yīng)從這三個要素入手。每個變量都有一個名字,稱為變量名。變量在計算機內(nèi)存中占據(jù)一定的存儲單元,存儲單元中存放著變量的值。事實上,對變量名的使用就是對其值的使用,至于它的存儲單元號并不需要關(guān)心。在C語言中,變量必須遵循“先定義,再賦值,后使用”的原則。2變量 (1)定義變量。在C語言中,變量的使用必須首先定義。變量的定義形式如下:類型說明符 變量名1 ,變量名2,;第36頁,共386頁。相關(guān)知識(二)常量和變量 (2)初始化變量。 變量的初始化是指在定義變量

19、的同時就給它賦一個初值。初始化語句格式如下: 類型說明符 變量名1=初值1 ,變量名2=初值2,; 例如:float x=4.5; char ch1=t; ch2=h;等都是合法的初始化語句。第37頁,共386頁。相關(guān)知識(二)常量和變量 (3)給變量賦值。 給變量賦值是指把一個數(shù)據(jù)傳送到系統(tǒng)給變量分配的存儲單元中。定義變量時,系統(tǒng)會自動根據(jù)變量類型為其分配存儲空間。但是如果此變量在定義時沒有被初始化,那么它的值就是一個無法預(yù)料的、沒有意義的值,所以通常要給變量賦予一個有意義的值。一般形式如下: 變量=表達式; 賦值語句說明:“=”在C語言中是賦值符號,不是等號。C語言中的等號用“=”表示。賦

20、值運算是把“=”右邊的表達式的值賦值給“=”左邊的變量。允許輾轉(zhuǎn)賦值,即允許一個表達式中包含多個“=”。例如:int x,y,z;x=y=z=1;表示先把1賦給變量z,再把z的值賦給變量y,最后將y的值賦給變量x。第38頁,共386頁。相關(guān)知識(三)數(shù)據(jù)類型 C語言中數(shù)據(jù)是有類型的,數(shù)據(jù)的類型簡稱數(shù)據(jù)類型。數(shù)據(jù)類型可以分為:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、指針類型、空類型四大類。 1基本數(shù)據(jù)類型整型數(shù)據(jù) 整型數(shù)據(jù)包括整型常量、整型變量。(1)整型常量 在語言中,使用的整型常數(shù)有八進制、十六進制和十進制三種。 (2) 整型變量 整型變量可分為以下幾類: 基本型: 類型說明符為int。 短整量:類型說

21、明符為short int。 長整型:類型說明符為long int或long 。無符號型第39頁,共386頁。相關(guān)知識(三)數(shù)據(jù)類型2基本數(shù)據(jù)類型實型數(shù)據(jù)(1)實型常數(shù) 又稱浮點型數(shù)據(jù),按其能夠表示的精度和范圍,又分為單精度實型(float)、雙精度實型(double),各種類型的實型變量在內(nèi)存中所占字節(jié)數(shù)和數(shù)的取值范圍如表2-2所示。單精度型數(shù)值的有效數(shù)字為67位,雙精度型數(shù)值的有效數(shù)字為1516位。(2)實型變量 C語言提供的實型變量有:單精度型、雙精度型。 實型數(shù)據(jù)的表示方法有兩種形式:十進制小數(shù)形式和指數(shù)形式。第40頁,共386頁。相關(guān)知識第41頁,共386頁。任務(wù)實施已知半徑,求圓的面

22、積,程序代碼如下:/*求圓的面積*/#define PI 3.14 /聲明常量main()int r;/圓半徑rfloat s;/圓面積sr=2;s=PI*r*r;printf(“s=%.2f”,s);第42頁,共386頁。特別提示(1)允許在一個類型說明符后,說明多個相同類型的變量。各變量名之間用逗號間隔。類型說明符與變量名之間至少用一個空格間隔。(2)變量說明必須放在變量使用之前。一般放在函數(shù)體的開頭部分。第43頁,共386頁。任務(wù)2:編制密碼字符型數(shù)據(jù) 特別提示工作任務(wù)思路指導(dǎo)相關(guān)知識任務(wù)實施第44頁,共386頁。工作任務(wù) 編制一個密碼器,實現(xiàn)給友軍發(fā)送加密電報,報文是由小寫字母an組成

23、,在發(fā)報時每輸入一個字母,輸出與其相鄰的下一個字母,如何來編制這個密碼器呢?第45頁,共386頁。思路指導(dǎo)輸入:輸入小寫字母an存儲到變量word中輸出:加密后的字母存儲到變量password中,輸出password處理:輸入字符型數(shù)據(jù),輸出加1后的字符型數(shù)據(jù) 第46頁,共386頁。相關(guān)知識1. 基本數(shù)據(jù)類型字符型數(shù)據(jù)(1)字符常量 C語言中有兩種類型的字符常量:普通字符:用單引號括起來的單個字符。例如:%、2、a、Aa和A不同單引號中的空格符也是一個字符常量字符常量在內(nèi)存中占一個字節(jié),存放的是字符的ASCII值,如,a 的值是97、A的值是65、2的值是50。轉(zhuǎn)義字符:以“”開頭的具有特殊含

24、義的字符 第47頁,共386頁。相關(guān)知識(2)字符串常量 用雙引號括起來的零個、一個或多個字符序列,如,“Beijing”、“Im a student”、“%d%d”等都是合法的字符串常量。字符串常量在內(nèi)存中存儲時,依次存放的是串中每個字符和字符串結(jié)束標(biāo)志0,所以字符串在內(nèi)存中占串字符數(shù)+1的存儲空間,如,“Beijing”在內(nèi)存中占7+1個字節(jié),在書寫字符串時不必加0,因為0字符是系統(tǒng)自動加上的。(3)字符變量 用來存放字符常量,即只能存放單個字符,在內(nèi)存中占1個字節(jié)的存儲空間。其定義方式如下: char c1,c2;也可以在定義時賦值: char c1=a,c2=b;注意:C語言中沒有字符

25、串變量,不能將一個字符串常量賦給一個字符型變量。第48頁,共386頁。任務(wù)實施編制密碼程序代碼如下:/*編制密碼程序*/#include void main()char word,password;printf(請輸入an的一個字母:);scanf(%c,&word); /輸入字符password=word+1;printf(加密后的字母為%cn,password);第49頁,共386頁。特別提示(1)字符型數(shù)據(jù)除轉(zhuǎn)義字符外,其值是由單引號引起來的一個字符。(2)字符3和數(shù)字3是不同的。ASCII表規(guī)定3的值是51。第50頁,共386頁。任務(wù)3:分離數(shù)字問題運算符與表達式特別提示工作任務(wù)思路指

26、導(dǎo)相關(guān)知識任務(wù)實施第51頁,共386頁。工作任務(wù) 編寫一個程序,從鍵盤輸入一個三位整數(shù),將其逆序輸出。例如:輸入123,輸出321。第52頁,共386頁。思路指導(dǎo)已知:一個三位整數(shù)存儲到變量n中輸出:將n逆序輸出處理:將這個三位數(shù)分解,分別求出百位(n/100),十位(n/10%10),個位(n%10),然后逆序輸出。第53頁,共386頁。相關(guān)知識運算符與表達式運算符:運算符是表示各種運算的符號。表達式:使用運算符將常量、變量、函數(shù)連接起來,構(gòu)成表達式。1算術(shù)運算符和算術(shù)表達式(1)算術(shù)運算符+(加法運算符。如3+5)-(減法運算符。如5-2)*(乘法運算符。如3*5)/(除法運算符。如5/3

27、,5.0/3)%(模運算符或求余運算符。如7%4)。第54頁,共386頁。相關(guān)知識(2)算術(shù)表達式 用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子,稱為算術(shù)表達式。運算對象可以是常量、變量、函數(shù)等。(3)算術(shù)運算符的優(yōu)先級與結(jié)合性C語言規(guī)定了運算符的“優(yōu)先級”和“結(jié)合性”。在表達式求值時,先按運算符的“優(yōu)先級別”從高到低次序執(zhí)行。如表達式:a-b*c等價于a-(b*c),“*”“/”運算符優(yōu)先級高于“+”“-”運算符。如果在一個運算對象兩側(cè)的運算符的優(yōu)先級別相同,則按規(guī)定的“結(jié)合方向”處理。在書寫多個運算符的表達式時,應(yīng)當(dāng)注意各個運算符的優(yōu)先級,確保表達式中的運算符

28、能以正確的順序參與運算。 第55頁,共386頁。相關(guān)知識運算符與表達式2賦值運算符和賦值表達式(1)賦值運算符、賦值表達式 賦值運算符: “=”是賦值運算符。 賦值表達式:由賦值運算符組成的表達式稱為賦值表達式。 一般形式:變量賦值符表達式 賦值表達式的求解過程:將賦值運算符右側(cè)的表達式的值賦給左側(cè)的變量,同時整個賦值表達式的值就是剛才所賦的值。 賦值的含義:將賦值運算符右邊的表達式的值存放到左邊變量名標(biāo)識的存儲單元中。第56頁,共386頁。相關(guān)知識運算符與表達式(2)復(fù)合賦值運算符 在賦值符“=”之前加上某些運算符,可以構(gòu)成復(fù)合賦值運算符,復(fù)合賦值運算符可以構(gòu)成賦值表達式。C語言中許多雙目運

29、算符可以與賦值運算符一起構(gòu)成復(fù)合運算符,即:+=,-=,*=,/=,%=,=,&=,|=,= = 復(fù)合賦值表達式一般形式:等價于:=第57頁,共386頁。相關(guān)知識運算符與表達式(3)自增、自減運算符及表達式 單目運算符,使變量的值增1或減1。如:+i,i+ , -i,i 注意:+i,-i(前置運算):先自增、減,再參與運算;i+,i(后置運算):先參與運算, 再自增、減。例如:i=3,分析j=+i; j=i+;自增、減運算符只用于變量,而不能用于常量或表達式。+,-的結(jié)合方向是“自右向左”(與一般算術(shù)運算符不同)。第58頁,共386頁。相關(guān)知識3逗號運算符和逗號表達式 C語言提供一種特殊的運算

30、符逗號運算符(順序求值運算符)。用它將兩個或多個表達式連接起來,表示順序求值(順序處理)。用逗號連接起來的表達式稱為逗號表達式。例如:3+5,6+8 逗號表達式的一般形式: 表達式1,表達式2,表達式n 逗號表達式的求解過程是:自左向右,求解表達式1,求解表達式2,求解表達式n。整個逗號表達式的值是表達式n的值。 例如:逗號表達式3+5,6+8的值為14。第59頁,共386頁。任務(wù)實施三位整數(shù)逆序輸出,程序清單如下:/*三位數(shù)逆序輸出*/#include void main()int n,a1,a2,a3;printf(請輸入三位整數(shù):);scanf(%d,&n);a1=n/100; /求百位

31、a2=n/10%10; /求十位a3=n%10; /求各位printf(%d%d%dn,a3,a2,a1); /逆序輸出第60頁,共386頁。特別提示(1)分離數(shù)字是C語言的基礎(chǔ)算法之一,請讀者認真理解并學(xué)會。(2)“%”符號是余數(shù),%符號兩邊要求是整數(shù)。第61頁,共386頁。拓展提高 1數(shù)據(jù)類型轉(zhuǎn)換 在C語言中,整型、單精度型、雙精度型、字符型數(shù)據(jù)可以共存于一個表達式中,并按一定的規(guī)則進行計算。例如:1.5 * 2 + 10 -3/1.2 C語言對參與運算的數(shù)據(jù)作某種轉(zhuǎn)換,把它們轉(zhuǎn)換成同一類型的數(shù)據(jù),然后再進行計算,C語言的數(shù)據(jù)類型轉(zhuǎn)換分為自動轉(zhuǎn)換和強制轉(zhuǎn)換。 (1)自動轉(zhuǎn)換 C語言自動類型

32、轉(zhuǎn)換的原則是:把短類型轉(zhuǎn)換為長類型,如圖2-5所示。圖2-5 數(shù)據(jù)類型轉(zhuǎn)換第62頁,共386頁。拓展提高 (2)強制轉(zhuǎn)換 強制轉(zhuǎn)換是通過類型轉(zhuǎn)換運算來實現(xiàn)的。其功能是把表達式的運算結(jié)果強制轉(zhuǎn)換成類型說明符所表示的類型,其一般形式為: (類型說明符)(表達式) 功能:把表達式結(jié)果的類型轉(zhuǎn)換為圓括號中的數(shù)據(jù)類型。注意,類型名必須用括號()括起來。表達式一般用括號()括起來,但單個變量可以不用括號括起來 如: (double)i 第63頁,共386頁。拓展提高 2累加和累乘 所謂累加,就是將一系列的數(shù)字分別相加,最后得到一個結(jié)果。如計算1+2+3+4+5。 例2.7:累加程序#include voi

33、d main()int x=0;x=x+1;x=x+2;x=x+3;x=x+4;x=x+5;printf(1+2+3+4+5=%dn,x);第64頁,共386頁。拓展提高 3交換兩個變量的值 假設(shè)有兩個變量,x=10,y=8,現(xiàn)在要求使得x=8,y=10,該如何交換兩個變量的值呢? 引入第三個變量例2.8交換兩個變量的值#include void main()int x,y,z;x=10,y=8;printf(交換前x=%d,y=%dn,x,y);z=x; /借助第三變量交換兩個變量的值x=y;y=z;printf(交換后x=%d,y=%dn,x,y);第65頁,共386頁。單元小結(jié) 本單元重

34、點介紹了變量與常量的應(yīng)用,基本數(shù)據(jù)類型及其表示方法,算術(shù)運算符、賦值運算符及表達式,數(shù)據(jù)類型轉(zhuǎn)換等知識點,另外通過例題展示了一些僅僅使用變量的經(jīng)典算法,這些算法是學(xué)習(xí)更復(fù)雜算法的基礎(chǔ)。通過本單元的學(xué)習(xí),讀者能夠了解C語言程序的基礎(chǔ)知識,為后續(xù)學(xué)習(xí)做好準(zhǔn)備。 第66頁,共386頁。第二單元結(jié)束添加副標(biāo)題第67頁,共386頁。PPT模板下載:/moban/ 行業(yè)PPT模板:/hangye/ 節(jié)日PPT模板:/jieri/ PPT素材下載:/sucai/PPT背景圖片:/beijing/ PPT圖表下載:/tubiao/ 優(yōu)秀PPT下載:/xiazai/ PPT教程: /powerpoint/ Wo

35、rd教程: /word/ Excel教程:/excel/ 資料下載:/ziliao/ PPT課件下載:/kejian/ 范文下載:/fanwen/ 試卷下載:/shiti/ 教案下載:/jiaoan/ C語言程序設(shè)計任務(wù)驅(qū)動式教程第三單元 順序結(jié)構(gòu)程序設(shè)計 第68頁,共386頁。問題引入 順序結(jié)構(gòu)是C程序中最簡單、最基本、最常用的一種程序結(jié)構(gòu),也是進行復(fù)雜程序設(shè)計的基礎(chǔ)。因此熟練掌握順序結(jié)構(gòu)進行程序設(shè)計是我們必須具備的能力。在順序結(jié)構(gòu)中,程序的流程是固定的,不能跳轉(zhuǎn),只能按照書寫的先后順序逐條逐句地執(zhí)行。賦值操作和輸入輸出操作是順序結(jié)構(gòu)中最典型的操作。 本單元用三個典型任務(wù)講解和分析了在C語言

36、程序中順序結(jié)構(gòu)程序設(shè)計方法。第69頁,共386頁。第二單元 語言程序設(shè)計基礎(chǔ)任務(wù)1:菜單設(shè)計任務(wù)2:大寫字母轉(zhuǎn)換成小寫字母任務(wù)3:輸出學(xué)生個人信息單元任務(wù)單元小結(jié)拓展提高第70頁,共386頁。任務(wù)1:菜單設(shè)計算法與程序基本結(jié)構(gòu) 特別提示工作任務(wù)思路指導(dǎo)相關(guān)知識任務(wù)實施第71頁,共386頁。工作任務(wù) 小明和小康到飯館就餐,剛剛落座,服務(wù)員拿出一本菜單,讓兩人點餐。小明和小康想到自己正在學(xué)習(xí)C語言,心想能否用C語言中的printf來實現(xiàn)呢? 第72頁,共386頁。思路指導(dǎo) 對于菜單的設(shè)計,需要考慮的最主要的問題就是菜單顯示在屏幕上的位置的組織,應(yīng)該思考如何使菜單的界面整齊,看起來自然美觀,使用方便

37、。第73頁,共386頁。相關(guān)知識(一)如何描述算法?1 算法概念 一個程序是完成某一特定任務(wù)的一組指令序列,或者說,是為實現(xiàn)某一算法的指令集合。 程序=算法+數(shù)據(jù)結(jié)構(gòu) 所謂算法,就是一個有窮規(guī)則的集合,其中的規(guī)則確定了一個解決某個特定類型問題的運算序列。簡單地說,就是解決一個具體問題而采取的確定的、有限的操作步驟。 有窮性、確定性、有零個或多個輸入、有效性、有一個或多個輸出第74頁,共386頁。2算法描述相關(guān)知識(一)如何描述算法?(1)流程圖描述 流程圖是一種流傳很廣的描述算法的方法。這種方法的特點是用一些圖框表示各種類型的操作,用帶箭頭的線表示這些操作的執(zhí)行順序。常用的流程圖符號如圖3-1

38、所示。 (2)NS圖(框圖)描述 1973年美國學(xué)者I.Nassi和B.Shneiderman提出了一種新流程圖形式。在這種流程圖中完全去除了流線,所有算法寫在一個矩形框內(nèi),在框內(nèi)還可以包含其他的框。這種流程圖叫做NS流程圖(以二人的名字的頭一個字母組成)。 (3)偽代碼描述 偽代碼是用一種介于自然語言和計算機語言之間的文字和符號來描述算法。 第75頁,共386頁。相關(guān)知識(二)無格式的輸出1.語法格式: printf(“輸出字符串”);2.基本功能:對雙引號中的輸出內(nèi)容原樣輸出。 1常量 第76頁,共386頁。相關(guān)知識(三)結(jié)構(gòu)化程序設(shè)計 我們通過三種基本的控制結(jié)構(gòu),通過組合和嵌套就能實現(xiàn)任

39、何單入口、出口的程序這就是結(jié)構(gòu)化程序設(shè)計基本原理。這三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。 要設(shè)計出結(jié)構(gòu)化的程序,應(yīng)該采用以下的方法: 1.自頂向下。 2.逐步細化。 3.模塊化。 第77頁,共386頁。相關(guān)知識(四)了解C語言語句類型 語句是C語言源程序的重要組成部分,程序的執(zhí)行部分是由語句組成的。 程序的功能也是由執(zhí)行語句實現(xiàn)的。C語句可分為以下五類:表達式語句、函數(shù)調(diào)用語句、控制語句、復(fù)合語句、空語句。 1C語言語句類型第78頁,共386頁。相關(guān)知識(四)了解C語言語句類型(1)表達式語句 表達式語句由表達式加上分號“;”組成。 其一般形式為: 表達式; (2)函數(shù)調(diào)用語句 由函數(shù)

40、名、實際參數(shù)加上分號“;”組成。 其一般形式為: 函數(shù)名(實際參數(shù)表);(3)控制語句 控制語句用于控制程序的流程, 以實現(xiàn)程序的各種結(jié)構(gòu)方式。它們由特定的語句定義符組成。語言有九種控制語句。 可分成以下三類:條件判斷語句、循環(huán)執(zhí)行語句、轉(zhuǎn)向語句(4)復(fù)合語句 把多個語句用括號括起來組成的一個語句稱復(fù)合語句。(5)空語句 只有分號“;”組成的語句稱為空語句。 第79頁,共386頁。相關(guān)知識(四)了解C語言語句類型 賦值語句是由賦值表達式再加上分號構(gòu)成的表達式語句。 其一般形式為: 變量=表達式; 賦值語句的功能和特點都與賦值表達式相同。它是程序中使用最多的語句之一。2最簡單的C語言語句賦值語句

41、第80頁,共386頁。任務(wù)實施#include void main()printf(歡迎光臨四川酒家n);printf( 油燜大蝦 48元/份n );printf(“ 干煸豆角 20元/份n );printf(“ 水煮魚 38元/份n );printf(“ 麻婆豆腐 15元/份n );第81頁,共386頁。特別提示1首先要用合適的描述工具描述處理問題的步驟,而后再編寫程序;2編寫程序時,不僅要保證程序的正確,而且要保證程序的質(zhì)量;3注意在變量說明中給變量賦初值和賦值語句的區(qū)別。給變量賦初值是變量說明的一部分,賦初值后的變量與其后的其它同類變量之間仍必須用逗號間隔,而賦值語句則必須用分號結(jié)尾。4

42、在變量說明中,不允許連續(xù)給多個變量賦初值。 如下述說明是錯誤的: int a=b=c=5 必須寫為 int a=5,b=5,c=5; 而賦值語句允許連續(xù)賦值。 5賦值表達式和賦值語句的區(qū)別。賦值表達式是一種表達式,它可以出現(xiàn)在任何允許表達式出現(xiàn)的地方,而賦值語句則不能。下述語句是合法的: if(x=y+5)0) z=x; /*語句的功能是,若表達式x=y+5大于0則z=x*/。下述語句是非法的:if(x=y+5;)0) z=x; /*因為x=y+5;是語句,不能出現(xiàn)在表達式中*/。第82頁,共386頁。任務(wù)2:大寫字母轉(zhuǎn)換為小寫字母- 字符輸入輸出函數(shù)特別提示工作任務(wù)思路指導(dǎo)相關(guān)知識任務(wù)實施第

43、83頁,共386頁。工作任務(wù) 曉偉和明寬兩個小朋友剛剛學(xué)習(xí)英文中26個英文字母,為了加強練習(xí),曉偉寫出大寫字母,明寬寫出與之對應(yīng)的小寫字母,請編寫一個C語言程序,模擬上述過程。第84頁,共386頁。思路指導(dǎo)輸入:輸入的大寫字母存儲到變量ch中。處理:大寫字母和小寫字母的ASCII碼相差32,如:大寫字母A的ASCII碼為65,而小寫字母a的ASCII碼是97。因此,大寫字母加32變?yōu)樾懽帜浮]敵觯篶h+32所對應(yīng)的字符。第85頁,共386頁。相關(guān)知識(一)數(shù)據(jù)的輸入和輸出 輸入和輸出是以計算機主機為主體而言的。從計算機向外部輸出設(shè)備(如顯示器、打印機、磁盤等)輸出數(shù)據(jù)稱為“輸出”,從輸入設(shè)備

44、(如鍵盤、磁盤、光盤、掃描儀等)向計算機輸入數(shù)據(jù)稱為“輸入”。在語言中,所有的數(shù)據(jù)輸入輸出都是由庫函數(shù)完成的,因此都是函數(shù)調(diào)用語句。第86頁,共386頁。相關(guān)知識(二)字符輸出函數(shù)(putchar 函數(shù))putchar 函數(shù)是字符輸出函數(shù), 其功能是在顯示器上輸出單個字符。一般形式為: putchar(字符變量)例如:putchar(A); 輸出大寫字母Aputchar(x); 輸出字符變量x的值putchar(n); 換行 對控制字符則執(zhí)行控制功能,不在屏幕上顯示。 使用本函數(shù)前必須要用文件包含命令:#include第87頁,共386頁。相關(guān)知識(三)字符輸入函數(shù)(getchar函數(shù))get

45、char函數(shù)的功能是從鍵盤上輸入一個字符。其一般形式為:getchar();通常把輸入的字符賦予一個字符變量,構(gòu)成賦值語句。 例3.1 輸出字符型數(shù)據(jù)putchar()函數(shù)的應(yīng)用 #include void main()char a=B,b=o,c=k; putchar(a);putchar(b);putchar(b);putchar(c);putchar(t); putchar(a);putchar(b); putchar(n); putchar(b);putchar(c); 例3.2 輸入一個字符getchar函數(shù)的應(yīng)用格式#includevoid main()char c; printf

46、(input a charactern); c=getchar(); putchar(c);第88頁,共386頁。任務(wù)實施#include void main() char a; printf(請輸入一個小寫字母: ); a=getchar();/通過鍵盤輸入一個小寫字母 printf(該字母對應(yīng)的大寫字母是:%c n, a-32); 第89頁,共386頁。特別提示1getchar函數(shù)只能接受單個字符,輸入數(shù)字也按字符處理。輸入多于一個字符時,只接收第一個字符;2使用本函數(shù)前必須包含文件。第90頁,共386頁。任務(wù)3: 輸出學(xué)生個人信息- 格式化輸入輸出函數(shù) 特別提示工作任務(wù)思路指導(dǎo)相關(guān)知識任

47、務(wù)實施第91頁,共386頁。工作任務(wù) 為了方便學(xué)生管理,班主任王老師安排學(xué)習(xí)委員張雪輸出一張學(xué)生個人信息表,表的格式如下:姓名 性別 年齡 數(shù)學(xué) 英語 C語言張雪 女 18 89 87.5 67.5.第92頁,共386頁。思路指導(dǎo)輸入:對于數(shù)據(jù)的輸入用輸入函數(shù)scanf(“格式控制字符串”,地址表列),年齡存儲到變量age 中,數(shù)學(xué)成績存儲到變量math中,英語成績存儲到變量english中,C語言成績存儲到變量c中。輸出:1表頭的輸出用無格式的輸出函數(shù)printf(“字符串”);2對具體內(nèi)容的輸出用帶格式的printf(“格式控制字符串”,輸出項表列)。第93頁,共386頁。相關(guān)知識格式化的

48、輸入輸出指的是按照指定的格式對數(shù)據(jù)進行輸入輸出操作,數(shù)據(jù)的輸出用到庫函數(shù)printf(),數(shù)據(jù)的輸入用到庫函數(shù)scanf(),使用這兩個函數(shù)時,程序設(shè)計人員需要指定輸入輸出數(shù)據(jù)的格式。(一)格式化的輸出函數(shù)printf1printf函數(shù)調(diào)用的一般形式printf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個特例,不要求在使用printf 函數(shù)之前必須包含stdio.h文件。printf函數(shù)調(diào)用的一般形式為: printf(“格式控制字符串”,輸出項表列);第94頁,共386頁。相關(guān)知識2函數(shù)功能 按照格式控制字符串所指定的格式,將“輸出項列表”中各輸出項輸出到標(biāo)準(zhǔn)輸

49、出設(shè)備。3有關(guān)說明(1)格式控制字符串可以包括:“格式轉(zhuǎn)換說明符”,用于規(guī)定相應(yīng)輸出項內(nèi)容的輸出格式,格式字符串是以%開頭的字符串,在%后面跟有各種格式字符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。 “轉(zhuǎn)義字符”用于輸出所代表的控制代碼或特殊字符;“普通字符”,要求原樣輸出的字符,在顯示中起提示作用。(2)“輸出表列” 輸出表列中給出了各個輸出項,可以是變量和表達式,輸出項之間用逗號分隔。 要求格式字符串和各輸出項在數(shù)量和類型上應(yīng)該一一對應(yīng)。第95頁,共386頁。相關(guān)知識 格式控制串的使用 void main() int a=88,b=89; printf(%d %dn,a,b); pr

50、intf(%d,%dn,a,b); printf(%c,%cn,a,b); printf(a=%d,b=%d,a,b); 第96頁,共386頁。相關(guān)知識(二)數(shù)據(jù)輸入函數(shù)scanf 1scanf函數(shù)調(diào)用的一般形式scanf函數(shù)稱為格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。(1)scanf函數(shù)的一般形式 scanf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中,與printf函數(shù)相同,語言也允許在使用scanf函數(shù)之前不必包含stdio.h文件。scanf函數(shù)的一般形式為: scanf(“格式控制字符串”,地址表列); 說明:地址表列中給出各變量的地址。

51、 地址是由地址運算符“&”后跟變量名組成的。例如,&a,&b分別表示變量a和變量b的地址。 第97頁,共386頁。相關(guān)知識(2)格式字符串格式字符串的一般形式為: %*輸入數(shù)據(jù)寬度長度類型 其中有方括號的項為任選項。 其意義見教材。第98頁,共386頁。任務(wù)實施#include void main()int age;int math,english,c;printf(請輸入學(xué)生基本信息:);scanf(%d,&age);scanf(%d%d%d,&math,&english,&c);printf(姓名t性別t年齡t數(shù)學(xué)t英語tC語言n);printf(張雪t女t);printf(%dt,age

52、);printf(%dt%dt%dn,math,english,c);第99頁,共386頁。特別提示1格式控制字符串要用雙引號擴起來。2輸入項和輸出項的個數(shù)、順序和類型要與格式控制符的個數(shù),順序和類型要嚴格一致,否則會出現(xiàn)異常。第100頁,共386頁。拓展提高 1printf()函數(shù)中格式輸出函數(shù)的具體用法(1)%d用于指定輸出十進制整數(shù),對應(yīng)的輸出項內(nèi)容可以是整數(shù),也可以是字符,當(dāng)輸出內(nèi)容為字符時,輸出的將是該字符的ASCII碼值。常用的形式為“%d”、“%md”、“%ld”或“%mld”。(5)%c用于輸出一個字符,對應(yīng)輸出項的內(nèi)容可以是字符,也可以是0255之間的整數(shù)(ASCII碼值)。

53、當(dāng)輸出項內(nèi)容是整數(shù)時,輸出的將是該整數(shù)對應(yīng)ASCII碼值的字符。常用的形式為“%c” 、“%mc”第101頁,共386頁。拓展提高 (2)強制轉(zhuǎn)換強制轉(zhuǎn)換是通過類型轉(zhuǎn)換運算來實現(xiàn)的。其功能是把表達式的運算結(jié)果強制轉(zhuǎn)換成類型說明符所表示的類型,其一般形式為:(類型說明符)(表達式)功能:把表達式結(jié)果的類型轉(zhuǎn)換為圓括號中的數(shù)據(jù)類型。注意,類型名必須用括號()括起來。表達式一般用括號()括起來,但單個變量可以不用括號括起來如: (double)i 第102頁,共386頁。拓展提高 (7)%f 用于以小數(shù)形式輸出實數(shù)(包括單精度數(shù)和雙精度數(shù)),常用的形式為“%f” 、“%m.nf”和“%-m.nf”。

54、m.n表示輸出的數(shù)據(jù)共占m位(包括小數(shù)點所占的位數(shù)),小數(shù)點部分為n位,若數(shù)值長度小于m,則不足位置補空格。以“%f”格式輸出的數(shù)據(jù)若不指出寬度m和小數(shù)位數(shù)n,則整數(shù)部分全部輸出,小數(shù)部分輸出6位。值得注意的是,以“%f”格式輸出的數(shù)據(jù)并非都是有效數(shù)字。一般來說,單精度的有效數(shù)位為7位,雙精度實數(shù)的有效數(shù)位為16位(根據(jù)機器字長的不同而不同)。第103頁,共386頁。拓展提高 例39 分析以下程序main()int a=65;char b=a;printf(“%dn”,a);printf(“%cn”,a);printf(“%dn”,b);printf(“%cn”,b);printf(“%4cn

55、”,b);第104頁,共386頁。單元小結(jié) 本單元重點介紹了變量與常量的應(yīng)用,基本數(shù)據(jù)類型及其表示方法,算術(shù)運算符、賦值運算符及表達式,數(shù)據(jù)類型轉(zhuǎn)換等知識點,另外通過例題展示了一些僅僅使用變量的經(jīng)典算法,這些算法是學(xué)習(xí)更復(fù)雜算法的基礎(chǔ)。通過本單元的學(xué)習(xí),讀者能夠了解C語言程序的基礎(chǔ)知識,為后續(xù)學(xué)習(xí)做好準(zhǔn)備。 第105頁,共386頁。 第三單元結(jié)束添加副標(biāo)題第106頁,共386頁。PPT模板下載:/moban/ 行業(yè)PPT模板:/hangye/ 節(jié)日PPT模板:/jieri/ PPT素材下載:/sucai/PPT背景圖片:/beijing/ PPT圖表下載:/tubiao/ 優(yōu)秀PPT下載:/x

56、iazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 資料下載:/ziliao/ PPT課件下載:/kejian/ 范文下載:/fanwen/ 試卷下載:/shiti/ 教案下載:/jiaoan/ C語言程序設(shè)計任務(wù)驅(qū)動式教程第四單元 選擇結(jié)構(gòu)程序設(shè)計 第107頁,共386頁。問題引入 通過編程解決問題一般需要數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出三個順序步驟,但是在實際問題中,程序的邏輯并非完全是順序的,常常會碰到一些要做選擇的事情,程序執(zhí)行時常通過條件來決定往下執(zhí)行的流程,若滿足條件執(zhí)行一個流程,若不滿足條件則執(zhí)行另一個流程,這種結(jié)構(gòu)稱為

57、選擇結(jié)構(gòu)或稱分支結(jié)構(gòu)。 本單元的五個典型任務(wù)講解和分析了在C語言程序中選擇結(jié)構(gòu)的程序設(shè)計方法。第108頁,共386頁。任務(wù)1:身高預(yù)測任務(wù)2:閏年判斷任務(wù)3:劃分成績等級任務(wù)4: 旅游景點門票打折任務(wù)5:設(shè)計一個小型計算器第四單元 選擇結(jié)構(gòu)程序設(shè)計 單元任務(wù)單元小結(jié)拓展提高第109頁,共386頁。任務(wù)1:身高預(yù)測簡單if 語句的運用 特別提示工作任務(wù)思路指導(dǎo)相關(guān)知識任務(wù)實施第110頁,共386頁。工作任務(wù) 每個父母都關(guān)心自己孩子成人后的身高,據(jù)有關(guān)生理衛(wèi)生知識與數(shù)理統(tǒng)計分析表明,影響小孩成人后身高的因素有遺傳、飲食習(xí)慣與體育鍛煉情況等。小孩成人后的身高與其父母的身高及自身的性別密切相關(guān)。 設(shè)f

58、aheight為其父身高,moheight為其母身高,身高預(yù)測公式為: 男性成人時身高=(faheight+moheight)*0.54(cm) 女性成人時身高=(faheight*0.923+moheight)/2(cm) 此外,如果喜愛體育鍛煉,那么可增高身高2%;如果有良好的衛(wèi)生飲食習(xí)慣,那么可增加身高1.5%。第111頁,共386頁。思路指導(dǎo)輸入:性別(用字符型變量sex存儲,輸入字母g表示女性,輸入字符b表示男性)、父母身高(用實型變量存儲,faheight為其父身高,moheight 為其母身高)、是否喜愛體育鍛煉(用字符型變量sports存儲,輸入字符y表示喜愛,輸入字符n表示不

59、喜愛)、是否有良好的飲食習(xí)慣(用字符型變量diet存儲,輸入字符y表示喜愛,輸入字符N表示不喜愛)。輸出:身高處理:利用給定公式和身高預(yù)測方法對身高進行預(yù)測。判斷條件:性別男還是女、是否喜愛體育鍛煉、是否有良好的飲食習(xí)慣。第112頁,共386頁。相關(guān)知識(一)選擇結(jié)構(gòu)是怎樣的 一個程序是完成某一特定任務(wù)的一組指令序列,或者說,是為實現(xiàn)某一算法的指令集合。 程序執(zhí)行時常通過條件來決定往下執(zhí)行的流程,若滿足條件執(zhí)行一個流程,若不滿足條件則執(zhí)行另一個流程,這種結(jié)構(gòu)稱為選擇結(jié)構(gòu)。 構(gòu)成選擇結(jié)構(gòu)的要素有兩個,一個是條件,一個是執(zhí)行的操作。 選擇結(jié)構(gòu)一般有3種結(jié)構(gòu):單分支、雙分支、多分支第113頁,共38

60、6頁。相關(guān)知識1單分支結(jié)構(gòu) 單分支結(jié)構(gòu)如圖4.1所示,當(dāng)條件成立時,執(zhí)行語句序列。第114頁,共386頁。相關(guān)知識2雙分支結(jié)構(gòu) 雙分支結(jié)構(gòu)如圖4.2所示,當(dāng)條件滿足時,執(zhí)行語句序列1,當(dāng)條件不成立使執(zhí)行語句序列2。第115頁,共386頁。相關(guān)知識 3多分支結(jié)構(gòu) 多分支結(jié)構(gòu)如圖4.3所示,當(dāng)滿足條件1時,執(zhí)行語句序列1;當(dāng)滿足條件2時,執(zhí)行語句序列2;以此類推,當(dāng)滿足條件n時,執(zhí)行語句n;當(dāng)給定的條件都不滿足時,執(zhí)行語句n+1。在多個條件中選擇一個去執(zhí)行。第116頁,共386頁。相關(guān)知識(二)解決選擇問題的基本步驟和方法 選擇結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu)之一,也是常用的一種結(jié)構(gòu),在大多數(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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論