[流程管理]南郵高級(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頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、流程控制20XX年XX月(流程管理)南郵高級(jí)語言程序設(shè)計(jì) 期末總復(fù)習(xí)模塊二:三種基本結(jié)構(gòu)及寥年的企業(yè)咨詢顧問經(jīng)驗(yàn),經(jīng)過實(shí)戰(zhàn)驗(yàn)證可以落地$丸行的卓毬管碎方案,嘀得您下戟擁肓【最新卓越管理方案 您可自由編輯】模塊二:三種基本結(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() 輸入變

2、量值時(shí)要嚴(yán)格按照格式控制串的形式要求輸入, 用 printf() 輸出時(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 = 1

3、234.5678 ;,輸出格式為:輸出總寬度為10 ,精度為 3 ,則應(yīng)使用語句 printf(); 實(shí)現(xiàn);若輸出語句為:printf(%“.3f ”,v); ,輸出的內(nèi)容為: (2) 選擇結(jié)構(gòu): 用 if.else 、 switch 語句配合復(fù)合語句、 break 語句控制實(shí)現(xiàn)。If語句有三種形式:?jiǎn)畏种f、雙分支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 來判斷

4、條件的假和 真。注意: if() 及 else 后面均只能控制壹條語句,經(jīng)常需要用到 復(fù)合語句。switch 語句中特別要注意的是: (1 )switch 后面的表達(dá)式類型 應(yīng)當(dāng)為整型、 字符型、枚舉型,而不能夠是 float 或 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 為整型,下面

5、的條件語句中,五種表達(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;else 語句 2;2、設(shè)以下所有變量均為整型,下列程序所實(shí)現(xiàn)的分段函數(shù)是? if(x0)y=1;elsey=0;if(xb)c=a;a=b;b=c;4 、設(shè)有聲明 inta=1,b=2 ,則下面程序段的輸出結(jié)果是 ?如果是 內(nèi)層的每個(gè) case 后有 break, 而外層沒有 break ,

6、輸出結(jié)果是? switch(a)case1:printf(#n);switch(b)case1:printf(*n);case2:printf(*n);case3:printf(*n);break;case2:printf(#n);break;(3 )循環(huán)結(jié)構(gòu):常用 while、dowhile、for三種流程控制語 句實(shí)現(xiàn),注意while和for屬于當(dāng)型循環(huán),dowhile屬于直到 型循環(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 缺省,則表示永 真條件、

7、 while 或 dowhile 后的表達(dá)式就能夠表示條件,如: while( A),這就是壹個(gè)永真條件)時(shí)不進(jìn)入循環(huán)體,可是于 循環(huán)體內(nèi)也能夠用壹定條件下的 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;i3;i+);s+=i;注意: 有關(guān)退出的幾個(gè)操作: ( 1 )于循

8、環(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ù) exit 結(jié)束程序的執(zhí)行,返回到操作 系統(tǒng),該函數(shù)于 頭文件中 練習(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;i0;i+)printf(%d,i); i=0;while(i=1)i+;2 、下列程序運(yùn)行后, x 和 y 的值分別是?

9、 #includevoidmain()intx=1,y=2;for(;x7)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

10、范圍內(nèi)的所有質(zhì)數(shù), 是質(zhì)數(shù)則輸出。 如果函 數(shù)需要返回該范圍內(nèi)的質(zhì)數(shù)個(gè)數(shù), 則應(yīng)該將返回值類型修改為 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

溫馨提示

  • 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)論