版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章循環跳出和循環嵌套12回顧while循環do-while循環while和do-while循環的區別For循環3目標理解break和continue熟練使用嵌套循環4break語句(一)break語句兩種用途:1.終止switch語句中的case語句,保證多路分支情況的正確執行2.強迫程序退出一個循環,跳過正常的循環條件測試5break語句(二)break語句通常在循環中與條件語句一起使用。若條件值為真,將跳出循環,控制流轉向循環后面的語句在多層循環中,一個break語句只向外跳一層6跳出
for循環inti;for(i=0;i<100;i++;){if(i==10)//當i等于10時退出整個循環
break;printf("
%4d",i);}printf("
\n",i);}break示例7跳出
while循環while(1){if(x==10)
break;}跳出
for循環for(;;){printf("這將一直進行下去");i=getchar();if(i=='X'||i=='x')
break;}break語句(三)跳出
do-while循環do{if(x==10)
break;}while(x<15);8continue語句(一)continue
語句的作用是跳過循環體中剩余的語句而執行下一次循環9跳出
for循環inti;for(i=0;i<100;i++;){if(i==10)//當i等于10時退出本次循環
continue;printf("%4d",i);}printf("\n",i);}
Continue示例10break與continue的區別while(…){
…………
break;
…………}跳出整個循環while(…){
…………continue;
…………}繼續下一次循環11循環嵌套在一個循環體內又包含了一個完整的循環結構時,稱為循環語句的嵌套。只有在內循環完全結束后,外循環才會進行下一趟。嵌套循環的語法while(i<=10){...while(i<=j){......}...}外循環內循環12循環嵌套示例(一)
在屏幕打印由星號構成的5行10列的矩形圖形13
在屏幕打印由星號構成的5行10列的矩形圖形#include<stdio.h>voidmain(){inti,j;for(i=0;i<5;i++) //打印5行
{ for(j=0;j<10;j++) //每行打印10個星號
{ printf("*"); } printf("\n");//打印完一行星號后輸出一個換行符
}}循環嵌套示
例(一)14循環嵌套示例(二)
打印九九乘法表。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++)//輸出每行的列數
{ printf("%d*%d=%2d\t",i,j,i*j); } printf("\n"); }}16注意內循環控制變量,不能與外循環控制變量同名外循環必須完全包含內循環,不能有交叉循環for循環既可以嵌套for循環,也可以嵌套while或者do-while循環,實際應用中三種循環可以互相嵌套。在多層循環中,一個break語句只向外跳一層。17程序舉例(一)百錢買百雞問題。假設小雞每只5角,公雞每只2元,母雞每只3元?,F在有100元錢要求買100只雞,請編程列出所有可能的購雞方案。設母雞、公雞和小雞各為x、y、z只,根據題目要求,可以列出方程為方程有3個未知量,故有無窮多解。,在計算機中可以使用“窮舉法”(也稱枚舉法)來求解。即,將可能出現的各種情況一一測試,判斷是否滿足條件。18程序舉例(二)#include<stdio.h>voidmain(){
printf("\t\t購買方案\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方法一,程序總共運行了:%d\n",sum);}
程序舉例(二)在多重循環中為了提高運行速度,對程序要考慮優化問題。對于多重循環,可以提高速度的優化選項中需要考慮的因素如下:盡量利用已給出的條件,減少循環的次數。合理的選擇內、外層的循環次數,即將循環次數多的放在內循環中。根據三種雞的只數為100的關系,用二重循環實現;同時每種雞循環次數不必到100,因為還要滿足總價格為100元的關系。因此,假如100元買母雞最多能買100/3=33只,而如果用100元全部買公雞,則最多可買50只。1920程序舉例(三)#include<stdio.h>voidmain(){
printf("\t\t購買方案\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方法一,程序總共運行了d\n",sum);}
21程序舉例(四)
從鍵盤輸入一串字符,以ctrl+z(^z)表示輸入結束。統計其中包含的單詞個數、字母個數、數字個數。規定單詞之間用一個空白符分開(這里的空白符包括空格符、水平制表符和換行符)。該題的關鍵是統計單詞的個數,由于規定單詞之間用一個空白符分開,則問題就變得很簡單,只要統計空白符的個數就可以知道單詞的個數。22#include<stdio.h>voidmain(){charc;intalpha=0,num=0,ch=0,word=0;while((c=getchar())!=EOF)//EOF代表文本結束,鍵盤上對應Ctrl+Z{if(c==''||c=='\t'||c=='\n')//當字符是空白符時將word計數變量自增
word++;if(c>='a'&&c<='z'||c>='A'&&c<='Z')//當字符是字母時將alpha計數變量自增
alpha++;elseif(c>='0'&&c<='9')//當字符是數值時將num計數變量自增
num++;else//其他情況將ch計數變量自增
ch++;}
printf("字母數=%d\n",alpha);
prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軌道交通通信信號設備制造工崗中跨界整合考核試卷含答案
- 紡絲原液制備工操作技能評優考核試卷含答案
- 生物質燃料值班員崗位安全文明考核試卷含答案
- 公共場所衛生管理員安全應急能力考核試卷含答案
- 起毛擋車工崗位事件處置考核試卷含答案
- 40歲后職業規劃
- DBA管理就業趨勢
- 婁底建筑工程就業前景
- 汽車配件公司工作總結報告
- 消毒隔離無菌技術操作知識考試試題及答案
- 2025山東棗莊滕州市屬國有企業招聘125人(第二批次)筆試歷年難易錯考點試卷帶答案解析
- 2026年河南輔警招聘考試題庫及參考答案詳解
- AQ 3026-2026《化工企業設備檢修作業安全規范》解讀課件
- (2026版)《醫療器械定期安全更新報告撰寫指南(試行)》培訓課件
- 中藥外敷:緩解疼痛的護理方法
- 2026年教師資格證《語文學科知識與教學能力》初中試題及一套參考答案詳解
- 領導聯系單位工作制度
- JJF 1221-2025 汽車排氣污染物檢測用底盤測功機校準規范
- 肝炎病毒篩查與管理原則
- 3.3 瀝青路面封層、功能性罩面及結構性補強
- BRCGS Food Safety Issue 9 全球食品安全標準培訓課件
評論
0/150
提交評論