C語言程序設(shè)計基礎(chǔ)_第1頁
C語言程序設(shè)計基礎(chǔ)_第2頁
C語言程序設(shè)計基礎(chǔ)_第3頁
C語言程序設(shè)計基礎(chǔ)_第4頁
C語言程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學(xué)1C語言程序設(shè)計基礎(chǔ)分支結(jié)構(gòu)順序結(jié)構(gòu):程序按照語句的先后順序進(jìn)行數(shù)據(jù)處理。分支結(jié)構(gòu):程序要對問題進(jìn)行判斷,根據(jù)判斷的結(jié)果,選擇不同的處理方式,進(jìn)行不同的操作。C語言用于實現(xiàn)分支的結(jié)構(gòu):if結(jié)構(gòu)switch結(jié)構(gòu)2第1頁/共21頁if語句if語句結(jié)構(gòu)是一種常用的分支結(jié)構(gòu),是最簡單的一種單分支結(jié)構(gòu),該結(jié)構(gòu)構(gòu)成一個二叉結(jié)構(gòu)。if語句的一般形式為。

if(<表達(dá)式>)

<語句A>語法功能:先判斷<表達(dá)式>的值,若該值為“真”,則:執(zhí)行<語句A>;否則:什么也不執(zhí)行。注意:<表達(dá)式>:一般為條件表達(dá)式或邏輯表達(dá)式。if語句中的<語句A>一般情況下都是以復(fù)合語句的形式出現(xiàn),即用一對花括號將語句括起來。如果語句只有一條,則可以不需要花括號if結(jié)構(gòu)的流程圖:3第2頁/共21頁例題從鍵盤任意輸入兩個實數(shù)a和b,要求a的值總是小于或等于b的值,然后輸出這兩個數(shù)a和b的值。分析:根據(jù)題意,要求a≤b。方案:先輸入一個較小的數(shù),賦給變量a,再輸入一個較大的數(shù),賦給變量b。問題:輸入的限制對用戶不合理。如果先輸入的值較大,后輸入的值較小,則結(jié)果為a≥b。方案修正:不論輸入的大小順序怎樣,總是會有a≤b的結(jié)果。4第3頁/共21頁例子(續(xù))算法的流程圖如圖所示:其中虛線框為if結(jié)構(gòu)。程序的難點:交換a,b的值。程序見:example4_1.c例2:從鍵盤輸入一個整數(shù),求該數(shù)的絕對值。閱讀例4-2的問題和程序。5第4頁/共21頁if_else語句if_else語句的一般形式為:

if(<表達(dá)式>)

<語句A>else<語句B>式中<表達(dá)式>,一般為條件表達(dá)式或邏輯表達(dá)式。語法功能:先判斷<表達(dá)式>的值,若其值為“真”,則執(zhí)行<語句A>,否則執(zhí)行<語句B>。注意:結(jié)構(gòu)中的<表達(dá)式>、<語句A>與<語句B>的規(guī)定同if結(jié)構(gòu)。if_else結(jié)構(gòu)的流程圖如圖所示。6第5頁/共21頁例題設(shè)計一個猜數(shù)游戲,由計算機(jī)產(chǎn)生一個隨機(jī)數(shù)magic,從鍵盤輸入一個數(shù)guess,若輸入的數(shù)guess的大小等于隨機(jī)數(shù)magic,則輸出“Gratulation!YouAreright.”。否則,輸出“Sorry!YouAreWrong.”。分析:首先聲明需要用到的變量。然后有系統(tǒng)生成一個隨機(jī)數(shù),緊接著由用戶輸入一個數(shù)字,判斷兩個數(shù)字是否相等。如果相等則輸出“Gratulation!YouAreright.”,否則輸出“Sorry!YouAreWrong.”。7第6頁/共21頁例題(續(xù))算法流程圖如圖所示:虛線框代表if_else結(jié)構(gòu)。程序:example4_3.c思考:如果要求系統(tǒng)產(chǎn)生一個隨機(jī)數(shù),由用戶來猜。每次猜之后提示用戶猜大了還是小了。直到用戶猜對為止。程序需要怎么改動?8第7頁/共21頁if語句的嵌套在if或else的分支下又可以包含另一個if語句或if_else語句。嵌套的形式有兩種:規(guī)則嵌套和任意嵌套。規(guī)則嵌套 規(guī)則嵌套的形式為:

