C語(yǔ)言程序設(shè)計(jì) 流程控制語(yǔ)句ppt課件_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì) 流程控制語(yǔ)句ppt課件_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì) 流程控制語(yǔ)句ppt課件_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì) 流程控制語(yǔ)句ppt課件_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì) 流程控制語(yǔ)句ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C言語(yǔ)程序設(shè)計(jì)言語(yǔ)程序設(shè)計(jì)第四章第四章 流程控制語(yǔ)句流程控制語(yǔ)句 實(shí)踐任務(wù)中,順序構(gòu)造是不能滿(mǎn)足程序設(shè)計(jì)要實(shí)踐任務(wù)中,順序構(gòu)造是不能滿(mǎn)足程序設(shè)計(jì)要求的,由于大量的實(shí)踐問(wèn)題需求經(jīng)過(guò)流程的控制來(lái)求的,由于大量的實(shí)踐問(wèn)題需求經(jīng)過(guò)流程的控制來(lái)處理的。處理的。例如:例如:假設(shè)明天氣溫高于假設(shè)明天氣溫高于35c,我將去游泳,否那么在家看,我將去游泳,否那么在家看看電視??措娨暋;蛭覍⒆鲎鳂I(yè)直到晚上十點(diǎn)?;蛭覍⒆鲎鳂I(yè)直到晚上十點(diǎn)。從程序構(gòu)造上看,就是經(jīng)過(guò)循環(huán)構(gòu)造和選擇構(gòu)造來(lái)從程序構(gòu)造上看,就是經(jīng)過(guò)循環(huán)構(gòu)造和選擇構(gòu)造來(lái)實(shí)現(xiàn)的。實(shí)現(xiàn)的。4-1 選擇構(gòu)造語(yǔ)句選擇構(gòu)造語(yǔ)句4.1.1 if語(yǔ)句語(yǔ)句 程序設(shè)計(jì)過(guò)程中,經(jīng)

2、常需求根據(jù)某一條件能否滿(mǎn)足程序設(shè)計(jì)過(guò)程中,經(jīng)常需求根據(jù)某一條件能否滿(mǎn)足來(lái)判別做或者不做某件事。這種構(gòu)造在來(lái)判別做或者不做某件事。這種構(gòu)造在c中是經(jīng)過(guò)中是經(jīng)過(guò)if語(yǔ)句語(yǔ)句實(shí)現(xiàn)的。實(shí)現(xiàn)的。if語(yǔ)句的三種方式語(yǔ)句的三種方式(1)方式一: If (表達(dá)式) 語(yǔ)句闡明:表達(dá)式通常為關(guān)系表達(dá)式或邏輯表達(dá)式,兩邊的括號(hào)必不可少,當(dāng)語(yǔ)句不止一句的時(shí)候,可以運(yùn)用一組括號(hào)把他們組成復(fù)合語(yǔ)句。 例如:If (xy) printf( “%d, x);否表達(dá)式語(yǔ)句真否流程圖流程圖執(zhí)行過(guò)程:執(zhí)行過(guò)程:先計(jì)算表達(dá)式的值,假設(shè)表先計(jì)算表達(dá)式的值,假設(shè)表達(dá)式達(dá)式的值為非零,那么執(zhí)行語(yǔ)句;的值為非零,那么執(zhí)行語(yǔ)句;假設(shè)假設(shè)值為零

3、,那么跳過(guò)值為零,那么跳過(guò)if語(yǔ)句執(zhí)語(yǔ)句執(zhí)行其后行其后續(xù)語(yǔ)句。續(xù)語(yǔ)句。例例4.1 4.1 一個(gè)猜字游戲程序。程序運(yùn)轉(zhuǎn)時(shí),一個(gè)猜字游戲程序。程序運(yùn)轉(zhuǎn)時(shí),要求游戲者從鍵盤(pán)輸入一個(gè)數(shù),假設(shè)猜要求游戲者從鍵盤(pán)輸入一個(gè)數(shù),假設(shè)猜對(duì)了,屏幕顯示對(duì)了,屏幕顯示“* * *RightRight* * *;否那么;否那么屏幕不顯示任何信息。屏幕不顯示任何信息。#include #include main() main() int magic=123; int magic=123; int guess; int guess; printf(“Enter your guess:); printf(“Enter yo

4、ur guess:); scanf(“%d,&guess); scanf(“%d,&guess); if (guess=magic) if (guess=magic) printf(“ printf(“* * *RightRight* * *n);n); if語(yǔ)句的三種方式(2) 方式二: If (表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2 例如:If (xy) printf “%d, x);Else printf(“%d,y);真非真非0假假0表達(dá)式成立嗎?表達(dá)式成立嗎?語(yǔ)句序列語(yǔ)句序列1語(yǔ)句序列語(yǔ)句序列2執(zhí)行過(guò)程:執(zhí)行過(guò)程:先計(jì)算表達(dá)式的值,假設(shè)表達(dá)式的值為非零,那么執(zhí)行語(yǔ)先計(jì)算表

5、達(dá)式的值,假設(shè)表達(dá)式的值為非零,那么執(zhí)行語(yǔ)句句1后跳過(guò)語(yǔ)句后跳過(guò)語(yǔ)句2而執(zhí)行后續(xù)語(yǔ)句;假設(shè)值為零,那么跳過(guò)而執(zhí)行后續(xù)語(yǔ)句;假設(shè)值為零,那么跳過(guò)語(yǔ)句語(yǔ)句1執(zhí)行語(yǔ)句執(zhí)行語(yǔ)句2。留意:留意:1.c言語(yǔ)每條語(yǔ)句必需以分號(hào)終了,因此言語(yǔ)每條語(yǔ)句必需以分號(hào)終了,因此else之之前有前有一分號(hào),整個(gè)語(yǔ)句終了處有一分號(hào)。一分號(hào),整個(gè)語(yǔ)句終了處有一分號(hào)。例:例:if(ab) printf(“%d,a); else printf (“%d,b); 正確正確if(ab) printf(“%d,a) else printf (“%d,b); 錯(cuò)誤錯(cuò)誤2.語(yǔ)句語(yǔ)句1與語(yǔ)句與語(yǔ)句2不能同時(shí)執(zhí)行。不能同時(shí)執(zhí)行。 例例4.2

