C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt

C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt

ID:50350950

大?。?57.50 KB

頁數(shù):44頁

時(shí)間:2020-03-08

C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt_第1頁
C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt_第2頁
C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt_第3頁
C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt_第4頁
C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt_第5頁
資源描述:

《C語言程序設(shè)計(jì) 教學(xué)課件 作者 劉明才 第4章 C語言的控制結(jié)構(gòu).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第4章C語言的控制結(jié)構(gòu)算法與程序順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)第頁共44頁4.1算法與程序算法程序第頁共44頁4.1.1算法有窮性一個(gè)算法通過有限步驟即可實(shí)現(xiàn)預(yù)定的目標(biāo),并且算法的每一步都可以在合理的時(shí)間內(nèi)完成。確定性算法中每一個(gè)步驟應(yīng)當(dāng)是確定的,而不能是含糊的、模棱兩可的。有效性算法中的每一步都應(yīng)當(dāng)被執(zhí)行,并得到確定的結(jié)果。例如,設(shè)b=0,則執(zhí)行a/b是不能被執(zhí)行的。有零個(gè)或多個(gè)輸入算法可以有一個(gè)或多個(gè)輸入,提供算法的操作數(shù)據(jù),也可以沒有輸入。有一個(gè)或多個(gè)輸出一個(gè)算法總要產(chǎn)生一個(gè)或多個(gè)輸出數(shù)據(jù),表示算法操作的計(jì)算結(jié)果。第頁共44頁程序一般由兩部分組成。數(shù)據(jù)的描述對數(shù)據(jù)的描述,就是

2、指定數(shù)據(jù)的類型及數(shù)據(jù)的組織形式,即數(shù)據(jù)結(jié)構(gòu)(datastructure)。操作的描述對操作的描述,即操作步驟,也就是算法(algorithm)。第頁共44頁4.1.2程序順序結(jié)構(gòu)流程圖第頁共44頁選擇結(jié)構(gòu)流程圖第頁共44頁循環(huán)結(jié)構(gòu)流程圖第頁共44頁程序設(shè)計(jì)的基本過程分析問題明確要解決的問題是什么,需要輸入哪些數(shù)據(jù),需要進(jìn)行什么處理,最終要得到哪些處理結(jié)果。對要輸入、輸出的數(shù)據(jù)進(jìn)行分析,確定數(shù)據(jù)類型。設(shè)計(jì)算法在對輸入、輸出的數(shù)據(jù)分析之后,要設(shè)計(jì)數(shù)據(jù)的組織方式,設(shè)計(jì)解決問題的操作步驟,并將操作步驟不斷完善,最終得到一個(gè)完整的算法。實(shí)現(xiàn)程序選擇一種程序設(shè)計(jì)語言,將算法設(shè)計(jì)后得到的數(shù)

3、據(jù)組織方式、算法具體步驟轉(zhuǎn)化成用具體的程序設(shè)計(jì)語言來描述,實(shí)現(xiàn)整個(gè)算法。第頁共44頁4.2順序結(jié)構(gòu)【例】交換兩個(gè)變量的值,并輸出結(jié)果。程序如下:#includevoidmain(){inta,b,t;scanf("%d%d",&a,&b);printf("a=%d,b=%d",a,b);t=a;a=b;b=t;printf("a=%d,b=%d",a,b);}運(yùn)行情況如下:59↙a=5,b=9a=9,b=5第頁共44頁程序說明:交換兩個(gè)變量的值,需要第三個(gè)變量的幫助,上面程序中的t就是這種變量,這個(gè)道理就像交換兩杯水一樣,需要第三個(gè)杯子的幫助。第頁共

4、44頁4.3選擇結(jié)構(gòu)if語句switch語句第頁共44頁4.3.1if語句if語句的單分支形式if語句單分支執(zhí)行流程圖第頁共44頁【例】輸入一個(gè)實(shí)數(shù),輸出其絕對值。程序如下:#includevoidmain(){floatx;scanf("%f",&x);if(x<0)x=-x;printf("%f",x);}運(yùn)行情況如下:-5.6↙5.600000第頁共44頁程序說明:給x輸入一個(gè)實(shí)數(shù),如果是負(fù)數(shù),程序會(huì)執(zhí)行if語句中的賦值語句“x=-x;”。如果x不是負(fù)數(shù),則不執(zhí)行if語句中的賦值語句“x=-x;”。第頁共44頁復(fù)合語句復(fù)合語句(compoundst

5、atement)是指用一對花括號括起來的語句序列,執(zhí)行時(shí)按花括號中語句的先后次序依次執(zhí)行。復(fù)合語句在C語言程序中的語法(syntax)地位相當(dāng)于一條語句,常用于if語句、循環(huán)語句等。if語句中的分支語句可以是單獨(dú)一條語句或一條復(fù)合語句。第頁共44頁【例】輸入兩個(gè)實(shí)數(shù),按從小到大的順序輸出這兩個(gè)數(shù)。程序如下:#includevoidmain(){floatx,y,t;scanf("%f%f",&x,&y);if(x>y){t=x;x=y;y=t;}/*當(dāng)x>y時(shí)執(zhí)行復(fù)合語句{t=x;x=y;y=t;}*/printf("%.2f,%.2f",x,y);}運(yùn)

6、行情況如下:3.6-3.2↙-3.20,3.60第頁共44頁程序說明:當(dāng)輸入的值是x>y時(shí),執(zhí)行if語句中的復(fù)合語句“{t=x;x=y;y=t;}”,使x、y交換值。第頁共44頁if語句的雙分支形式if語句雙分支執(zhí)行流程圖第頁共44頁【例】從鍵盤輸入一個(gè)字符,如果是數(shù)字字符,則輸出“Itisanumber.”;否則,輸出“Itisnotanumber.”。分析:判斷某個(gè)字符變量ch是否為數(shù)字字符,可以根據(jù)該字符的ASCII碼進(jìn)行大小的比較,得出結(jié)果。判斷條件是,既不小于字符‘0’又不大于字符‘9’,即(ch>='0'&&ch<='9')。程序如下:#include

7、.h>voidmain(){charch;scanf("%c",&ch);if(ch>='0'&&ch<='9')printf("Itisanumber.");elseprintf("Iiisnotanumber.");}運(yùn)行情況如下:9↙Itisanumber.第頁共44頁if語句的嵌套形式單分支嵌套形式if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2…elseif(表達(dá)式n-l)語句n-lelse語句n第頁共44頁雙分支嵌套形式if(表達(dá)式1)if(表達(dá)式2)語句1else語句2else

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。