if(<表達(dá)式1>)

<語句1> elseif(<表達(dá)式2>)

<語句2> elseif(<表達(dá)式3>)

<語句3> … elseif(<表達(dá)式n>) <語句n> else <語句n+1>9第8頁/共21頁if語句的嵌套(續(xù))10規(guī)則嵌套的流程圖如圖所示:第9頁/共21頁例題11從鍵盤輸入+、?、*、/中的任一個,輸出對應(yīng)的英文單詞:plus、minus、mutiply、divide,若輸入的不是這4個字符中的任一個,則輸出“Sorryyouarewrong”。第10頁/共21頁有關(guān)嵌套的說明在if_else嵌套的結(jié)構(gòu)中,else總是與離它最近的上一個if配對。程序的書寫可按縮進(jìn)對齊方式,增加程序代碼的美觀和程序的可讀性。if_else結(jié)構(gòu)的嵌套層次不提倡太多,否則會影響程序的執(zhí)行效率,并且容易出現(xiàn)判斷上的漏洞,導(dǎo)致程序出現(xiàn)不正確的結(jié)果。良好的程序書寫風(fēng)格有助于對程序的理解,請注意程序的書寫風(fēng)格,養(yǎng)成良好的編程習(xí)慣。12第11頁/共21頁任意嵌套任意嵌套是在if_else結(jié)構(gòu)中的任一執(zhí)行框中插入if結(jié)構(gòu)或if_else結(jié)構(gòu)。編寫程序,通過輸入x的值,計算階躍函數(shù)y的值。13第12頁/共21頁switch結(jié)構(gòu)if語句適合兩種分支情況進(jìn)行選擇。如果多種分支的情況,可采用嵌套的if語句結(jié)構(gòu)。存在的問題:當(dāng)嵌套的分支較多時,程序的效率和可讀性降低。解決方案:用switch結(jié)構(gòu)處理多路分支的情形。14第13頁/共21頁switch語句switch語句的一般形式為:

switch(<表達(dá)式>)

{case<常量表達(dá)式1>:語句序列1;case<常量表達(dá)式2>:語句序列2;…case<常量表達(dá)式n>:語句序列n;default:語句序列(n+1);}15第14頁/共21頁switch結(jié)構(gòu)<常量表達(dá)式i>的值必須是整型、字符型或者枚舉類型;語句序列i允許有多條語句,不需要將語句序列用一對花括號括起;<表達(dá)式>可以為任何表達(dá)式。switch語句的語法規(guī)則是:先計算<表達(dá)式>的值;再依次判斷與哪一個<常量表達(dá)式i>的值相等;若<表達(dá)式>的值等于<常量表達(dá)式i>的值,則:從語句序列i開始執(zhí)行語句,直到語句序列(n+1)為止;若<表達(dá)式>的值不等于任何一個<常量表達(dá)式i>的值,則:執(zhí)行default后面的語句序列(n+1)。16第15頁/共21頁switch語句一般形式的流程圖如圖所示:參見教材P73例4-8但題目的輸出結(jié)果卻未能達(dá)到我們的初衷。思考哪里出現(xiàn)了錯誤?17第16頁/共21頁break語句在switch語句中的作用break語句起中斷和跳出的作用。可以用在switch分支語句和循環(huán)語句中。使用方法:在switch語句中,在需要獨立執(zhí)行的<語句序列i>后面加上一條分支語句:break;18第17頁/共21頁程序范例參見教材P76這里我們使用VC++

6.0做示范。19第18頁/共21頁本講回顧分支結(jié)構(gòu)的一般執(zhí)行流

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論