6、 4.2 將例將例4.14.1程序中的程序中的ifif語(yǔ)句改成語(yǔ)句改成if-elseif-else語(yǔ)句,假設(shè)游戲者猜對(duì)了,就語(yǔ)句,假設(shè)游戲者猜對(duì)了,就顯示顯示* * *RightRight* * *,假設(shè)猜錯(cuò)了,就,假設(shè)猜錯(cuò)了,就顯示顯示“* * *WrongWrong* * *。#include #include main() main() int magic=123; int magic=123; int guess; int guess; printf(Enter your guess:); printf(Enter your guess:); scanf(%d,&guess);

7、 scanf(%d,&guess); if (guess=magic) if (guess=magic) printf( printf(* * *RightRight* * *n);n); else else printf( printf(* * *WrongWrong* * *n);n); if 語(yǔ)句的三種方式語(yǔ)句的三種方式(3)方式三: if (表達(dá)式1) 語(yǔ)句1;else if (表達(dá)式2) 語(yǔ)句2; else if (表達(dá)式3) 語(yǔ)句3;.else if (表達(dá)式n) 語(yǔ)句序列n;else 語(yǔ)句序列n+1; 這種方式可以實(shí)現(xiàn)多分支選擇的功能,既在多種這種方式可以實(shí)現(xiàn)多分支選擇的

8、功能,既在多種條件下的不同分支中選擇一個(gè)分支來(lái)執(zhí)行。條件下的不同分支中選擇一個(gè)分支來(lái)執(zhí)行。 它的執(zhí)行過(guò)程為:假設(shè)表達(dá)式它的執(zhí)行過(guò)程為:假設(shè)表達(dá)式1的值為真非零,的值為真非零,那么執(zhí)行語(yǔ)句那么執(zhí)行語(yǔ)句1;否那么,假設(shè)表達(dá)式;否那么,假設(shè)表達(dá)式2的值為真,那么執(zhí)行的值為真,那么執(zhí)行語(yǔ)句語(yǔ)句2;.假設(shè)上述表達(dá)式的值都為假設(shè)上述表達(dá)式的值都為0時(shí),執(zhí)行語(yǔ)句時(shí),執(zhí)行語(yǔ)句n+1.以下為流程圖:以下為流程圖:例如:表表達(dá)達(dá)式式1成成立立嗎嗎?真真(非非0)語(yǔ)句序列語(yǔ)句序列1語(yǔ)句序列語(yǔ)句序列2真真(非非0)語(yǔ)句序列語(yǔ)句序列3真真(非非0)語(yǔ)句序列語(yǔ)句序列n真真(非非0)表表達(dá)達(dá)式式2成成立立嗎嗎?假假(0)表

9、表達(dá)達(dá)式式3成成立立嗎嗎?假假(0)表表達(dá)達(dá)式式n成成立立嗎嗎?假假(0)語(yǔ)句序語(yǔ)句序列列n+1假假(0)if (x0) y=1;else if (x=0) y=0; else y=-1;例例4.3 4.3 例例4.24.2再擴(kuò)展,即當(dāng)游戲者猜錯(cuò)時(shí),屏再擴(kuò)展,即當(dāng)游戲者猜錯(cuò)時(shí),屏幕除顯示幕除顯示“* * *WrongWrong* * *外,還通知游戲者是外,還通知游戲者是猜大了還是猜小了。猜大了還是猜小了。#include #include main() main() int magic=123; int magic=123; int guess; int guess; printf(Ente

10、r your guess:); printf(Enter your guess:); scanf(%d,&guess); scanf(%d,&guess); if (guess=magic) if (guess=magic) printf( printf(* * *RightRight* * *n);n); else if(guessmagic) else if(guessmagic) printf( printf(* * *WrongWrong* * *nToo highnToo high* * *n)n) else else printf( printf(* * *Wron

11、gWrong* * *nToo lownToo low* * *n);n);闡明闡明:以上三種格式中的表達(dá)式普通為關(guān)系表達(dá)式或邏輯表達(dá)式只需以上三種格式中的表達(dá)式普通為關(guān)系表達(dá)式或邏輯表達(dá)式只需表達(dá)式的結(jié)果不為表達(dá)式的結(jié)果不為0,系統(tǒng)就以為該表達(dá)式成立;相反表達(dá)式,系統(tǒng)就以為該表達(dá)式成立;相反表達(dá)式的結(jié)果為的結(jié)果為0,系統(tǒng)以為該表達(dá)式不成立。,系統(tǒng)以為該表達(dá)式不成立。例如:例如:if(a=b&x=y) printf(“a=b,x=y);系統(tǒng)對(duì)表達(dá)式的值進(jìn)展判別,假設(shè)為真,按非零處置,執(zhí)行指系統(tǒng)對(duì)表達(dá)式的值進(jìn)展判別,假設(shè)為真,按非零處置,執(zhí)行指定的語(yǔ)句;假設(shè)為假,按零處置。定的語(yǔ)句;假設(shè)

