




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系廈門理工學(xué)院高級(jí)語言程序設(shè)計(jì)教學(xué)課件廈門理工學(xué)院高級(jí)語言程序設(shè)計(jì)教學(xué)課件 第第3 3章程序的控制結(jié)構(gòu)章程序的控制結(jié)構(gòu)循環(huán)結(jié)構(gòu)(重復(fù)結(jié)構(gòu))循環(huán)結(jié)構(gòu)(重復(fù)結(jié)構(gòu))廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系2022-7-62022-7-6教師教師: : 謝小竹謝小竹E-Mail: E-Mail: 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系2本章主要內(nèi)容本章主要內(nèi)容u3.1 3.1 算法算法u3.2 3.2 語句概述語句概述u3.3 3.3 順序結(jié)構(gòu)順序結(jié)構(gòu)u3.5 3.5 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)u3.6 3.6 綜合例子綜合例子u3.4 3.4 選擇結(jié)構(gòu)選擇結(jié)構(gòu) 廈門理
2、工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系0 0 循環(huán)的必要性循環(huán)的必要性int result1,result2,result3;int result4,result5;result1 = 1 * 10;printf(1 10 %d n,result1);result2 = 2 * 10;printf(2 10 %d n,result2);result3 = 3 * 10;printf(3 10 %d n,result3);result4 = 4 * 10;printf(4 10 %d n,result4);result5 = 5 * 10;printf(5 10 %d n,result5); 1 10 102
3、 10 203 10 304 10 405 10 50輸出結(jié)果重復(fù)語句 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系0 0 循環(huán)的必要性循環(huán)的必要性1 10 = 102 10 = 203 10 = 304 10 = 405 10 = 500 + 11 + 12 + 1上個(gè)數(shù)字 + 1.重復(fù) (上個(gè)數(shù)字 +1) 10 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系53.5 3.5 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)又稱又稱重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu),可用來完成重復(fù)性、規(guī)律,可用來完成重復(fù)性、規(guī)律性的操作。是結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)之一,它和順性的操作。是結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)之一,它和順序結(jié)構(gòu)、選擇結(jié)構(gòu)共同作為各種復(fù)雜程序的基本構(gòu)造
4、單序結(jié)構(gòu)、選擇結(jié)構(gòu)共同作為各種復(fù)雜程序的基本構(gòu)造單元。元。 循環(huán)結(jié)構(gòu)的循環(huán)結(jié)構(gòu)的特點(diǎn)特點(diǎn)是:在給定條件成立時(shí),反復(fù)執(zhí)行是:在給定條件成立時(shí),反復(fù)執(zhí)行某程序段,直到條件不成立為止。給定的條件稱為循環(huán)某程序段,直到條件不成立為止。給定的條件稱為循環(huán)條件,反復(fù)執(zhí)行的程序段稱為循環(huán)體。語言主要提供條件,反復(fù)執(zhí)行的程序段稱為循環(huán)體。語言主要提供了了whilewhile、do-whiledo-while和和forfor三種循環(huán)語句,來組成各種不同三種循環(huán)語句,來組成各種不同形式的循環(huán)結(jié)構(gòu)。形式的循環(huán)結(jié)構(gòu)。 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系C C 語言中的各種循環(huán)語言中的各種循環(huán)需要多次重復(fù)執(zhí)行一個(gè)或多個(gè)任務(wù)
5、的問題考慮使用 循環(huán)來解決 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系7 3.5.1 while 3.5.1 while語句語句whilewhile語句的一般形式為:語句的一般形式為: while (while (表達(dá)式表達(dá)式) ) 語句語句 其中表達(dá)式是循環(huán)條件,語句為循環(huán)體。其中表達(dá)式是循環(huán)條件,語句為循環(huán)體。 while while語句的語句的語義語義是:計(jì)算表達(dá)式的值,當(dāng)值為真是:計(jì)算表達(dá)式的值,當(dāng)值為真( (非非0)0)時(shí),時(shí),執(zhí)行循環(huán)體語句。其執(zhí)行過程如圖執(zhí)行循環(huán)體語句。其執(zhí)行過程如圖3-9(a)3-9(a)、(b)(b)所示。所示。 表表達(dá)達(dá)式式語語句句真真(非非0 )假假(0 )圖圖3 -
6、 9 (a ) wh i l e 語語句句 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系#includevoid main () int num=1,result; while (num=10) result=num*10; printf(%d 10 %d n,num,result); num+; while while 循環(huán)示例循環(huán)示例內(nèi)存內(nèi)存numresult1null102輸出:1 10 102 10 203 10 304 10 405 10 506 10 607 10 708 10 809 10 9010 10 10011100 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系10例題
7、例題3-143-14例例3-14 3-14 用用whilewhile語句求語句求n!=1n!=1* *2 2* *3 3* * * *n n的值。的值。分析:這是一個(gè)累乘求積的問題,與累加求和類似。引入分析:這是一個(gè)累乘求積的問題,與累加求和類似。引入變量變量 facfac和和 i i 分別表示被乘數(shù)和乘數(shù),積也用變量分別表示被乘數(shù)和乘數(shù),積也用變量 fac fac 表表示,則求示,則求n!=1n!=1* *2 2* *3 3* * * *n n可以轉(zhuǎn)化為對(duì)語句:可以轉(zhuǎn)化為對(duì)語句: fac=facfac=fac* *i; i;的多次反復(fù)運(yùn)行即可。令的多次反復(fù)運(yùn)行即可。令facfac的初值為的初
8、值為1 1,并讓,并讓i i從從1 1變化到變化到n n,即可得到即可得到n!n!的值了。的值了。用傳統(tǒng)流程圖表示算法,如圖用傳統(tǒng)流程圖表示算法,如圖3-103-10所示:所示:開開 始始輸輸 入入 n 值值 i= 1 ,f a c = 1NYf a c = f a c * ii= i+ 1輸輸 出出 f a c 值值結(jié)結(jié) 束束圖圖 3 - 1 0 例例 3 - 1 4 算算 法法 描描 述述i = n#include #include main()main() int i=1, n; int i=1, n; / /* *定義定義i i和和n n變量,并為變量,并為i i賦初值賦初值* */
9、/ long int fac=1; long int fac=1; printf( printf(“ “Please input n:Please input n:” ”) ; ) ; scanf( scanf(“ “%d%d” ”, &n); , &n); / /* *輸入輸入n n值值* */ / while(i=n) while(i=n) / /* *先判斷后執(zhí)行,循環(huán)先判斷后執(zhí)行,循環(huán)n n次。本行為循環(huán)控制部分次。本行為循環(huán)控制部分* */ / fac=fac fac=fac* *i; i; / /* *做累乘運(yùn)算做累乘運(yùn)算* */ / i+; i+; / /* *累
10、乘次數(shù)計(jì)數(shù)器加累乘次數(shù)計(jì)數(shù)器加1 1。本行為循。本行為循環(huán)條件的修改語句環(huán)條件的修改語句* */ / printf(printf(“ “%ldn%ldn” ”, fac); , fac); 運(yùn)行情況如下:運(yùn)行情況如下:Please input n:6Please input n:6720720思考:若把循環(huán)體思考:若把循環(huán)體中的兩個(gè)語句中的兩個(gè)語句: :第第1010和和11 11行對(duì)調(diào),對(duì)結(jié)果行對(duì)調(diào),對(duì)結(jié)果有什么影響?若要有什么影響?若要保持原結(jié)果不變,保持原結(jié)果不變,應(yīng)把前面的程序段應(yīng)把前面的程序段作何修改作何修改? ? 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系11說明:說明:(1 1)從上例中可以看
11、出,一個(gè)循環(huán)的基本組成應(yīng)該有三大部分:從上例中可以看出,一個(gè)循環(huán)的基本組成應(yīng)該有三大部分: 循環(huán)的初始化部分循環(huán)的初始化部分:建立循環(huán)首次執(zhí)行所必需的條件,包括:建立循環(huán)首次執(zhí)行所必需的條件,包括循環(huán)操作中的初值和控制循環(huán)的初值兩部分。循環(huán)操作中的初值和控制循環(huán)的初值兩部分。 循環(huán)控制部分:循環(huán)控制部分:其核心為一個(gè)條件判斷。這個(gè)條件一般是關(guān)其核心為一個(gè)條件判斷。這個(gè)條件一般是關(guān)系表達(dá)或邏輯表達(dá)式,只要表達(dá)式的值為真系表達(dá)或邏輯表達(dá)式,只要表達(dá)式的值為真( (非非0)0)即表示條件成立,即表示條件成立,可繼續(xù)循環(huán)??衫^續(xù)循環(huán)。 循環(huán)體部分:循環(huán)體部分:循環(huán)中要反復(fù)執(zhí)行的操作,同時(shí)包括控制循環(huán)循
12、環(huán)中要反復(fù)執(zhí)行的操作,同時(shí)包括控制循環(huán)條件的修改語句,以保證循環(huán)正常結(jié)束,避免出現(xiàn)死循環(huán)(若把第條件的修改語句,以保證循環(huán)正常結(jié)束,避免出現(xiàn)死循環(huán)(若把第1 10 0行行i+;i+;去掉,則出現(xiàn)死循環(huán),此時(shí)只能按去掉,則出現(xiàn)死循環(huán),此時(shí)只能按Ctrl+BreakCtrl+Break組合鍵終止程組合鍵終止程序運(yùn)行)。序運(yùn)行)。(2 2)注意到初始化部分中第注意到初始化部分中第5 5行:行:long int fac=1 long int fac=1 中的中的fac fac 的若定義為的若定義為整型整型intint,則可能出現(xiàn)數(shù)據(jù)溢出現(xiàn)象,因?yàn)檎停瑒t可能出現(xiàn)數(shù)據(jù)溢出現(xiàn)象,因?yàn)檎蚷ntint的取值
13、范圍為的取值范圍為-327-32768683276732767。當(dāng)然如果定義為。當(dāng)然如果定義為long intlong int仍有可能出現(xiàn)數(shù)據(jù)溢出現(xiàn)象,仍有可能出現(xiàn)數(shù)據(jù)溢出現(xiàn)象,還可以定義其數(shù)據(jù)類型為還可以定義其數(shù)據(jù)類型為float,float,甚至為甚至為 doubledouble。另外,因?yàn)椤A硗?,因?yàn)閒acfac充當(dāng)充當(dāng)累乘器,一般初始化為累乘器,一般初始化為1 1,而累加器,一般初始化為,而累加器,一般初始化為0 0。 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系12說明:說明: (3 3)whilewhile語句的特點(diǎn)是先判斷表達(dá)式,后執(zhí)行語句。語句的特點(diǎn)是先判斷表達(dá)式,后執(zhí)行語句。即先計(jì)算表達(dá)式
14、的值,當(dāng)值為真即先計(jì)算表達(dá)式的值,當(dāng)值為真( (非非0)0)時(shí),執(zhí)行循環(huán)體語時(shí),執(zhí)行循環(huán)體語句。因此如果表達(dá)式的值一開始就為句。因此如果表達(dá)式的值一開始就為“假假”,循環(huán)體一次,循環(huán)體一次也不執(zhí)行。也不執(zhí)行。 (4 4)循環(huán)體如果包括有一個(gè)以上的語句,則必須用循環(huán)體如果包括有一個(gè)以上的語句,則必須用 括起來,組成復(fù)合語句。括起來,組成復(fù)合語句。 請(qǐng)大家在請(qǐng)大家在 例例3-143-14的基礎(chǔ)上完成下列各題:的基礎(chǔ)上完成下列各題: (1 1)求)求1 1* *3 3* *5 5* *7 7* * * *(2n+1)(2n+1) (2 2)求)求1!+2!+3!+ 1!+2!+3!+ +n! +n!
15、 (3 3)求)求1!+3!+5!+ 1!+3!+5!+ +(2n+1)! +(2n+1)! 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系13例題例題3-153-15 例例3-15 3-15 角度的余弦值可以利用下面的無窮級(jí)數(shù)計(jì)角度的余弦值可以利用下面的無窮級(jí)數(shù)計(jì)算出來:算出來: cos(x)1-x cos(x)1-x2 2/2!+x/2!+x4 4/4!-x/4!-x6 6/6!+x/6!+x8 8/8!-/8!- 編程序從鍵盤讀取一個(gè)角度編程序從鍵盤讀取一個(gè)角度x x(單位為弧度)計(jì)算(單位為弧度)計(jì)算cos(x)cos(x)的近似值,直到最后一項(xiàng)的絕對(duì)值小于的近似值,直到最后一項(xiàng)的絕對(duì)值小于10-51
16、0-5為止。為止。 分析:通過觀察,我們可把此級(jí)數(shù)看成是對(duì)若干分析:通過觀察,我們可把此級(jí)數(shù)看成是對(duì)若干項(xiàng)的累加求和,其中每一項(xiàng)由符號(hào)、分子和分母組成。項(xiàng)的累加求和,其中每一項(xiàng)由符號(hào)、分子和分母組成。因此編程的基本思想是:不斷求級(jí)數(shù)的部分和,直到因此編程的基本思想是:不斷求級(jí)數(shù)的部分和,直到后面準(zhǔn)備加進(jìn)去的項(xiàng)的絕對(duì)值小于后面準(zhǔn)備加進(jìn)去的項(xiàng)的絕對(duì)值小于1e-51e-5為止,否則加為止,否則加進(jìn)去后計(jì)算下一項(xiàng)。進(jìn)去后計(jì)算下一項(xiàng)。#include #include / /* *包含使用數(shù)學(xué)庫函數(shù)所對(duì)應(yīng)的頭文件包含使用數(shù)學(xué)庫函數(shù)所對(duì)應(yīng)的頭文件* */ /#include #include main()
17、main() float a=1.0,b=1.0,x,term=1.0,s=0.0; float a=1.0,b=1.0,x,term=1.0,s=0.0; / /* *a a、b b、termterm分別代表分子、分母及某一項(xiàng)分別代表分子、分母及某一項(xiàng)* */ / int m=2,sign=1; int m=2,sign=1; / /* *signsign代表符號(hào)代表符號(hào)* */ / printf(Please input the value of x:); printf(Please input the value of x:); scanf(%f,&x); scanf(%f,&a
18、mp;x); / /* *角度角度x x的單位為弧度的單位為弧度* */ / while(fabs(term)=1e-5) while(fabs(term)=1e-5) s=s+term; s=s+term; sign=-sign; sign=-sign; a=a a=a* *x x* *x;x; b=b b=b* *mm* *(m-1);(m-1); term=sign term=sign* *a/b;a/b; m=m+2; m=m+2; printf(cos(%f)=%fn,x,s); printf(cos(%f)=%fn,x,s); 運(yùn)行結(jié)果如下:運(yùn)行結(jié)果如下:Please input
19、the value of x:0Please input the value of x:0cos(0.000000)=1.000000cos(0.000000)=1.000000Please input the value of x:3.141593Please input the value of x:3.141593cos(3.141593)=-1.000004cos(3.141593)=-1.000004Please input the value of x:1.570796Please input the value of x:1.570796cos(1.570796)=-0.0000
20、00cos(1.570796)=-0.000000 思考:思考:(1)(1)分母分母b b是否可以定義為是否可以定義為intint類型?(類型?(2 2)循環(huán)中語句)循環(huán)中語句s=s+term;s=s+term;能否移到語句能否移到語句 term=signterm=sign* *a/b;a/b;的后面。的后面。說明:本例的上述解法具有一般性,即適用于類似的級(jí)數(shù)求和問題。說明:本例的上述解法具有一般性,即適用于類似的級(jí)數(shù)求和問題。但本例比較特殊:后一項(xiàng)與前一項(xiàng)的比為一個(gè)與項(xiàng)數(shù)但本例比較特殊:后一項(xiàng)與前一項(xiàng)的比為一個(gè)與項(xiàng)數(shù)i i有關(guān)的數(shù)據(jù)有關(guān)的數(shù)據(jù) (-1)(-1)* *x x* *x/(2x/(
21、2* *i-1)/(2i-1)/(2* *i) i),這樣在求出前一項(xiàng)的基礎(chǔ)上可以很容易地推導(dǎo)出后,這樣在求出前一項(xiàng)的基礎(chǔ)上可以很容易地推導(dǎo)出后一項(xiàng)。本例的第二種解法代碼如下:一項(xiàng)。本例的第二種解法代碼如下:#include #include #include #include main()main() float s=0.0, term=1.0, x; float s=0.0, term=1.0, x; int i=1; int i=1; printf(Please input the value of x:); printf(Please input the value of x:); s
22、canf(%f, &x); scanf(%f, &x); while(fabs(term)=1e-5) while(fabs(term)=1e-5) s+=term; s+=term; term=term term=term* *(-1)(-1)* *x x* *x/(2x/(2* *i-1)/(2i-1)/(2* *i);i); i+; i+; printf(cos(%f)=%fn, x, s); printf(cos(%f)=%fn, x, s); 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系14例題例題3-163-16 例例3-16 3-16 將從鍵盤輸入的一串字符(用將從鍵盤輸入的一
23、串字符(用# #結(jié)束輸入)按結(jié)束輸入)按如下規(guī)則進(jìn)行轉(zhuǎn)換:如下規(guī)則進(jìn)行轉(zhuǎn)換: (1 1)如果輸入的字符為大寫字母,則先轉(zhuǎn)換為對(duì)應(yīng))如果輸入的字符為大寫字母,則先轉(zhuǎn)換為對(duì)應(yīng)的小寫字母。的小寫字母。 (2 2)將)將a a轉(zhuǎn)換為轉(zhuǎn)換為c c、b b轉(zhuǎn)換為轉(zhuǎn)換為d d、x x轉(zhuǎn)換為轉(zhuǎn)換為z z、y y轉(zhuǎn)換轉(zhuǎn)換為為a a、z z轉(zhuǎn)換為轉(zhuǎn)換為b b。 (3 3)其他字符不轉(zhuǎn)換。)其他字符不轉(zhuǎn)換。 分析:用語句分析:用語句“if( ch=if( ch= A A & ch=& ch= a a & ch=& ch= z z ) ch=ch+2;) ch=ch+2;” ”可將大寫
24、字母轉(zhuǎn)換為其后可將大寫字母轉(zhuǎn)換為其后第第2 2個(gè)字母;對(duì)字母個(gè)字母;對(duì)字母y y和和z z通過通過“ch=ch+2;ch=ch+2;” ”后,其后,其ASCIIASCII碼碼已超出小寫字母的取值范圍,因此必須在此基礎(chǔ)上再減已超出小寫字母的取值范圍,因此必須在此基礎(chǔ)上再減去去2626才能得到才能得到a a和和b b 。源程序如下:源程序如下:#include #include main()main() char ch; char ch; printf(Input data:); printf(Input data:); ch=getchar();ch=getchar(); while(ch!=#
25、) while(ch!=#) if (ch=A & ch=A & ch=a & ch=a & chz) ch=ch-26; if (chz) ch=ch-26; / /* *處理對(duì)處理對(duì)y y 和和z z 加后超范圍的情況加后超范圍的情況* */ / putchar(ch);putchar(ch); ch=getchar(); ch=getchar(); 運(yùn)行結(jié)果如下:運(yùn)行結(jié)果如下:Input data:UfYrq 2 yLb 3?#Input data:UfYrq 2 yLb 3?#whats 2 and 3?whats 2 and 3?說明:說明:(1 1)
26、程序中的第)程序中的第6 6、7 7、1616行可以行可以用用while(ch=getchar( )!=while(ch=getchar( )!= # # ) )來來代替放在原來第代替放在原來第6 6行的位置,其行的位置,其他保持不變。注意上面式子中他保持不變。注意上面式子中chch=getchar( )=getchar( )必須在兩邊加上圓括必須在兩邊加上圓括號(hào)。號(hào)。(2 2)本例屬于解密碼的問題,)本例屬于解密碼的問題,即將原來的字符串按照一定的規(guī)即將原來的字符串按照一定的規(guī)則轉(zhuǎn)換后能夠閱讀。則轉(zhuǎn)換后能夠閱讀。 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 (1) (1) 如果如果whilewhile后
27、的表達(dá)式的值一開始就為假,循環(huán)體后的表達(dá)式的值一開始就為假,循環(huán)體將一次也不執(zhí)行。將一次也不執(zhí)行。 (2) (2) 循環(huán)體中的語句可為任意類型的循環(huán)體中的語句可為任意類型的C C語句。語句。 (3) (3) 遇到下列情況,退出遇到下列情況,退出whilewhile循環(huán):循環(huán): 表達(dá)式為假(為表達(dá)式為假(為0 0)。)。 循環(huán)體內(nèi)遇到循環(huán)體內(nèi)遇到breakbreak、returnreturn語句。語句。 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系173.5.2 do-while3.5.2 do-while語句語句 do-while do-while語句的一般形式為語句的一般形
28、式為: : do do 循環(huán)體語句循環(huán)體語句 while( while(表達(dá)式表達(dá)式); ); 這個(gè)循環(huán)與這個(gè)循環(huán)與whilewhile循環(huán)的不同循環(huán)的不同在于在于: :它先執(zhí)行循環(huán)中的語句它先執(zhí)行循環(huán)中的語句, ,然后然后再判斷表達(dá)式是否為真再判斷表達(dá)式是否為真, , 如果為真如果為真則繼續(xù)循環(huán);如果為假則繼續(xù)循環(huán);如果為假, , 則終止循則終止循環(huán)。環(huán)。因此因此, do-while, do-while循環(huán)至少要執(zhí)循環(huán)至少要執(zhí)行一次循環(huán)語句。其執(zhí)行過程可用行一次循環(huán)語句。其執(zhí)行過程可用圖圖3-113-11(a a)、)、(b)(b)表示。表示。語語 句句真真 ( 非非 0 )假假 ( 0 )
29、圖圖 3 -1 1 ( a )d o -w h ile 語語 句句表表 達(dá)達(dá) 式式 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系19例題例題3-17 3-17 do-whiledo-while語句求語句求n!=1n!=1* *2 2* *3 3* * * *n n的值。的值。用傳統(tǒng)流程圖表示算法,見圖用傳統(tǒng)流程圖表示算法,見圖3-123-12。源程序如下:源程序如下:#include #include main()main() int i=1,n; int i=1,n; / /* *定義定義i i和和n n變量,并為變量,并為i i賦初值賦初值1 1* */ / long i
30、nt fac=1; long int fac=1; / /* *因階乘值取值范圍較大,故因階乘值取值范圍較大,故facfac定定義為長整型,并賦初值義為長整型,并賦初值1 1 * */ / printf(Please input n:); printf(Please input n:); scanf(%d, &n); scanf(%d, &n); / /* *輸入輸入n n值值* */ / do do fac=fac fac=fac* *i; i; / /* *做累乘運(yùn)算做累乘運(yùn)算* */ / i+; i+; / /* *累乘次數(shù)計(jì)數(shù)器加累乘次數(shù)計(jì)數(shù)器加1 1 * */ / w
31、hile(i=n); while(i=n); / /* *先判斷后執(zhí)行,循環(huán)先判斷后執(zhí)行,循環(huán)n n次次* */ / printf(%ldn, fac); printf(%ldn, fac);開開 始始輸輸 入入 n 值值 i= 1 ,fa c = 1NYfa c = fa c * ii= i+ 1輸輸 出出 fa c 值值結(jié)結(jié) 束束圖圖 3 -1 2 例例 3 -1 7 算算 法法 描描 述述i = n 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系20說明:說明: (1 1)whilewhile后的分號(hào)后的分號(hào)“;”不能少。不能少。 (2 2)當(dāng)循環(huán)體只有一個(gè)語句時(shí),花括當(dāng)循環(huán)體只有一個(gè)語句時(shí),花括號(hào)號(hào)“
32、 ” ”可以省略,但為了避免與可以省略,但為了避免與whilewhile語語句混淆,建議保留。句混淆,建議保留。 (3 3)上述問題既可以用上述問題既可以用whilewhile語句處理,語句處理,也可以用也可以用do-whiledo-while語句處理。并且在兩種語句處理。并且在兩種語句中其組成循環(huán)結(jié)構(gòu)的三個(gè)部分相同,語句中其組成循環(huán)結(jié)構(gòu)的三個(gè)部分相同,得到的結(jié)果也相同,可以認(rèn)為對(duì)上述問題得到的結(jié)果也相同,可以認(rèn)為對(duì)上述問題whilewhile語句與語句與do-whiledo-while語句是完全等價(jià)的。語句是完全等價(jià)的。其實(shí)其實(shí)do-whiledo-while結(jié)構(gòu)是由一個(gè)語句加一個(gè)結(jié)構(gòu)是由一
33、個(gè)語句加一個(gè)whiwhile le結(jié)構(gòu)構(gòu)成的。見流程圖結(jié)構(gòu)構(gòu)成的。見流程圖3-133-13,其中虛線框,其中虛線框部分就是一個(gè)部分就是一個(gè)whilewhile結(jié)構(gòu)。結(jié)構(gòu)。表表達(dá)達(dá)式式語語句句真真(非非0)假假(0)圖圖 3-13 do-while結(jié)結(jié)構(gòu)構(gòu)語語句句 這是不是意味著在任何情況下兩者都是等價(jià)的?這是不是意味著在任何情況下兩者都是等價(jià)的?除了下除了下列這種特殊情況之外的其他情況是等價(jià)的,即當(dāng)兩種語句在列這種特殊情況之外的其他情況是等價(jià)的,即當(dāng)兩種語句在第一次進(jìn)入循環(huán)時(shí)條件就不滿足的特殊情況下是不等價(jià)的。第一次進(jìn)入循環(huán)時(shí)條件就不滿足的特殊情況下是不等價(jià)的。如下列兩個(gè)程序段是不等價(jià)的:如下
34、列兩個(gè)程序段是不等價(jià)的:程序段程序段1:k=11;while(k=10) printf(“k=%d”, k);程序段程序段2:k=11;do printf(“k=%d”, k);while(k=10); 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系比較比較 while while 和和 do-whiledo-while循環(huán)循環(huán)while(循環(huán)條件) 循環(huán)體;do 循環(huán)體; while( 循環(huán)條件);do-while 循環(huán)是先執(zhí)行循環(huán)是先執(zhí)行后判斷,所以,即使開后判斷,所以,即使開始條件為假,循環(huán)體也始條件為假,循環(huán)體也至少會(huì)被執(zhí)行一次。至少會(huì)被執(zhí)行一次。while循環(huán)是先判斷循環(huán)是先判斷后執(zhí)行,所以,如果后
35、執(zhí)行,所以,如果條件為假,則循環(huán)體條件為假,則循環(huán)體一次也不會(huì)被執(zhí)行。一次也不會(huì)被執(zhí)行。q 比較 while 和 do-while 循環(huán)的工作原理 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系22例題例題3-183-18 例例3-18 3-18 不斷輸入三角形的三邊長,求三角形面不斷輸入三角形的三邊長,求三角形面積積, ,直到用戶按直到用戶按Y Y 或或y y 鍵程序結(jié)束。鍵程序結(jié)束。 分析:本例中要不斷輸入多組線段進(jìn)行處理,這分析:本例中要不斷輸入多組線段進(jìn)行處理,這是一個(gè)重復(fù)操作問題,可考慮使用循環(huán)結(jié)構(gòu)。并且可是一個(gè)重復(fù)操作問題,可考慮使用循環(huán)結(jié)構(gòu)。并且可以先讓用戶輸入第一組數(shù)據(jù)進(jìn)行處理,然后再由用戶以
36、先讓用戶輸入第一組數(shù)據(jù)進(jìn)行處理,然后再由用戶來決定是否要繼續(xù)輸入下一組數(shù)據(jù),因此本題采用來決定是否要繼續(xù)輸入下一組數(shù)據(jù),因此本題采用do-do-whilewhile語句來編程。語句來編程。源程序如下:源程序如下:#include #include #include #include #include #include #include #include main( )main( ) double a, b, c, s, area; double a, b, c, s, area; do do printf(Please input a,b,c:); printf(Please input a,
37、b,c:); scanf(%lf, %lf, %lf, &a, &b, &c); scanf(%lf, %lf, %lf, &a, &b, &c); if(a+bc & a+cb & b+ca) if(a+bc & a+cb & b+ca) s=1.0/2 s=1.0/2* *(a+b+c);(a+b+c); area=sqrt(s area=sqrt(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c);(s-c); printf(area=%7.2lfn, area); printf(area
38、=%7.2lfn, area); else printf(it is not a trilateraln else printf(it is not a trilateraln” ”); ); printf( printf(按按Y Y 或或y y 鍵退出鍵退出, ,按其它鍵繼續(xù)按其它鍵繼續(xù)n);n); while(toupper(getch( )!=Y); while(toupper(getch( )!=Y); 運(yùn)行結(jié)果如下:運(yùn)行結(jié)果如下:Please input a,b,c:3,4,5Please input a,b,c:3,4,5area= 6.00area= 6.00按按Y Y 或或y
39、y 鍵退出鍵退出, ,按其它鍵繼按其它鍵繼續(xù)續(xù) (設(shè)按(設(shè)按n n 鍵鍵, ,繼續(xù)下列操作)繼續(xù)下列操作)Please input a,b,c:1,2,3Please input a,b,c:1,2,3it is not a trilateralit is not a trilateral按按Y Y 或或y y 鍵退出鍵退出, ,按其它鍵繼按其它鍵繼續(xù)續(xù) (設(shè)按(設(shè)按y y 鍵,則退出程序)鍵,則退出程序)思考:思考:while(toupper(getch( )!=while(toupper(getch( )!=Y);Y);中的中的getch( ) getch( ) 若改為若改為getchar
40、( ),getchar( ),運(yùn)行結(jié)果如何運(yùn)行結(jié)果如何? ? 為什么?為什么? 說明:說明: (1 1)toupper(getch( ) toupper(getch( ) 函數(shù)調(diào)用的作用是將函數(shù)調(diào)用的作用是將getch( ) getch( ) 函數(shù)函數(shù)從鍵盤上獲得的字符轉(zhuǎn)化為大寫字母。從鍵盤上獲得的字符轉(zhuǎn)化為大寫字母。 它的等價(jià)為:它的等價(jià)為:getch( )!=Y& getch( )!= ygetch( )!=Y& getch( )!= y 。 (2 2)getch( )getch( )、getche( )getche( )和和getchar( )getchar( )三者雖然
41、都需從鍵盤三者雖然都需從鍵盤輸入字符,但是輸入方式有所不同。輸入字符,但是輸入方式有所不同。 在在getchar( )getchar( )的原始形式中,輸入字符先被放到緩沖隊(duì)列中,的原始形式中,輸入字符先被放到緩沖隊(duì)列中,直到鍵入回車鍵時(shí)才返回。直到鍵入回車鍵時(shí)才返回。 getche( ) getche( ) 函數(shù)和函數(shù)和getch( )getch( )函數(shù)的共同點(diǎn)是每次按鍵后字符函數(shù)的共同點(diǎn)是每次按鍵后字符被立即送往程序并立即輸出相應(yīng)的結(jié)果,不再需要行緩沖。被立即送往程序并立即輸出相應(yīng)的結(jié)果,不再需要行緩沖。不同的是在接收字符時(shí),不同的是在接收字符時(shí),getch( )getch( )函數(shù)在屏
42、幕上不回顯鍵入的函數(shù)在屏幕上不回顯鍵入的字符,而字符,而getche( ) getche( ) 函數(shù)向屏幕回顯鍵入的字符。函數(shù)向屏幕回顯鍵入的字符。 在交互式程序中,當(dāng)需要從鍵盤輸入字符時(shí),常用在交互式程序中,當(dāng)需要從鍵盤輸入字符時(shí),常用getch( ) getch( ) 或或getche( )getche( )來代替來代替getchar( )getchar( )進(jìn)行字符輸入。進(jìn)行字符輸入。 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系23 3.5.3 for 3.5.3 for語句語句 在在C C語言中,還提供了更為靈活、更為常用的語言中,還提供了更為靈活、更為常用的forfor語句,不僅可以用于循環(huán)次數(shù)
43、已經(jīng)確定的情況,語句,不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況,它完全可以取代條件的情況,它完全可以取代 while while 語句。它的語句。它的一般形式為一般形式為: : for for(表達(dá)式(表達(dá)式1 1;表達(dá)式;表達(dá)式2 2;表達(dá)式;表達(dá)式3 3) 語句語句 它的執(zhí)行過程如下:它的執(zhí)行過程如下: 先求解表達(dá)式先求解表達(dá)式1 1。 求解表達(dá)式求解表達(dá)式2 2,若其值為真(非,若其值為真(非0 0),則執(zhí)行),則執(zhí)行fofor r語句中指定的內(nèi)嵌語句,然后執(zhí)行第步;若語句中指定的內(nèi)嵌語句,然后執(zhí)行
44、第步;若其值為假(其值為假(0 0),則結(jié)束循環(huán),執(zhí)行),則結(jié)束循環(huán),執(zhí)行forfor語句下面語句下面的一個(gè)語句。的一個(gè)語句。 解表達(dá)式解表達(dá)式3,3,轉(zhuǎn)回上面第步繼續(xù)執(zhí)行。轉(zhuǎn)回上面第步繼續(xù)執(zhí)行。 其執(zhí)行過程可用圖其執(zhí)行過程可用圖3-143-14表示。表示。語語句句真真假假圖圖3-14 for語語句句執(zhí)執(zhí)行行過過程程求求解解表表達(dá)達(dá)式式1表表達(dá)達(dá)式式2求求解解表表達(dá)達(dá)式式3for語語句句的的下下一一個(gè)個(gè)語語句句 從從forfor語句的執(zhí)行過程可以看出,語句的執(zhí)行過程可以看出,forfor語句與語句與whilewhile語句是完全等價(jià)的,對(duì)于語句是完全等價(jià)的,對(duì)于forfor循環(huán)中語句的一般形式
45、,循環(huán)中語句的一般形式,就是如下的就是如下的whilewhile循環(huán)形式:循環(huán)形式: 表達(dá)式表達(dá)式1 1; whilewhile(表達(dá)式(表達(dá)式2 2) 語句;語句; 表達(dá)式表達(dá)式3 3; for for語句最簡單的應(yīng)用形式也是最容易理解的形語句最簡單的應(yīng)用形式也是最容易理解的形式如下:式如下: for for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值) 語句語句 #include #include main()main() int i=1, n; int i=1, n; / /* *定義定義i i和和n n變量,并為變量,并為i i賦初值賦初值* */
46、 / long int fac=1; long int fac=1; printf( printf(“ “Please input n:Please input n:” ”) ; ) ; scanf( scanf(“ “%d%d” ”, &n); , &n); / /* *輸入輸入n n值值* */ / while(i=n) while(i=n) / /* *先判斷后執(zhí)行,循環(huán)先判斷后執(zhí)行,循環(huán)n n次。本行為循環(huán)控制部分次。本行為循環(huán)控制部分* */ / fac=fac fac=fac* *i; i; / /* *做累乘運(yùn)算做累乘運(yùn)算* */ / i+; i+; / /* *
47、累乘次數(shù)計(jì)數(shù)器加累乘次數(shù)計(jì)數(shù)器加1 1。本行為循。本行為循環(huán)條件的修改語句環(huán)條件的修改語句* */ / printf(printf(“ “%ldn%ldn” ”, fac); , fac); 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系24例題例題3-193-19用用forfor語句求語句求n!=1n!=1* *2 2* *3 3* * * *n n的值的值#include #include main( )main( ) int i, n; int i, n; / /* *定義定義i i和和n n變量變量* */ / long int fac=1; long int fac=1; printf( print
48、f(“ “Please input n:Please input n:” ”) ) scanf( scanf(“ “%d%d” ”, &n); , &n); / /* *輸入輸入n n值值* */ / for(i=1; i=n; i+) for(i=1; i=n; i+) / /* *先判斷后執(zhí)行,循環(huán)先判斷后執(zhí)行,循環(huán)n n次次* */ / fac=fac fac=fac* *i; i; / /* *做累乘運(yùn)算做累乘運(yùn)算* */ / printf(%ldn, fac); printf(%ldn, fac); / /* *以長整型格式輸出以長整型格式輸出n n的階乘值的階乘值*
49、 */ / 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系25forfor語句的使用說明語句的使用說明(1 1)在)在forfor語句中任何表達(dá)式都可以缺省語句中任何表達(dá)式都可以缺省, ,但分號(hào)但分號(hào)“;”不能不能缺省。缺省部分的功能,可以由其他的語句來完成。缺省。缺省部分的功能,可以由其他的語句來完成。 用前面例子的用前面例子的forfor語句:語句: for(fac=1,i=1 for(fac=1,i=1;i=ni=n;i+) fac=faci+) fac=fac* *i i; 為例,說明如下幾種等價(jià)的缺省形式;為例,說明如下幾種等價(jià)的缺省形式; 省略了初始化表達(dá)式省略了初始化表達(dá)式, ,表示在表示在fo
50、rfor語句中不對(duì)循環(huán)控語句中不對(duì)循環(huán)控制變量賦初值。可改寫為:制變量賦初值??筛膶憺椋?fac=1 fac=1;i=1i=1; for( for(;i=ni=n;i+) fac=faci+) fac=fac* *i i; (2 2)表達(dá)式)表達(dá)式1 1和表達(dá)式和表達(dá)式3 3既可以是一個(gè)簡單表達(dá)式也可以既可以是一個(gè)簡單表達(dá)式也可以是逗號(hào)表達(dá)式。是逗號(hào)表達(dá)式。for(i=0,j=100for(i=0,j=100;i=100i=100;i+,j-) k=i+ji+,j-) k=i+j; (3 3)表達(dá)式)表達(dá)式2 2一般是關(guān)系表達(dá)式或邏輯表達(dá)式,但也可一般是關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是數(shù)值表
51、達(dá)式或以是數(shù)值表達(dá)式或 字符表達(dá)式,只要其值非零,就執(zhí)行循環(huán)體。字符表達(dá)式,只要其值非零,就執(zhí)行循環(huán)體。 例如:例如:for(i=0for(i=0;(c=getchar( )!=(c=getchar( )!= nn ;i+=c)i+=c); 又如:又如:for(for(;(c=getchar( )!=(c=getchar( )!= nn ;) )printf(printf(“ “%c%c” ”,c),c); (4 4)循環(huán)體語句可以為空語句,此時(shí)也稱為空循環(huán)。如把)循環(huán)體語句可以為空語句,此時(shí)也稱為空循環(huán)。如把上面第(上面第(1 1)點(diǎn)中的)點(diǎn)中的forfor語句改為:語句改為: for(fa
52、c=1,i=1 for(fac=1,i=1;i=ni=n;fac=facfac=fac* *i i,i+)i+); 空循環(huán)還常用來產(chǎn)生延時(shí),以達(dá)到某種特定要求。空循環(huán)還常用來產(chǎn)生延時(shí),以達(dá)到某種特定要求。如:如:for (t=0;ttime;t+); for (t=0;tn) break if (in) break; / /* *用用breakbreak來強(qiáng)迫退出循環(huán)來強(qiáng)迫退出循環(huán)* */ / fac=fac fac=fac* *i i; 省略了變量增值表達(dá)式,則不對(duì)循環(huán)控制變量進(jìn)行操作。省略了變量增值表達(dá)式,則不對(duì)循環(huán)控制變量進(jìn)行操作??筛膶憺椋嚎筛膶憺椋?for(fac=1,i=1 for
53、(fac=1,i=1;i=n i=3) Fn=Fn-1+Fn-2 (n=3) 法一法一:根據(jù)斐波納契數(shù)列的規(guī)律,可以畫出如圖:根據(jù)斐波納契數(shù)列的規(guī)律,可以畫出如圖3-153-15的求解的求解過程:過程: 這是一種遞推算法,應(yīng)采用循環(huán)實(shí)現(xiàn)。設(shè)變量這是一種遞推算法,應(yīng)采用循環(huán)實(shí)現(xiàn)。設(shè)變量f1 f1、f2f2和和f f,并為,并為f1 f1和和f2f2賦初值賦初值1 1,令,令f=f1+f2f=f1+f2得到第得到第3 3項(xiàng);將項(xiàng);將f1f2f1f2, f2ff2f,再求,再求f=f1f=f1+f2+f2得到第得到第4 4項(xiàng);依此類推求第項(xiàng);依此類推求第5 5項(xiàng)、第項(xiàng)、第6 6項(xiàng)項(xiàng),程序流程圖如圖,
54、程序流程圖如圖3-3-1616所示。所示。#include #include #include #include main()main() long int f,f1,f2;long int f,f1,f2;int i;int i;clrscr( ); clrscr( ); / /* *清屏函數(shù)清屏函數(shù)* */ /f1=f2=1;f1=f2=1;printf(%12ld%12ld, f1, f2);printf(%12ld%12ld, f1, f2);for (i=3; i=40; i+)for (i=3; i=40; i+) f=f1+f2; f=f1+f2; f1=f2; f1=f2; f
55、2=f; f2=f; printf(%12ld, f); printf(%12ld, f); if (i%4=0) printf(n) if (i%4=0) printf(n) / /* *控制一行輸出控制一行輸出4 4個(gè)數(shù)個(gè)數(shù)* */ / 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系27方法二:方法二:法二:根據(jù)斐波納契數(shù)列的規(guī)律,還可以畫出如圖法二:根據(jù)斐波納契數(shù)列的規(guī)律,還可以畫出如圖3-173-17的求解過程:的求解過程:源程序如下:源程序如下:#include #include main()main() long int f1, f2; long int f1, f2; int i; int i;
56、 clrscr( ); clrscr( ); f1=f2=1; f1=f2=1; for(i=1; i=20; i+) for(i=1; i=20; i+) / /* * 每循環(huán)一次輸出每循環(huán)一次輸出2 2個(gè)數(shù),共需循環(huán)個(gè)數(shù),共需循環(huán)2020次次* */ / printf(%12ld %12ld , f1, f2); printf(%12ld %12ld , f1, f2); if (i%2=0) printf(n); if (i%2=0) printf(n); f1=f1+f2; f1=f1+f2; f2=f2+f1; f2=f2+f1; 運(yùn)行結(jié)果為運(yùn)行結(jié)果為: : 1 1 2 3 1 1
57、2 3 5 8 13 21 5 8 13 21 34 55 89 144 34 55 89 144 233 377 610 987 233 377 610 987 1597 2584 4181 6765 1597 2584 4181 6765 10946 17711 28657 46368 10946 17711 28657 46368 75025 121393 196418 317811 75025 121393 196418 317811 514229 832040 1346269 2178309 514229 832040 1346269 2178309 3524578 5702887
58、9227465 14930352 3524578 5702887 9227465 14930352 24157817 39088169 63245986 10233415 24157817 39088169 63245986 102334155 5 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 forfor語句注意事項(xiàng):語句注意事項(xiàng): (1) (1) 表達(dá)式表達(dá)式1 1、表達(dá)式、表達(dá)式2 2、和表達(dá)式、和表達(dá)式3 3可以是任何類型可以是任何類型的表達(dá)式。比方說,這三個(gè)表達(dá)式都可以是逗號(hào)表達(dá)式,的表達(dá)式。比方說,這三個(gè)表達(dá)式都可以是逗號(hào)表達(dá)式,即每個(gè)表達(dá)式都可由多個(gè)表達(dá)式組成。即每個(gè)表達(dá)式都可由多個(gè)表達(dá)式組成
59、。 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 (2) (2) 表達(dá)式表達(dá)式1 1、表達(dá)式、表達(dá)式2 2、和表達(dá)式、和表達(dá)式3 3都是任都是任選項(xiàng),可以省掉其中的一個(gè)、兩個(gè)或全部,但選項(xiàng),可以省掉其中的一個(gè)、兩個(gè)或全部,但其用于間隔的分號(hào)是一個(gè)也不能省的。其用于間隔的分號(hào)是一個(gè)也不能省的。 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 (3) (3) 表達(dá)式表達(dá)式2 2如果為空則相當(dāng)于表達(dá)式如果為空則相當(dāng)于表達(dá)式2 2的值是真的值是真 。 (4) (4) 循環(huán)體中的語句可為任意類型的循環(huán)體中的語句可為任意類型的C C語句。語句。 (5) for(5) for語句也可以組成多重循環(huán),而且也可以和語句也可以組成多重循環(huán),而
60、且也可以和whilewhile語句和語句和do-whiledo-while語句相互嵌套。語句相互嵌套。 (6) (6) 循環(huán)體可以是空語句。循環(huán)體可以是空語句。例:計(jì)算用戶輸入的字符數(shù)(當(dāng)輸入是回車?yán)河?jì)算用戶輸入的字符數(shù)(當(dāng)輸入是回車符時(shí)統(tǒng)計(jì)結(jié)束符時(shí)統(tǒng)計(jì)結(jié)束) )。 表示循環(huán)體為空語表示循環(huán)體為空語句,并非表示句,并非表示forfor語語句結(jié)束句結(jié)束 廈門理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系31 3.5.4 3.5.4 循環(huán)的嵌套循環(huán)的嵌套 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套。環(huán)的嵌套。內(nèi)嵌的循環(huán)中還可以嵌套。三種循環(huán)(三種循環(huán)(whi1ewhi1e循環(huán)、循環(huán)、do-whi1edo-whi1e循環(huán)和循環(huán)和forfor循環(huán))可以互相嵌套。循環(huán))可以互相嵌套。利用循利用循環(huán)的嵌套可以來解決相對(duì)比較復(fù)雜的問題,如矩陣的運(yùn)算,環(huán)的嵌套可以來解決相
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB Q071-2024 酶底物法微生物智能培養(yǎng)計(jì)數(shù)一體機(jī)
- T-ZJHIA 16-2024 特殊醫(yī)學(xué)用途配方食品臨床營養(yǎng)治療營養(yǎng)篩查數(shù)據(jù)集
- 二零二五年度離婚協(xié)議中夫妻共同財(cái)產(chǎn)清算補(bǔ)充協(xié)議
- 二零二五年度直播帶貨主播合作權(quán)益保障合同
- 2025年度智能制造合作伙伴協(xié)議書
- 二零二五年度木制家具生產(chǎn)廠木工用工協(xié)議書
- 二零二五年度車輛掛靠運(yùn)輸合同車輛運(yùn)輸合同安全保障協(xié)議
- 二零二五年度個(gè)人租賃帶太陽能熱水系統(tǒng)住宅合同
- 二零二五年度餐飲行業(yè)知識(shí)產(chǎn)權(quán)保護(hù)協(xié)議
- 二零二五年度兼職攝影師聘用合同模板
- 家校共育之道
- DeepSeek入門寶典培訓(xùn)課件
- 西安2025年陜西西安音樂學(xué)院專職輔導(dǎo)員招聘2人筆試歷年參考題庫附帶答案詳解
- 《作文中間技巧》課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 2025屆八省聯(lián)考 新高考適應(yīng)性聯(lián)考英語試題(原卷版)
- 新蘇教版一年級(jí)下冊(cè)數(shù)學(xué)第1單元第3課時(shí)《8、7加幾》作業(yè)
- 2024年山東電力高等專科學(xué)校高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2024年電力交易員(高級(jí)工)職業(yè)鑒定理論考試題庫(單選題、多選題、判斷題)
- 《平面廣告賞析》課件
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊(cè)+
評(píng)論
0/150
提交評(píng)論