




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章循環控制1ppt課件本章主要內容6.1概述6.2goto語句以及用goto語句構成循環6.3用while語句實現循環6.4用do-while語句實現循環6.5用for語句實現循環6.6循環的嵌套6.7幾種循環的比較6.8break語句和continue語句6.9程序舉例重點掌握:循環的基本概念、不同形式的循環控制、多重循環問題2ppt課件§6.1概述什么是循環?循環就是在滿足一定條件時,重復執行一段程序。為什么要使用循環?問題:y=1+2+3+……+100;太長!y=0;n=1;while(n<=100){y+=n;n++;}3ppt課件實現循環的語句(四種)用goto語句和if語句實現循環用while語句實現循環用do-while語句實現循環用for語句實現循環——不提倡——先判斷后執行——先執行后判斷——多功能4ppt課件§6.2goto語句以及用goto語句構成循環goto語句的一般形式:
goto語句標號;例如:label_1:i++;gotolable_1;goto語句的功能:無條件地轉到標號所指語句goto語句的用途:與if語句一起構成循環結構;從循環體中跳轉到循環體外。語句標號用標識符表示;用于定義程序中的某個位置。濫用goto語句將使程序流程無規律、可讀性差,因此應限制使用goto語句。5ppt課件#include<stdio.h>voidmain(){
intn,sum;//n存放加數,sum存放和
sum=0;n=1; if(n<=100) { sum=sum+n;//sum+=n;n++;
gotoloop; } printf("%d\n",sum);}例6.1用if語句和goto語句構成循環,求說明:這里用的是“當型”循環結構,當滿足“n<=100”時執行花括弧內的循環體。
運行結果:5050Pressanykeytocontinueloop:
6ppt課件§6.3用while語句實現循環while語句用來實現“當型”循環結構。一般形式:
while(表達式)語句執行過程:當表達式的值為非0(真)時,執行while語句中的內嵌語句(循環體),然后再次判斷表達式的值,如此重復;當表達式的值為0(假)時結束循環。特點:先判斷表達式,后執行語句。7ppt課件例如:k=1;while(k<10){ printf("%d",k); k=k+2;}循環控制表達式循環控制變量k循環體循環體說明:(1)循環體若包含一個以上的語句,應該以復合語句形式出現。(2)在循環之前,必須給循環控制變量賦初值。(3)應有使循環趨向于結束的語句。如上例中k=k+2;(4)循環體可以為空。例如:while((c=getchar())!='A');8ppt課件例6.2用while語句實現循環,求#include<stdio.h>voidmain(){
intn,sum;sum=0;n=1;
while(n<=100)
{
sum=sum+n;n++;}
printf("%d\n",sum);}9ppt課件§6.4用do-while語句實現循環一般形式:
do
循環體語句
while(表達式);執行過程:先執行一次指定的循環體語句,然后判別表達式,當表達式的值為非0(真)時,返回重新執行循環體語句,如此反復,直到表達式的值等于0為止,此時循環結束。特點:先執行循環體,后判斷循環條件是否成立逗號不能少!10ppt課件例6.3用do-while語句實現循環,求#include<stdio.h>voidmain(){
intn,sum;sum=0;n=1;
do
{ sum=sum+n;n++;
}while(n<=100);/*必須有分號*/printf("%d\n",sum);}11ppt課件while語句和do-while語句的比較while語句do-while語句先判后執行先執行后判循環體可能一次都不執行循環體至少執行一次12ppt課件§6.5用for語句實現循環一般形式:
for(表達式1;表達式2;表達式3)語句執行過程:
(1)先求解表達式1。
(2)
求解表達式2,若其值為非0(真),則執行for語句中指定的內嵌語句(循環體),然后求解表達式3,轉回第(2)步。若值為0(假),則結束循環,執行for語句下面的語句。13ppt課件for語句執行過程的流程圖:循環初始化循環控制條件循環體for語句等價于下列while語句:表達式1;While(表達式2){語句;表達式3;}14ppt課件for語句最簡單的形式:
for(循環變量賦初值;循環條件;循環變量修改)
循環體語句;
例如:n=1;while(n<=100){sum=sum+n;n++;}等價于
for(n=1;n<=100;n++)sum=sum+n;循環變量賦初值循環條件修改循環變量15ppt課件說明:1.表達式1可以省略,此時應在for語句之前給循環變量賦初值。注意表達式1后的分號不能省略。
例如:n=1;
for(
;n<=100;n++)sum=sum+n;2.表達式2省略時,不判斷循環條件,將成為“死循環”。可在循環體中引入break語句退出循環。
例如:for(n=1;;n++)sum=sum+n;if(n>100)
break;//跳出本層循環sum=sum+n;{}16ppt課件3.表達式3省略時,應在循環體內有使循環變量修改的語句,否則循環不能正常結束。
例如:for(n=1;n<=100;){sum=sum+n;
n++;
}4.可同時省略表達式1和表達式3,只有表達式2,此時相當于while語句。
例如:n=1;
for(;n<=100;){sum=sum+n;
n++;}
等價于:n=1;
while(n<=100){sum=sum+n;n++;}17ppt課件5.3個表達式都可省略,此時無終止地執行循環體。例如:for(;;)語句6.表達式1和表達式3既可是與循環變量有關的表達式,也可是與循環變量無關的其他表達式;既可是簡單表達式,也可是逗號表達式。
例:for(i=0,j=100;i<=j;i++,j--)k=i+j;上述for語句循環體執行了幾次?循環體執行51次。上述for語句執行后k為多少?K為10018ppt課件7.表達式2一般是關系或邏輯表達式,但也可以是其他表達式,只要其值為非0,就執行循環體。例:for(;
(
c=getchar()
)
!=
'\n';
)printf("%c",c);功能:從鍵盤緩沖區中每讀入一個非換行符的字符后輸出該字符,直到輸入“換行符”為止。運行結果:Computer↙
Computer注意:從鍵盤向計算機輸入時,是在按Enter鍵后才將一批數據一起送到內存緩沖區中去的。運行結果:CCoommppuutteerr↙
√OR19ppt課件§6.6循環的嵌套循環的嵌套:一個循環體內又包含另一個完整的循環結構多層(重)循環:內嵌的循環中又嵌套循環。三種循環(while、do-while和for)可以互相嵌套。(1)for(;;){…
for(;;){…}
…
}
(2)while(){…
do{…}
while(
);
…
}(3)for(;;){…
while(){…}
…}
20ppt課件說明:嵌套的循環控制變量不能相同內循環變化快,外循環變化慢正確確定循環體21ppt課件for(i=1;i<=2;i++)
{ for(j=1;j<=i;j++) printf("%d",i*j); printf("\n");
}//內循環的循環體例:i=1,i<=2成立j=1,j<=i成立輸出1︺j=2,j<=i不成立輸出換行結束內嵌fori=2,i<=2成立j=1,j<=i成立輸出2︺j=2,j<=i成立輸出換行結束內嵌for輸出4︺j=3,j<=i不成立︺︺i=3,i<=2不成立結束外循環for運行結果:1︺2︺4︺_22ppt課件§6.7幾種循環的比較(1)四種循環都可以用來處理同一問題,一般不提倡用goto構成循環。(2)while(表達式)語句do循環體語句while(表達式);for(表達式1;表達式2;表達式3)
語句表達式表達式表達式2循環控制條件修改循環變量(也可在循環體語句內)…………循環變量初始化表達式1(也可在for前)23ppt課件(3)while循環、do-while循環和for循環,可以用break語句跳出本層循環,用continue語句結束本次循環。而對用goto語句和if語句構成的循環,不能用break語句和continue語句進行控制。
24ppt課件§6.8break語句和continue語句一、break語句一般形式:
break;功能:結束本層switch語句、結束本層循環注意:break語句不能用于三種循環語句和switch語句之外的其他語句中。
25ppt課件例:
floatr,area,pi=3.14159;for(r=1;r<=10;r++){area=pi*r*r;/*計算圓面積*/if(area>100)break;
printf("r=%f,area=%f\n",
r,
area);}程序的功能:計算并輸出r=1到r=10時的圓面積,直到面積area大于100為止。26ppt課件二、continue語句一般形式:
continue;功能:結束本次循環。對于while、do-while語句,跳過循環體中continue后面剩余的語句,進行循環條件的判定。對于for語句,跳過循環體中continue后面剩余的語句,求解表達式3,然后進行循環條件的判定。三、continue語句和break語句的區別continue語句只結束本次循環,而break語句是終止本層整個循環的執行。27ppt課件(1)while(表達式1){…if(表達式2)break;…}(2)while(表達式1){…if(表達式2)continue;…}28ppt課件(3)for(表達式1;表達式2;表達式3){…if(表達式4)break;…}(4)for(表達式1;表達式2;表達式3){…if(表達式4)continue;…}表達式1表達式2真假……表達式4真假……for循環的下一條語句表達式3continue表達式1表達式2真假……表達式4真假……for循環的下一條語句表達式3break29ppt課件例6.5把100~200之間的不能被3整除的數輸出#include<stdio.h>voidmain(){intn;//存放數for(){
}}n=100;if(n%3==0)continue;printf("%d",n);if(n%3!=0)printf("%d",n);n<=200;n++30ppt課件§6.9程序舉例例6.6用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到某一項的絕對值小于10-6為止。設:s為當前項的分子,n為當前項的分母,t為當前項,pi為π。s=1,n=1,t=1,pi=0|t|>=10-6pi=pi+t;s=-s;n=n+2;t=s/n;真假pi=pi*4;輸出pi庫函數fabs(t),頭文件math.h1e-6或0.000001或pow(10,-6)頭文件math.h31ppt課件#include<stdio.h>#include<math.h>voidmain(){
doublen=1;//分母
doublet=1;//當前數據項
doublepi=0;while(fabs(t)>=1e-6){pi=pi+t;//累加當前數據項
s=-s;//計算下一項的分子
n=n+2;//計算下一項的分母
t=s/n;//計算下一項
}pi=pi*4;printf("pi=%10.7f\n",pi);}ints=1;//分子32ppt課件例6.7求Fibonacci(斐波那契)數列前40個數。這個數列有如下特點:第1,2兩個數為1,1。從第3個數開始,該數是其前面兩個數之和。即:F1=1(n=1)F2=1(n=2)Fn=Fn-1+Fn-2(n≥3)11235f1f2f1+f2f1f2+f1f2f1+f2f18…f2+f1f233ppt課件#include<stdio.h>voidmain(){
longintf1,f2;inti;
//循環控制變量f1=1;f2=1;
//賦初值for(i=1;i<=20;i++){printf(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年心理學概論考試試卷及答案
- 2025年心理學專業碩士研究生入學考試試卷及答案
- 2025年物理學基礎知識驗收考試題及答案
- 2025年食品安全監督相關考試試題及答案
- Adezmapimod-hydrochloride-Standard-SB-203580-hydrochloride-Standard-生命科學試劑-MCE
- 2025年社會工作者職業資格認證考試試題及答案
- 2025年農學與生態學研究生入學考試試題及答案
- 2025年電子商務技術考試試卷及答案
- 2025年兒童發展心理學考試試題及答案
- 2025年護理碩士研究生入學考試試卷及答案
- 審核技巧培訓
- 延遲退休人員協議書
- 井下作業施工方案
- 2025年房地產開發經營服務項目投資風險評估報告
- EPC項目全流程咨詢管理的核心要點與優化策略
- 鐵路施工高空作業安全教育
- 2025年管道工(技師)職業技能鑒定理論考試題庫(含答案)
- 一體化污水處理設備采購安裝及運維 投標方案(技術方案)
- 晉升品質主管述職報告
- 雷火灸技術操作流程圖及考核標準
- 北師大版三年級下冊數學全冊教案(完整版)教學設計含教學反思
評論
0/150
提交評論