12、為假,按零處置。 如:如:if (3) printf(“ok.表達(dá)式的值為表達(dá)式的值為3,按真處置,是合法的,執(zhí)行結(jié)果輸出,按真處置,是合法的,執(zhí)行結(jié)果輸出“ok.由此可見(jiàn)由此可見(jiàn).在在C言語(yǔ)中它也可以是恣意的數(shù)值表達(dá)式。包括整言語(yǔ)中它也可以是恣意的數(shù)值表達(dá)式。包括整型,字符型,實(shí)型,指針型。型,字符型,實(shí)型,指針型。在每個(gè)表達(dá)式之后不應(yīng)有任何標(biāo)點(diǎn)符號(hào),而在每個(gè)在每個(gè)表達(dá)式之后不應(yīng)有任何標(biāo)點(diǎn)符號(hào),而在每個(gè)語(yǔ)句之后都要有語(yǔ)句之后都要有“; 不要誤以為不要誤以為else 語(yǔ)句和語(yǔ)句和if語(yǔ)句是兩個(gè)語(yǔ)句,語(yǔ)句是兩個(gè)語(yǔ)句,else 是是if語(yǔ)句的一部分。只能與語(yǔ)句的一部分。只能與 if 配對(duì)運(yùn)用。僅配

13、對(duì)運(yùn)用。僅 else 本身不能本身不能單獨(dú)作為一個(gè)語(yǔ)句運(yùn)用單獨(dú)作為一個(gè)語(yǔ)句運(yùn)用 每個(gè)語(yǔ)句又都可以由假設(shè)干每個(gè)語(yǔ)句又都可以由假設(shè)干C言語(yǔ)的語(yǔ)句組成,假言語(yǔ)的語(yǔ)句組成,假設(shè)由兩個(gè)以上語(yǔ)句構(gòu)成語(yǔ)句序列,那么運(yùn)用大括號(hào)括設(shè)由兩個(gè)以上語(yǔ)句構(gòu)成語(yǔ)句序列,那么運(yùn)用大括號(hào)括起來(lái)構(gòu)成一個(gè)復(fù)合語(yǔ)句。括號(hào)之外不再加起來(lái)構(gòu)成一個(gè)復(fù)合語(yǔ)句。括號(hào)之外不再加 “;.如:如:if(a+bc&b+ca&c+ab) s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“area=%6.2f,area); else printf(“it is wrong);內(nèi)是一

14、個(gè)完好的復(fù)合語(yǔ)句,不需另附分號(hào)。內(nèi)是一個(gè)完好的復(fù)合語(yǔ)句,不需另附分號(hào)。例:輸入兩個(gè)實(shí)數(shù),按代數(shù)值有小到大次序輸出這兩例:輸入兩個(gè)實(shí)數(shù),按代數(shù)值有小到大次序輸出這兩個(gè)數(shù)。個(gè)數(shù)。main()float a,b,t;scanf(“%f,%f,&a,&b);if(ab)t=a;a=b;b=t;printf(“%5.2f, %5.2f,a,b);運(yùn)轉(zhuǎn)情況如下:運(yùn)轉(zhuǎn)情況如下:3.6,-3.2-3.20,3.604.1.2 if 語(yǔ)句的嵌套語(yǔ)句的嵌套 if語(yǔ)句的三種方式的語(yǔ)句體中可以是恣意的c言語(yǔ)語(yǔ)句,包括if語(yǔ)句。假設(shè)if的語(yǔ)句體又是if語(yǔ)句,稱(chēng)為嵌套的if語(yǔ)句。內(nèi)嵌的if語(yǔ)句既可以嵌套在

15、if子句,也可以在else子句中。例如:求a,b,c三個(gè)數(shù)中最大值if (a=b) if (a=c) max=a; else max=c;else if (b=c) max=b; else max=c;內(nèi)嵌內(nèi)嵌if內(nèi)嵌內(nèi)嵌if二義性:二義性: if (表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式2) 語(yǔ)句序列語(yǔ)句序列2;else 語(yǔ)句序列語(yǔ)句序列3;應(yīng)如何了解?應(yīng)如何了解?有兩種了解方式:有兩種了解方式:if (表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式2) 語(yǔ)句序列語(yǔ)句序列2; else 語(yǔ)句序列語(yǔ)句序列3;if (表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式2) 語(yǔ)句序列語(yǔ)句序列2;else 語(yǔ)句序列語(yǔ)句

16、序列3;言語(yǔ)規(guī)定:言語(yǔ)規(guī)定:else總是與它前面最近的且未曾配對(duì)的總是與它前面最近的且未曾配對(duì)的if配對(duì)。配對(duì)。if (表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式2) 語(yǔ)句序列語(yǔ)句序列2; else 語(yǔ)句序列語(yǔ)句序列3; if (表達(dá)式表達(dá)式1) if (表達(dá)式表達(dá)式2) 語(yǔ)句序列語(yǔ)句序列2;else 語(yǔ)句序列語(yǔ)句序列3;用嵌套用嵌套ifif構(gòu)造替代例構(gòu)造替代例4.34.3中的中的 if-else-ifif-else-if構(gòu)造。構(gòu)造。#include #include main() main() int magic=123; int magic=123; int guess; int guess;

17、 printf(“Enter your guess: printf(“Enter your guess:);); scanf(“%d scanf(“%d,&guess);,&guess); if (guess=magic) if (guess=magic) printf(“ printf(“* * *RightRight* * *nn);); else else printf(“ printf(“* * *WrongWrong* * *);); if (guessmagic) if (guessmagic) printf(“Too high printf(“Too high*

18、* *nn);); else else printf(“Too low printf(“Too low* * *nn); ); 4.1.3. 4.1.3. 條件運(yùn)算符條件運(yùn)算符假設(shè)假設(shè)ifif語(yǔ)句中,在表達(dá)式為真和假時(shí),且都只執(zhí)語(yǔ)句中,在表達(dá)式為真和假時(shí),且都只執(zhí)行一個(gè)賦值語(yǔ)句給同一個(gè)變量賦值時(shí),可以用行一個(gè)賦值語(yǔ)句給同一個(gè)變量賦值時(shí),可以用條件運(yùn)算符來(lái)處置。條件運(yùn)算符來(lái)處置。條件運(yùn)算符條件運(yùn)算符 ? :? :條件表達(dá)式條件表達(dá)式 exp1?exp2:exp3exp1?exp2:exp3 exp1 exp1、exp2exp2和和exp3exp3都是表達(dá)式,其功能是:先都是表達(dá)式,其功能是:先計(jì)

