版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章循環(huán)跳出和循環(huán)嵌套12回顧while循環(huán)do-while循環(huán)while和do-while循環(huán)的區(qū)別For循環(huán)3目標(biāo)理解break和continue熟練使用嵌套循環(huán)4break語(yǔ)句(一)break語(yǔ)句兩種用途:1.終止switch語(yǔ)句中的case語(yǔ)句,保證多路分支情況的正確執(zhí)行2.強(qiáng)迫程序退出一個(gè)循環(huán),跳過(guò)正常的循環(huán)條件測(cè)試5break語(yǔ)句(二)break語(yǔ)句通常在循環(huán)中與條件語(yǔ)句一起使用。若條件值為真,將跳出循環(huán),控制流轉(zhuǎn)向循環(huán)后面的語(yǔ)句在多層循環(huán)中,一個(gè)break語(yǔ)句只向外跳一層6跳出
for循環(huán)inti;for(i=0;i<100;i++;){if(i==10)//當(dāng)i等于10時(shí)退出整個(gè)循環(huán)
break;printf("
%4d",i);}printf("
\n",i);}break示例7跳出
while循環(huán)while(1){if(x==10)
break;}跳出
for循環(huán)for(;;){printf("這將一直進(jìn)行下去");i=getchar();if(i=='X'||i=='x')
break;}break語(yǔ)句(三)跳出
do-while循環(huán)do{if(x==10)
break;}while(x<15);8continue語(yǔ)句(一)continue
語(yǔ)句的作用是跳過(guò)循環(huán)體中剩余的語(yǔ)句而執(zhí)行下一次循環(huán)9跳出
for循環(huán)inti;for(i=0;i<100;i++;){if(i==10)//當(dāng)i等于10時(shí)退出本次循環(huán)
continue;printf("%4d",i);}printf("\n",i);}
Continue示例10break與continue的區(qū)別while(…){
…………
break;
…………}跳出整個(gè)循環(huán)while(…){
…………continue;
…………}繼續(xù)下一次循環(huán)11循環(huán)嵌套在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)時(shí),稱為循環(huán)語(yǔ)句的嵌套。只有在內(nèi)循環(huán)完全結(jié)束后,外循環(huán)才會(huì)進(jìn)行下一趟。嵌套循環(huán)的語(yǔ)法while(i<=10){...while(i<=j){......}...}外循環(huán)內(nèi)循環(huán)12循環(huán)嵌套示例(一)
在屏幕打印由星號(hào)構(gòu)成的5行10列的矩形圖形13
在屏幕打印由星號(hào)構(gòu)成的5行10列的矩形圖形#include<stdio.h>voidmain(){inti,j;for(i=0;i<5;i++) //打印5行
{ for(j=0;j<10;j++) //每行打印10個(gè)星號(hào)
{ printf("*"); } printf("\n");//打印完一行星號(hào)后輸出一個(gè)換行符
}}循環(huán)嵌套示
例(一)14循環(huán)嵌套示例(二)
打印九九乘法表。15#include<stdio.h>voidmain(){ printf("\t\t\t\t九九乘法表\n"); printf("\t\t\t------------------------\n"); for(inti=1;i<=9;i++)//輸出行
{ for(intj=1;j<=9;j++)//輸出每行的列數(shù)
{ printf("%d*%d=%2d\t",i,j,i*j); } printf("\n"); }}16注意內(nèi)循環(huán)控制變量,不能與外循環(huán)控制變量同名外循環(huán)必須完全包含內(nèi)循環(huán),不能有交叉循環(huán)for循環(huán)既可以嵌套for循環(huán),也可以嵌套while或者do-while循環(huán),實(shí)際應(yīng)用中三種循環(huán)可以互相嵌套。在多層循環(huán)中,一個(gè)break語(yǔ)句只向外跳一層。17程序舉例(一)百錢(qián)買(mǎi)百雞問(wèn)題。假設(shè)小雞每只5角,公雞每只2元,母雞每只3元?,F(xiàn)在有100元錢(qián)要求買(mǎi)100只雞,請(qǐng)編程列出所有可能的購(gòu)雞方案。設(shè)母雞、公雞和小雞各為x、y、z只,根據(jù)題目要求,可以列出方程為方程有3個(gè)未知量,故有無(wú)窮多解。,在計(jì)算機(jī)中可以使用“窮舉法”(也稱枚舉法)來(lái)求解。即,將可能出現(xiàn)的各種情況一一測(cè)試,判斷是否滿足條件。18程序舉例(二)#include<stdio.h>voidmain(){
printf("\t\t購(gòu)買(mǎi)方案\n");
printf("\t------------------------\n");
printf("\t母雞\t公雞\t小雞\n");
int
x,y,z,sum=0;for(x=1;x<=100;x++){for(y=1;y<=100;y++){ for(z=1;z<=100;z++){if(((x+y+z)==100)&&((3*x+2*y+0.5*z)==100))
printf("\t%d\t%d\t%d\n",x,y,z);sum++;}}}
printf("\n方法一,程序總共運(yùn)行了:%d\n",sum);}
程序舉例(二)在多重循環(huán)中為了提高運(yùn)行速度,對(duì)程序要考慮優(yōu)化問(wèn)題。對(duì)于多重循環(huán),可以提高速度的優(yōu)化選項(xiàng)中需要考慮的因素如下:盡量利用已給出的條件,減少循環(huán)的次數(shù)。合理的選擇內(nèi)、外層的循環(huán)次數(shù),即將循環(huán)次數(shù)多的放在內(nèi)循環(huán)中。根據(jù)三種雞的只數(shù)為100的關(guān)系,用二重循環(huán)實(shí)現(xiàn);同時(shí)每種雞循環(huán)次數(shù)不必到100,因?yàn)檫€要滿足總價(jià)格為100元的關(guān)系。因此,假如100元買(mǎi)母雞最多能買(mǎi)100/3=33只,而如果用100元全部買(mǎi)公雞,則最多可買(mǎi)50只。1920程序舉例(三)#include<stdio.h>voidmain(){
printf("\t\t購(gòu)買(mǎi)方案\n");
printf("\t------------------------\n");
printf("\t母雞\t公雞\t小雞\n");
int
x,y,z,sum=0;for(x=1;x<=33;x++){for(y=1;y<=55;y++){z=100-x-y;
if((3*x+2*y+0.5*z)==100)printf("\t%d\t%d\t%d\n",x,y,z);
sum++;}}
printf(“\n方法一,程序總共運(yùn)行了d\n",sum);}
21程序舉例(四)
從鍵盤(pán)輸入一串字符,以ctrl+z(^z)表示輸入結(jié)束。統(tǒng)計(jì)其中包含的單詞個(gè)數(shù)、字母?jìng)€(gè)數(shù)、數(shù)字個(gè)數(shù)。規(guī)定單詞之間用一個(gè)空白符分開(kāi)(這里的空白符包括空格符、水平制表符和換行符)。該題的關(guān)鍵是統(tǒng)計(jì)單詞的個(gè)數(shù),由于規(guī)定單詞之間用一個(gè)空白符分開(kāi),則問(wèn)題就變得很簡(jiǎn)單,只要統(tǒng)計(jì)空白符的個(gè)數(shù)就可以知道單詞的個(gè)數(shù)。22#include<stdio.h>voidmain(){charc;intalpha=0,num=0,ch=0,word=0;while((c=getchar())!=EOF)//EOF代表文本結(jié)束,鍵盤(pán)上對(duì)應(yīng)Ctrl+Z{if(c==''||c=='\t'||c=='\n')//當(dāng)字符是空白符時(shí)將word計(jì)數(shù)變量自增
word++;if(c>='a'&&c<='z'||c>='A'&&c<='Z')//當(dāng)字符是字母時(shí)將alpha計(jì)數(shù)變量自增
alpha++;elseif(c>='0'&&c<='9')//當(dāng)字符是數(shù)值時(shí)將num計(jì)數(shù)變量自增
num++;else//其他情況將ch計(jì)數(shù)變量自增
ch++;}
printf("字母數(shù)=%d\n",alpha);
prin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)大一(生物技術(shù))邏輯思維能力測(cè)試卷
- 2025年大學(xué)大一(生物技術(shù))細(xì)胞基礎(chǔ)認(rèn)知階段測(cè)試卷
- 初三生物(專項(xiàng)訓(xùn)練)2025-2026年下學(xué)期期中測(cè)試卷
- 深度解析(2026)《GBT 18310.9-2003纖維光學(xué)互連器件和無(wú)源器件 基本試驗(yàn)和測(cè)量程序 第2-9部分試驗(yàn) 沖擊 》
- 深度解析(2026)《GBT 18114.4-2010稀土精礦化學(xué)分析方法 第4部分:氧化鈮、氧化鋯、氧化鈦量的測(cè)定 電感耦合等離子體發(fā)射光譜法》
- 深度解析(2026)《GBT 17980.96-2004農(nóng)藥 田間藥效試驗(yàn)準(zhǔn)則(二) 第96部分殺菌劑防治香蕉貯藏病害》
- 茂名職業(yè)技術(shù)學(xué)院《綠色建筑與節(jié)能技術(shù)》2025-2026學(xué)年第一學(xué)期期末試卷
- 龍的傳人課件
- 龍炎飛的課件
- 醫(yī)患關(guān)系的價(jià)值反思
- 智慧樹(shù)創(chuàng)意學(xué)經(jīng)濟(jì)測(cè)試題答案
- 《我的心兒怦怦跳》優(yōu)秀課件
- 包裝印刷包裝設(shè)計(jì)及及規(guī)范
- 金壇區(qū)蘇教版六年級(jí)上冊(cè)數(shù)學(xué)第6單元《百分?jǐn)?shù)》教材分析(定稿)
- 畢業(yè)論文-基于單片機(jī)的太陽(yáng)能充電寶設(shè)計(jì)
- 申請(qǐng)簽證證件的證明(擔(dān)保)函件
- (研究生)高級(jí)管理會(huì)計(jì)理論與實(shí)務(wù)ppt教學(xué)課件(完整版)
- 《西游記》中女妖形象探析新譚素梅
- 監(jiān)控中心裝修施工方案設(shè)計(jì)
- 泛微財(cái)務(wù)協(xié)同管理平臺(tái)解決方案(網(wǎng)報(bào)、費(fèi)控、預(yù)算、共享)課件
- 手榴彈使用教案
評(píng)論
0/150
提交評(píng)論