南郵高級(jí)語言程序設(shè)計(jì)期末總復(fù)習(xí)模塊二:三種基本結(jié)構(gòu)及流程控制_第1頁
南郵高級(jí)語言程序設(shè)計(jì)期末總復(fù)習(xí)模塊二:三種基本結(jié)構(gòu)及流程控制_第2頁
南郵高級(jí)語言程序設(shè)計(jì)期末總復(fù)習(xí)模塊二:三種基本結(jié)構(gòu)及流程控制_第3頁
南郵高級(jí)語言程序設(shè)計(jì)期末總復(fù)習(xí)模塊二:三種基本結(jié)構(gòu)及流程控制_第4頁
南郵高級(jí)語言程序設(shè)計(jì)期末總復(fù)習(xí)模塊二:三種基本結(jié)構(gòu)及流程控制_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、【最新卓越管理方案您可自由編輯】(流程管理)南郵高級(jí)語言程序設(shè)計(jì)期末總復(fù)習(xí)模塊二:三種基本結(jié)構(gòu)及流程控制20XX年XX月多年的企業(yè)咨詢顧問經(jīng)驗(yàn)r經(jīng)過實(shí)戰(zhàn)險(xiǎn)證可以落地執(zhí)行的卓越管鹿方素,信得您不戟擁有模塊二:三種基本結(jié)構(gòu)及流程控制C程序的三種基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。這三種結(jié)構(gòu)分別需要借助于特定的語句控制實(shí)現(xiàn)。(1)順序結(jié)構(gòu):賦值語句和函數(shù)調(diào)用語句是控制該結(jié)構(gòu)的主要語句。函數(shù)調(diào)用語句中最常用的是:scanf()、printf()、getchar()、putchar()等用于控制輸入輸出的語句。注意用scanf()輸入變量值時(shí)要嚴(yán)格按照格式控制串的形式要求輸入,用printf()輸出

2、時(shí)要進(jìn)行相應(yīng)的格式控制,需要熟記幾種格式轉(zhuǎn)換說明符:%c、%s、%d、%f、%lf(當(dāng)變量為double類型時(shí),于scanf中必須用%lf,但輸出時(shí)用%f就能夠了)。練習(xí):1、已知a、b、c為int型變量,用于輸入的語句為:scanf("a=%d,b=%d,c=%d",&a,&b,&c);,若想使a的值為1,b的值為2、c的值為3,應(yīng)當(dāng)怎樣輸入?如果提供的輸入方法為1,2,3<回車>,則對(duì)應(yīng)的輸入語句是什么?2、floatv=1234.5678輸出格式為:輸出總寬度為10,精度為3,則應(yīng)使用語句printf();實(shí)現(xiàn);若輸出語句為:pri

3、ntf(%“.3f”,v);,輸出的內(nèi)容為:(2)選擇結(jié)構(gòu):用if.else、switch語句配合復(fù)合語句、break語句控制實(shí)現(xiàn)。If語句有三種形式:單分支if、雙分支if、嵌套if,注意else應(yīng)和其前最靠近的未匹配過的if相對(duì)應(yīng),而和對(duì)齊的形式無關(guān),每壹個(gè)else實(shí)際上均隱含了壹個(gè)條件,要充分利用這些條件分析程序;if后的條件通常是關(guān)系表達(dá)式,可是實(shí)際上能夠是任何表達(dá)式,僅以該表達(dá)式是0或非0來判斷條件的假和真。注意:if()及else后面均只能控制壹條語句,經(jīng)常需要用到復(fù)合語句。switch語句中特別要注意的是:(1)switch后面的表達(dá)式類型應(yīng)當(dāng)為整型、字符型、枚舉型,而不能夠是f

4、loat或double型,因?yàn)楸磉_(dá)式的取值必須是離散值。(2)找到和表達(dá)式匹配的常量后開始執(zhí)行,直到遇到break或語句結(jié)束才會(huì)停止。因此每壹個(gè)分支后如果沒有及時(shí)用break,則繼續(xù)向下執(zhí)行,這樣,switch結(jié)構(gòu)能夠選擇多個(gè)分支執(zhí)行(3)這些常量的順序調(diào)整不影響程序的正確性,只要每個(gè)分支執(zhí)行的功能固定就能夠了。練習(xí):1、已知變量tf為整型,下面的條件語句中,五種表達(dá)有壹種和其它四個(gè)不等價(jià),它是?A、if(tf)語句1;else語句2;B、if(tf=0)語句2;else語句1;C、if(tf!=0)語句1;else語句2;D、if(!tf)語句2;else語句1;E、if(tf=1)語句1;

5、else語句2;2 、設(shè)以下所有變量均為整型,下列程序所實(shí)現(xiàn)的分段函數(shù)是?if(x>0)y=1;elsey=0;if(x<0)y=-1;3 、下列程序段執(zhí)行后,a、b的值是?a=1;b=2;c=0;if(a>b)c=a;a=b;b=c;4、設(shè)有聲明inta=1,b=2,則下面程序段的輸出結(jié)果是?如果是內(nèi)層的每個(gè)case后有break,而外層沒有break,輸出結(jié)果是?switch(a)case1:printf("#n");switch(b)case1:printf("*n");case2:printf("*n");c