19、算計(jì)算exp1exp1,假設(shè),假設(shè)exp10exp10,那么計(jì)算,那么計(jì)算exp2exp2,將,將exp2exp2的值作為整個(gè)條件表達(dá)式的值;假設(shè)的值作為整個(gè)條件表達(dá)式的值;假設(shè)exp1=0exp1=0,那么計(jì)算,那么計(jì)算exp3exp3,將,將exp3exp3的值作為整個(gè)的值作為整個(gè)條件表達(dá)式的值。條件表達(dá)式的值。 如:如:if(ab) c=a;else c=b;if(ab) c=a;else c=b; 可以改寫(xiě)為:可以改寫(xiě)為:c=(ab)?a:bc=(ab)?a:b表示:假設(shè)表示:假設(shè)abab,取,取a a的值,否那么取的值,否那么取b b的值作為的值作為該條件表達(dá)式的值。該條件表達(dá)式的值

20、。闡明:闡明:1.條件運(yùn)算符要求有三個(gè)操作對(duì)象。條件運(yùn)算符要求有三個(gè)操作對(duì)象。2.條件運(yùn)算符優(yōu)先于賦值運(yùn)算符,因此上面賦值表達(dá)條件運(yùn)算符優(yōu)先于賦值運(yùn)算符,因此上面賦值表達(dá)式的求解過(guò)程是先求解條件表達(dá)式,再將它的值賦給式的求解過(guò)程是先求解條件表達(dá)式,再將它的值賦給c.條件運(yùn)算符的優(yōu)先級(jí)別比關(guān)系運(yùn)算符和算術(shù)運(yùn)算符都條件運(yùn)算符的優(yōu)先級(jí)別比關(guān)系運(yùn)算符和算術(shù)運(yùn)算符都低低 max=(ab)?a:b 括號(hào)可以不要:括號(hào)可以不要: max=ab?a:b假設(shè)有:假設(shè)有:ab?a:b+1相當(dāng)于:相當(dāng)于:ab?a:(b+1)3.條件運(yùn)算符的結(jié)合方向?yàn)闂l件運(yùn)算符的結(jié)合方向?yàn)椤白杂蚁蜃螅僭O(shè)有:自右向左,假設(shè)有: ab

21、?a:cd?c:d相當(dāng)相當(dāng) 于:于: ab?a:(cd?c:d)假設(shè):假設(shè):a=1,b=2,c=3,d=4 那么條件表達(dá)式值為那么條件表達(dá)式值為4。4.條件表達(dá)式不能取代普通的條件表達(dá)式不能取代普通的if語(yǔ)句,只需語(yǔ)句,只需if語(yǔ)句中內(nèi)語(yǔ)句中內(nèi)嵌的的語(yǔ)句為賦值語(yǔ)句且兩個(gè)分支都給同一個(gè)變量嵌的的語(yǔ)句為賦值語(yǔ)句且兩個(gè)分支都給同一個(gè)變量賦值時(shí)才干替代賦值時(shí)才干替代if語(yǔ)句。語(yǔ)句。如:如: if(ab) printf(“%d,a); else printf(“%d,a);無(wú)法用條件表達(dá)式替代無(wú)法用條件表達(dá)式替代但可以用下面語(yǔ)句替代:但可以用下面語(yǔ)句替代: printf(“%d,ab?a:b); /將條

22、件表達(dá)式的值輸出將條件表達(dá)式的值輸出/5.條件表達(dá)式中,表達(dá)式條件表達(dá)式中,表達(dá)式1的類(lèi)型可以與表達(dá)式的類(lèi)型可以與表達(dá)式2和表達(dá)式和表達(dá)式3不同。如:不同。如: x? a : bx是整形變量是整形變量,假設(shè)假設(shè)x=0,那么條件表達(dá)式的值為,那么條件表達(dá)式的值為b表達(dá)式表達(dá)式2和表達(dá)式和表達(dá)式3的類(lèi)型也可以不同。此時(shí)條件的類(lèi)型也可以不同。此時(shí)條件表達(dá)式的值的類(lèi)型為二者中較高的類(lèi)型。如:表達(dá)式的值的類(lèi)型為二者中較高的類(lèi)型。如: xy?1:1.5假設(shè)假設(shè)xy,那么表達(dá)式的值為那么表達(dá)式的值為1.5。假設(shè)。假設(shè)xy,值應(yīng)為值應(yīng)為1,由于由于1.5是實(shí)型比整型高,因此應(yīng)轉(zhuǎn)換為是實(shí)型比整型高,因此應(yīng)轉(zhuǎn)換為

23、1.0用條件表達(dá)式替代例用條件表達(dá)式替代例4.34.3中的中的if-elseif-else。#include #include main()main() int magic=123; int magic=123; int guess; int guess; printf(“ Enter your guess: printf(“ Enter your guess: );); scanf(“ %d scanf(“ %d ,&guess);,&guess); if (guess=magic) if (guess=magic) printf(“ printf(“ * * *RightR

24、ight* * *n n );); else else printf(“ printf(“ * * *WrongWrong* * * );); guessmagic?printf(“ Too guessmagic?printf(“ Too highn highn ) :printf(“Too lown) :printf(“Too lown);); 4.1.4 switch /break4.1.4 switch /break語(yǔ)句語(yǔ)句多分支多分支switch 構(gòu)造構(gòu)造switch (表達(dá)式表達(dá)式 case 常量表達(dá)式常量表達(dá)式1:語(yǔ):語(yǔ)句句1 case 常量表達(dá)式常量表達(dá)式2:語(yǔ):語(yǔ)句句2 cas

25、e 常量表達(dá)式常量表達(dá)式n:語(yǔ):語(yǔ)句句n default : 語(yǔ)句語(yǔ)句n+1語(yǔ)句n+1表達(dá)式語(yǔ)句1語(yǔ)句2語(yǔ)句n常量表達(dá)式常量表達(dá)式2常量表達(dá)式常量表達(dá)式1常量表達(dá)式常量表達(dá)式n其它其它 if-else-if構(gòu)造或嵌套的構(gòu)造或嵌套的if語(yǔ)句可以處理多分支的選擇問(wèn)題,語(yǔ)句可以處理多分支的選擇問(wèn)題,但假設(shè)判別條件太多,關(guān)系就不夠明晰,但假設(shè)判別條件太多,關(guān)系就不夠明晰,switch可處理??商幚?。闡明闡明:1.switch后面括弧內(nèi)的后面括弧內(nèi)的“表達(dá)式和表達(dá)式和case常量表達(dá)式,可常量表達(dá)式,可以是任何類(lèi)型。以是任何類(lèi)型。2.當(dāng)表達(dá)式的值與某一個(gè)當(dāng)表達(dá)式的值與某一個(gè)case后面的常量表達(dá)式的值相

26、后面的常量表達(dá)式的值相等時(shí),就執(zhí)行此等時(shí),就執(zhí)行此case后面的語(yǔ)句,假設(shè)一切的后面的語(yǔ)句,假設(shè)一切的case中的常中的常量表達(dá)式的值都沒(méi)有與表達(dá)式的值匹配的,就執(zhí)行量表達(dá)式的值都沒(méi)有與表達(dá)式的值匹配的,就執(zhí)行default后面的語(yǔ)句。后面的語(yǔ)句。3.每一個(gè)每一個(gè)case的常量表達(dá)式的值必需不相等,否那么就會(huì)的常量表達(dá)式的值必需不相等,否那么就會(huì)出現(xiàn)矛盾的景象對(duì)表達(dá)式的同一個(gè)值,有多種執(zhí)行出現(xiàn)矛盾的景象對(duì)表達(dá)式的同一個(gè)值,有多種執(zhí)行方案方案【例】【例】 從鍵盤(pán)輸入不同的字母,顯示不同的國(guó)家稱(chēng)號(hào)。從鍵盤(pán)輸入不同的字母,顯示不同的國(guó)家稱(chēng)號(hào)。 #include #include main() mai

27、n() char ch; char ch; ch=getchar(); ch=getchar(); switch(ch) switch(ch) case a: printf(“American case a: printf(“American);); case b: printf(“Britainn case b: printf(“Britainn);); case c: printf(“Chinan case c: printf(“Chinan);); case d: printf(“Denmarkn case d: printf(“Denmarkn);); default: printf(

28、“Japann default: printf(“Japann); ); 4.執(zhí)行完一個(gè)執(zhí)行完一個(gè)case后面的語(yǔ)句后,流程控制轉(zhuǎn)移到下一個(gè)后面的語(yǔ)句后,流程控制轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行。繼續(xù)執(zhí)行。 “case常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)的作常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)的作用,并不在該處進(jìn)展條件判別。用,并不在該處進(jìn)展條件判別。留意,留意,casecase及及defaultdefault的位置直接影響到程序的位置直接影響到程序的運(yùn)轉(zhuǎn)結(jié)果。的運(yùn)轉(zhuǎn)結(jié)果。#include #include main() main() char ch; char ch; ch=getchar(); ch=getchar(

29、); switch(ch) switch(ch) default: printf(“Japann default: printf(“Japann);); case a: printf(“American case a: printf(“American);); case b: printf(“Britainn case b: printf(“Britainn);); case c: printf(“Chinan case c: printf(“Chinan);); case d: printf(“Denmarkn case d: printf(“Denmarkn);); 程序運(yùn)轉(zhuǎn)時(shí),程序運(yùn)轉(zhuǎn)時(shí)

30、,從鍵盤(pán)輸入字母從鍵盤(pán)輸入字母“a a,顯示,顯示: : America America Britai Britai China China Denmark Denmark Japan Japan假設(shè)輸入字母假設(shè)輸入字母“b b,顯示,顯示:“Japan:“Japan。 BritainBritain China China Denmark Denmark Japan Japan假設(shè)輸入假設(shè)輸入a a、b b、c c、d d以外的字母以外的字母, ,顯示顯示: : Japan Japan5.case后面雖然包括一個(gè)以上語(yǔ)句,但可以不用用花后面雖然包括一個(gè)以上語(yǔ)句,但可以不用用花括弧括起來(lái),會(huì)自動(dòng)

31、順序執(zhí)行本括弧括起來(lái),會(huì)自動(dòng)順序執(zhí)行本case后一切的語(yǔ)句。后一切的語(yǔ)句。7.多個(gè)多個(gè)case可以共用一組執(zhí)行語(yǔ)句。如:可以共用一組執(zhí)行語(yǔ)句。如: . . . case A: case B: case C: printf(“60n);break; . . .值為值為A,B,或,或C時(shí)都執(zhí)行同一組語(yǔ)句。時(shí)都執(zhí)行同一組語(yǔ)句。2. break2. break語(yǔ)句語(yǔ)句breakbreak與與switchswitch聯(lián)用,強(qiáng)迫控制立刻退出聯(lián)用,強(qiáng)迫控制立刻退出switchswitch防止從一個(gè)防止從一個(gè)casecase下落到另一個(gè)下落到另一個(gè)casecase中中防止因防止因casecase和和defau

32、ltdefault位置的改動(dòng)而影響程位置的改動(dòng)而影響程序的運(yùn)轉(zhuǎn)結(jié)果序的運(yùn)轉(zhuǎn)結(jié)果【例】【例】 在例在例4.64.6程序中參與程序中參與breakbreak。#include #include main()main() char ch; char ch; ch=getchar(); ch=getchar(); switch(ch) switch(ch) case a: case a: printf(“American printf(“American);break;);break; case b: case b: printf(“Britainn printf(“Britainn);break;)

33、;break; case c: case c: printf(“Chinan printf(“Chinan);break;);break; case d: case d: printf(“Denmarkn printf(“Denmarkn);break;);break; default: printf(“Japann default: printf(“Japann);break;);break;switchswitch和和breakbreak語(yǔ)句的運(yùn)用語(yǔ)句的運(yùn)用 假設(shè)每個(gè)假設(shè)每個(gè)casecase和和defaultdefault中都有中都有breakbreak語(yǔ)句,語(yǔ)句,那么,那么,caseca