6、ase3:printf("*n");break;case2:printf("#n");break;(3)循環(huán)結(jié)構(gòu):常用while、do-while、for三種流程控制語句實(shí)現(xiàn),注意while和for屬于當(dāng)型循環(huán),do-while屬于直到型循環(huán),若while后的條件為非0則繼續(xù)循環(huán),若為0則結(jié)束,三種循環(huán)是能夠相互轉(zhuǎn)化的。這里特別強(qiáng)調(diào)的是:循環(huán)的退出壹般是條件為0(for的表達(dá)式2,如果表達(dá)式2缺省,則表示永真條件、while或dowhile后的表達(dá)式就能夠表示條件,如:while(A),這就是壹個(gè)永真條件)時(shí)不進(jìn)入循環(huán)體,可是于循環(huán)體內(nèi)也能夠用壹定條件下

7、的break語句退出本層循環(huán)。如果表示條件的表達(dá)式值永遠(yuǎn)不可能為0,則為壹個(gè)死循環(huán),這壹點(diǎn)要注意!于循環(huán)語句中能夠用break表示退出本層次循環(huán)、continue表示忽略本次循環(huán)體中的后續(xù)語句,重新開始下壹次循環(huán)條件的判斷,以便決定是否要繼續(xù)循環(huán)。循環(huán)體只有壹條語句,注意復(fù)合語句的正確使用,不要誤用分號(hào)形成循環(huán)體為空語句,例如:for(i=0;i<3;i+);s+=i;注意:有關(guān)退出的幾個(gè)操作:(1)于循環(huán)結(jié)構(gòu)中用break結(jié)束本層循環(huán)、于switch語句中用break結(jié)束本層switch中當(dāng)前分支的執(zhí)行;(2)于函數(shù)體內(nèi)的return語句結(jié)束本函數(shù)的調(diào)用,返回到調(diào)用點(diǎn);(3)庫函數(shù)ex

8、it結(jié)束程序的執(zhí)行,返回到操作系統(tǒng),該函數(shù)于<stdlib.h>頭文件中練習(xí):1 、若已有定義inti,則對(duì)于如下循環(huán)語句,循環(huán)體執(zhí)行的次數(shù)分別為 for(i=0;i+)printf("%d",i); for(;i=0;i+)printf("%d",i); for(i=0;i<0;i+)printf("%d",i); i=0;while(i=1)i+;2、下列程序運(yùn)行后,x和y的值分別是?#include<stdio.h>voidmain()intx=1,y=2;for(;x<10;x+)x+=2;

9、if(x>7)printf("x=%dy=%dn",x,y);break;if(x=6)continue;y*=x;這壹模塊中有很多經(jīng)典算法,下面幾個(gè)是同學(xué)們必須非常熟悉的:(1)質(zhì)數(shù)問題 判斷壹個(gè)整數(shù)是否為質(zhì)數(shù)(用壹層循環(huán)能夠解決)會(huì)定義函數(shù)實(shí)現(xiàn),函數(shù)原型:intprime(intn);判斷參數(shù)n是否為質(zhì)數(shù),如果是,返回1,如果不是,返回0。 找出壹定范圍內(nèi)所有的質(zhì)數(shù)(用倆層循環(huán)能夠解決)會(huì)定義函數(shù)實(shí)現(xiàn),函數(shù)原型:voidprime(intlow,inthigh);找出從low到high范圍內(nèi)的所有質(zhì)數(shù),是質(zhì)數(shù)則輸出。如果函數(shù)需要返回該范圍內(nèi)的質(zhì)數(shù)個(gè)數(shù),則應(yīng)該將返回

10、值類型修改為int。能按壹定的格式輸出(2)求最大公約數(shù)問題能夠用輾轉(zhuǎn)相減或相除的方法均能夠得到。會(huì)定義函數(shù)實(shí)現(xiàn),函數(shù)原型:intgcd(intm,intn);于輾轉(zhuǎn)相除法中,當(dāng)余數(shù)為0時(shí)的除數(shù)即為最大公約數(shù),注意循環(huán)控制方式的不同可能導(dǎo)致返回值的不壹樣。求最小公倍數(shù):a*b/gcd(a,b)(3)求和問題:掌握求和問題中條件的控制方式、累加的方式: 能夠根據(jù)求和的項(xiàng)數(shù)要求來求解,例如:求100項(xiàng)之和; 能夠根據(jù)每壹項(xiàng)的精度進(jìn)行求解,例如:求到這壹項(xiàng)的絕對(duì)值不超過1E-6為止,注意這時(shí)的循環(huán)條件應(yīng)該為:while(fabs(term)>=1E-6),如果用do.while循環(huán),條件也是這樣表示。 注意分子、分母、當(dāng)前項(xiàng)、和分別用壹個(gè)變量表示,正確定義變量的類型,正確解決變符號(hào)問題:s=-s;(4)輸出規(guī)則圖形式問題分析行號(hào)和當(dāng)前行前

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論