34、se和和defaultdefault出現(xiàn)的次序出現(xiàn)的次序 不會(huì)影響不會(huì)影響程序的運(yùn)轉(zhuǎn)結(jié)果。程序的運(yùn)轉(zhuǎn)結(jié)果。4.2 循環(huán)構(gòu)造語(yǔ)句循環(huán)構(gòu)造語(yǔ)句循環(huán)是對(duì)同一程序反復(fù)執(zhí)行假設(shè)干次循環(huán)是對(duì)同一程序反復(fù)執(zhí)行假設(shè)干次,被反復(fù)執(zhí)行的部分被反復(fù)執(zhí)行的部分稱(chēng)為循環(huán)體稱(chēng)為循環(huán)體.每循環(huán)一次需求進(jìn)展判別一決議是繼續(xù)循每循環(huán)一次需求進(jìn)展判別一決議是繼續(xù)循環(huán)還是中止循環(huán)環(huán)還是中止循環(huán).決議循環(huán)繼續(xù)還是中止的判別條件是決議循環(huán)繼續(xù)還是中止的判別條件是循環(huán)中止條件循環(huán)中止條件,循環(huán)體和循環(huán)中止條件組成循環(huán)語(yǔ)句循環(huán)體和循環(huán)中止條件組成循環(huán)語(yǔ)句.在言語(yǔ)中,可用以下語(yǔ)句實(shí)現(xiàn)循環(huán):在言語(yǔ)中,可用以下語(yǔ)句實(shí)現(xiàn)循環(huán):1用用for語(yǔ)句。語(yǔ)

35、句。2用用do-while語(yǔ)句。語(yǔ)句。3用用while語(yǔ)句。語(yǔ)句。4用用goto語(yǔ)句和語(yǔ)句和if語(yǔ)句構(gòu)成循環(huán)。語(yǔ)句構(gòu)成循環(huán)。4.2.1 運(yùn)用運(yùn)用if/goto構(gòu)成循環(huán)構(gòu)成循環(huán)goto為無(wú)條件轉(zhuǎn)向條件,他的普通方式:為無(wú)條件轉(zhuǎn)向條件,他的普通方式: goto 語(yǔ)句標(biāo)號(hào)語(yǔ)句標(biāo)號(hào)語(yǔ)句功能:執(zhí)行完本句后,無(wú)條件跳轉(zhuǎn)到語(yǔ)句標(biāo)號(hào)所語(yǔ)句功能:執(zhí)行完本句后,無(wú)條件跳轉(zhuǎn)到語(yǔ)句標(biāo)號(hào)所標(biāo)示的語(yǔ)句去執(zhí)行。標(biāo)示的語(yǔ)句去執(zhí)行。語(yǔ)句標(biāo)號(hào)也是標(biāo)識(shí)符。語(yǔ)句標(biāo)號(hào)和語(yǔ)句之間以語(yǔ)句標(biāo)號(hào)也是標(biāo)識(shí)符。語(yǔ)句標(biāo)號(hào)和語(yǔ)句之間以“:分隔。分隔。goto語(yǔ)句主要用途:語(yǔ)句主要用途:1.與與if語(yǔ)句一同構(gòu)成循環(huán)語(yǔ)句。語(yǔ)句一同構(gòu)成循環(huán)語(yǔ)句。2.從循環(huán)

36、體內(nèi)跳轉(zhuǎn)到循環(huán)體外。從循環(huán)體內(nèi)跳轉(zhuǎn)到循環(huán)體外。求1100的累計(jì)和。根據(jù)已有的知識(shí),可以用“1+2+100來(lái)求解,但顯然很繁瑣。如今換個(gè)思緒來(lái)思索:首先設(shè)置一個(gè)累計(jì)器sum,其初值為0,利用sum += n來(lái)計(jì)算n依次取1、2、100,只需處理以下3個(gè)問(wèn)題即可: 1將n的初值置為1; 2每執(zhí)行1次“sum += n后,n增1; 3當(dāng)n增到101時(shí),停頓計(jì)算。此時(shí),sum的值就是1100的累計(jì)和。main() int n=1, sum=0; loop: sum += n; n+; if (n=100) goto loop; printf(“sum=%dn, sum);其中“l(fā)oop:為語(yǔ)句標(biāo)號(hào)格式

37、:標(biāo)號(hào): 語(yǔ)句行,其命名遵照標(biāo)識(shí)符命名規(guī)那么。goto語(yǔ)句格式:goto 標(biāo)號(hào),功能為:使系統(tǒng)轉(zhuǎn)向標(biāo)號(hào)所在的語(yǔ)句行執(zhí)行。4.2.2 while循環(huán)循環(huán)也稱(chēng)為也稱(chēng)為“當(dāng)型循環(huán),普通方式為:當(dāng)型循環(huán),普通方式為: while(循環(huán)繼續(xù)條件循環(huán)繼續(xù)條件) 循環(huán)體語(yǔ)句組;循環(huán)體語(yǔ)句組;執(zhí)行過(guò)程:執(zhí)行過(guò)程: 1求解求解“循環(huán)繼續(xù)條件表達(dá)式。假設(shè)其值為循環(huán)繼續(xù)條件表達(dá)式。假設(shè)其值為非非0,轉(zhuǎn),轉(zhuǎn)2;否那么轉(zhuǎn);否那么轉(zhuǎn)3。2執(zhí)行循環(huán)體語(yǔ)句組,然后轉(zhuǎn)執(zhí)行循環(huán)體語(yǔ)句組,然后轉(zhuǎn)1。3推出推出while循環(huán)。循環(huán)。特點(diǎn):特點(diǎn): 先判別表達(dá)式,后執(zhí)行語(yǔ)句。先判別表達(dá)式,后執(zhí)行語(yǔ)句。表達(dá)式表達(dá)式語(yǔ)句語(yǔ)句非非00案例5.

38、3 用while語(yǔ)句求1100的累計(jì)和。main() int i=1,sum=0; /*初始化循環(huán)控制變量i和累計(jì)器sum*/ while( i=100 ) sum += i;/*實(shí)現(xiàn)累加*/ i+;/*循環(huán)控制變量i增1*/ printf(“sum=%dn,sum); 程序運(yùn)轉(zhuǎn)情況如下: sum=5050假設(shè)循環(huán)體改為:while( i=100 ) i+; sum += i; 那么結(jié)果為:sum=5150少加了第一項(xiàng)的值1,多加了最后一項(xiàng)101表達(dá)式表達(dá)式i=1sum=sum+ii=i+1真真假假循環(huán)體循環(huán)體假設(shè)包假設(shè)包含一個(gè)含一個(gè)以上語(yǔ)以上語(yǔ)句,運(yùn)句,運(yùn)用花括用花括號(hào)括起號(hào)括起來(lái)來(lái)4.2.

39、3 do-while循環(huán)循環(huán)1普通格式普通格式 do 循環(huán)體語(yǔ)句組循環(huán)體語(yǔ)句組; while(循環(huán)繼續(xù)條件循環(huán)繼續(xù)條件); /*本行的分號(hào)不能缺省本行的分號(hào)不能缺省*/當(dāng)循環(huán)體語(yǔ)句組僅由一條語(yǔ)句構(gòu)成時(shí),可以不運(yùn)用復(fù)當(dāng)循環(huán)體語(yǔ)句組僅由一條語(yǔ)句構(gòu)成時(shí),可以不運(yùn)用復(fù)合語(yǔ)句合語(yǔ)句方式。方式。2執(zhí)行過(guò)程執(zhí)行過(guò)程執(zhí)行過(guò)程如圖執(zhí)行過(guò)程如圖5-3所示。所示。1執(zhí)行循環(huán)體語(yǔ)句組。執(zhí)行循環(huán)體語(yǔ)句組。2計(jì)算計(jì)算“循環(huán)繼續(xù)條件表達(dá)式。假設(shè)循環(huán)繼續(xù)條件表達(dá)式。假設(shè)“循環(huán)繼續(xù)循環(huán)繼續(xù)條件表達(dá)條件表達(dá)式的值為非式的值為非 0真,那么轉(zhuǎn)向真,那么轉(zhuǎn)向1繼續(xù)執(zhí)行;否那繼續(xù)執(zhí)行;否那么,轉(zhuǎn)向么,轉(zhuǎn)向3。3退出循環(huán)。退出循環(huán)。do

40、-while循環(huán)語(yǔ)句的特點(diǎn)是:先執(zhí)行循環(huán)體語(yǔ)句組,然循環(huán)語(yǔ)句的特點(diǎn)是:先執(zhí)行循環(huán)體語(yǔ)句組,然后再判別后再判別循環(huán)條件。循環(huán)條件。do-while循環(huán)和while循環(huán)非常類(lèi)似,他們的重要區(qū)別是:While循環(huán)的控制出如今循環(huán)體之前,只需while后面的表達(dá)式的值為非零時(shí),才能夠執(zhí)行循環(huán)體;在do-while循環(huán)中,總是先執(zhí)行一次循環(huán)體后再求表達(dá)式的值,因此,無(wú)論表達(dá)式的值為0或非0,循環(huán)體都至少要執(zhí)行一次。案例 用do-while語(yǔ)句求解1100的累計(jì)和。main() int i=1, sum=0; /*定義并初始化循環(huán)控制變量,以及累計(jì)器*/ do sum += i; /*累加*/ i+; w

41、hile(i=100);/*循環(huán)繼續(xù)條件:i=100*/ printf(“sum=%dn,sum); 闡明: while 表達(dá)式后的分號(hào)不能丟,他表示do-while 語(yǔ)句的終了。4.2.4 for循環(huán)循環(huán)1for語(yǔ)句的普通格式語(yǔ)句的普通格式 for(變量賦初值變量賦初值;循環(huán)繼續(xù)條件循環(huán)繼續(xù)條件;循環(huán)變量增值循環(huán)變量增值) 循環(huán)體語(yǔ)句組;循環(huán)體語(yǔ)句組;2for語(yǔ)句的執(zhí)行過(guò)程語(yǔ)句的執(zhí)行過(guò)程執(zhí)行過(guò)程如圖執(zhí)行過(guò)程如圖5-1所示。所示。1求解求解“變量賦初值表達(dá)式。變量賦初值表達(dá)式。2求解求解“循環(huán)繼續(xù)條件表達(dá)式。假設(shè)其值非循環(huán)繼續(xù)條件表達(dá)式。假設(shè)其值非0,執(zhí)行,執(zhí)行3;否那么,轉(zhuǎn)至否那么,轉(zhuǎn)至4。

42、3執(zhí)行循環(huán)體語(yǔ)句組,并求解執(zhí)行循環(huán)體語(yǔ)句組,并求解“循環(huán)變量增值表達(dá)式,循環(huán)變量增值表達(dá)式,然后轉(zhuǎn)向然后轉(zhuǎn)向2。4退出循環(huán)。退出循環(huán)。3闡明闡明1“變量賦初值、變量賦初值、“循環(huán)繼續(xù)條件和循環(huán)繼續(xù)條件和“循環(huán)變量增值部分均可缺省,循環(huán)變量增值部分均可缺省,1 “變量賦初值可省略,此時(shí)應(yīng)在變量賦初值可省略,此時(shí)應(yīng)在for語(yǔ)句語(yǔ)句前給循環(huán)控制變量賦初值。例:前給循環(huán)控制變量賦初值。例: k=1; for(;k=100;k+) sum+=k;2) “循環(huán)繼續(xù)條件可省略,此時(shí)系統(tǒng)以為其一循環(huán)繼續(xù)條件可省略,此時(shí)系統(tǒng)以為其一直為真,循環(huán)將無(wú)限循環(huán)下去,除非循環(huán)體內(nèi)直為真,循環(huán)將無(wú)限循環(huán)下去,除非循環(huán)體內(nèi)

43、有有break語(yǔ)句。語(yǔ)句。3 “循環(huán)變量增值可以省略,此時(shí)應(yīng)在循環(huán)循環(huán)變量增值可以省略,此時(shí)應(yīng)在循環(huán)體內(nèi)修正體內(nèi)修正循環(huán)變量,使循環(huán)能正常終了。例:循環(huán)變量,使循環(huán)能正常終了。例: for(k=1;k=100;) sum+=k; k+甚至全部缺省,但其間的分號(hào)不能省略。甚至全部缺省,但其間的分號(hào)不能省略。三個(gè)都省略時(shí),由于短少條件判別,循環(huán)將會(huì)三個(gè)都省略時(shí),由于短少條件判別,循環(huán)將會(huì)無(wú)限執(zhí)行。無(wú)限執(zhí)行。2當(dāng)循環(huán)體語(yǔ)句組僅由一條語(yǔ)句構(gòu)成時(shí),可以不運(yùn)用復(fù)合語(yǔ)句方式。3“循環(huán)變量賦初值表達(dá)式,既可以是給循環(huán)變量賦初值的賦值表達(dá)式,也可以是與此無(wú)關(guān)的其它表達(dá)式如逗號(hào)表達(dá)式。例如,for(sum=0;i

44、=100;i+) sum += i; for(sum=0,i=1;i=100;i+) sum += i;4“循環(huán)繼續(xù)條件部分是一個(gè)邏輯量,除普通的關(guān)系或邏輯表達(dá)式外,也允許是數(shù)值或字符表達(dá)式。案例 求1100的累計(jì)和。main() int i,sum=0; /*將累加器sum初始化為0*/ for(i=1; i=100; i+) sum += i;/*實(shí)現(xiàn)累加*/ printf(sum=%dn,sum); 案例 求n的階乘n!n!=1*2*n。main() int i, n; long fact=1; /*將累乘器fact初始化為1*/ printf(“Input n: ); scanf(“%

45、d, &n); for(i=1; i=n; i+) fact *= i;/*實(shí)現(xiàn)累乘*/ printf(%d ! = %ldn, n, fact); 程序運(yùn)轉(zhuǎn)情況如下:Input n: 5 5 ! = 1204.2.5 幾種循環(huán)的比較幾種循環(huán)的比較1.四種循環(huán)普通情況下可相互替代,但不提倡用四種循環(huán)普通情況下可相互替代,但不提倡用goto構(gòu)成的構(gòu)成的循環(huán)。循環(huán)。2.while和和do-while循環(huán)只需在條件第一次就不滿(mǎn)足時(shí)才有區(qū)循環(huán)只需在條件第一次就不滿(mǎn)足時(shí)才有區(qū)別,別,for循環(huán)功能強(qiáng),能用循環(huán)功能強(qiáng),能用while循環(huán)完成得也能用循環(huán)完成得也能用for完成。完成。3.用用whil

46、e和和do-while循環(huán)時(shí)循環(huán)時(shí),循環(huán)變量初始化應(yīng)該在循環(huán)變量初始化應(yīng)該在while和和do-while語(yǔ)句之前完成語(yǔ)句之前完成,而而for語(yǔ)句循環(huán)變量的初始化可以放語(yǔ)句循環(huán)變量的初始化可以放在在(語(yǔ)句語(yǔ)句1)中中4. While,do-while循環(huán)和循環(huán)和for循環(huán)都可以用循環(huán)都可以用break跳出循環(huán),跳出循環(huán),用用continue終了本次循環(huán),但對(duì)終了本次循環(huán),但對(duì)goto和和if構(gòu)成的循環(huán)那么失效。構(gòu)成的循環(huán)那么失效。一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完好的循環(huán)構(gòu)造,稱(chēng)為循環(huán)嵌套。內(nèi)層的循環(huán)中還可以嵌套循環(huán),構(gòu)成多重循環(huán)。三種循環(huán)可以相互嵌套。while ( ) while ( ) whil

47、e ( ) for ( ; ; ) for ( ; ; ) for ( ; ; ) for ( ; ; ) do while( ); do do while ( ); while ( );while ( ) do while( ); 1. 1. 一個(gè)二重循環(huán)的例子一個(gè)二重循環(huán)的例子【例【例4.124.12】 打印六以?xún)?nèi)的乘法表。打印六以?xún)?nèi)的乘法表。 main()main() int i,j; int i,j; for (i=1;i=6;i+) for (i=1;i=6;i+) for (j=1;j=6;j+) for (j=1;j=6;j+) printf(“%d printf(“%d* *%

48、d=%2d%d=%2d,i,j,i,i,j,i* *j);j); printf(“n printf(“n);); 程序運(yùn)轉(zhuǎn)結(jié)果是:程序運(yùn)轉(zhuǎn)結(jié)果是:1 1* *1= 1 11= 1 1* *2= 2 12= 2 1* *3= 3 13= 3 1* *4= 4 14= 4 1* *5= 5 15= 5 1* *6= 6 6= 6 2 2* *1= 2 21= 2 2* *2= 4 22= 4 2* *3= 6 23= 6 2* *4= 8 24= 8 2* *5=10 25=10 2* *6=12 6=12 . . . . . .6 6* *1= 6 61= 6 6* *2=12 62=12 6* *3=18 63=18 6* *4=246 64=246 6* *5=30 65=30 6* *6=36 6=36 假設(shè)將程序中的內(nèi)外層循環(huán)終止條件改成假設(shè)將程序中的內(nèi)外層循環(huán)終止條件改成9 9,就可以打印,就可以打印九九乘法表。九九乘法表。2. 2. 嵌套循環(huán)的運(yùn)用嵌套循環(huán)的運(yùn)用1) 1) 內(nèi)層循環(huán)必需完全包含在外層循環(huán)內(nèi)層循環(huán)必需完全包含在外層循環(huán)中,二者不能運(yùn)用一樣的循環(huán)變量,不中,二者不能運(yùn)用一樣的循環(huán)變量,不能出現(xiàn)交叉。能出現(xiàn)交叉。2) 2) 循環(huán)嵌套的層數(shù)沒(méi)有限制,但層數(shù)循環(huán)嵌套的層數(shù)沒(méi)有限制,但層數(shù)太多,可

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論