C語言程序設計13章-2 循環程序設計_第1頁
C語言程序設計13章-2 循環程序設計_第2頁
C語言程序設計13章-2 循環程序設計_第3頁
C語言程序設計13章-2 循環程序設計_第4頁
C語言程序設計13章-2 循環程序設計_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

while語句for語句do-while語句循環程序設計應用;教學要求目錄for循環程序設計應用whiledo-while循環結構

在解決實際問題時,程序中除了使用前面介紹的輸入、輸出和分支選擇語句外,還需要重復執行相同的某些操作,C語言提供了三種循環語句:while語句、do-while語句和for語句。構成循環的基本要素循環控制表達式及循環控制變量循環體語句初始條件設置語句循環變量修改語句while語句while循環也稱為當型循環,當型循環的特點是“先判斷再執行”,即首先判斷循環控制表達式,當循環控制表達式為真時,程序控制流執行循環體語句,直到循環條件不成立為止。while語句的一般形式是:while(表達式)語句while語句while語句多組數據的處理(1)知道了明確的數據組數intn,i;scanf("%d",&n);while(n){scanf("%d%d",&a,&b);//輸入當前的每一組數據,一定要有輸入

//基于輸入的數據,進行相應的處理printf("%d\n",result);//輸出與當前本組輸入的對應輸出結果,注不要放在循環體外面

n--;}多組數據的處理(2)知道了終止的條件多組數據的處理inta,b;scanf("%d%d",&a,&b);//輸入第一組數據while(a||b){//對輸入的情況進行處理printf("%d\n",result);//輸出與該組輸入對應的輸出,不要放在循環外面scanf("%d%d",&a,&b);//繼續輸入下一組數據}(2)知道了終止的條件(3)啥都不知道多組數據的處理while(scanf("%d%d",&a,&b)!=EOF){//endoffile

//對輸入的情況進行處理

printf("%d\n",result);//輸出與該組輸入對應的輸出}(3)啥都不知道多組數據的處理while語句while語句思路:求a和b的最大公約數(a>b>0)a=k*b+cwhile語句while語句do-while語句do~while循環也稱為直到型循環,直到型循環的特點是“先執行,后判斷”。即先執行循環體,再判斷循環條件是否成立,如果循環條件為真則繼續執行循環體,直到循環條件變為假。do~while語句的一般形式是:do{語句}while(表達式);do-while語句for語句C語言提供的for循環語句使用很靈活,既可以用于已知循環次數的情況,也可以用于循環次數不確定而只有循環結束條件的情況,可以代替while和do~while循環。for語句的一般形式是:for(表達式1;表達式2;表達式3)

語句for語句for語句for語句intmain(){ inti,m=1; for(i=5;i>=1;i--){ m=(m+1)*2; printf(“m=%d\n”,m); }return0;}

例寫出下列程序的運行結果for語句可以將for語句的形式改寫成while語句的形式。for語句中的表達式1、表達式2、表達式3每一個都可以省略,甚至三個表達式都可以同時省略,但是起分隔作用的“;”不能省略。for(表達式1;表達式2;表達式3)語句表達式1;while(表達式2){語句;表達式3;}for語句循環嵌套一個循環語句的循環體內如果包含另一個完整的循環,這種循環之間的層次關系就構成了循環的嵌套。內嵌循環的循環體中還可以再嵌套循環,由此可以構成多層循環。C語言提供的三種循環語句之間可以實現相互嵌套。循環嵌套循環嵌套循環嵌套理論上循環嵌套的深度不受限制,但在實際應用中不提倡使用嵌套層次太多的循環結構。使用嵌套結構時,要注意嵌套不能交叉。嵌套的內外層循環不能使用同名的循環變量,而并列結構的循環允許使用同名的循環變量。循環控制C語言提供break和continue語句用于中斷正常的控制流。break語句強制從switch語句和循環語句中退出。而continue語句是強制結束本次循環,開始下一次循環。在循環中break語句通常和if條件語句搭配使用,用于檢測當某個條件成立時跳出循環。而continue語句和if條件語句配合使用,判斷是否退出循環的當前迭代。循環控制break語句只能用于循環體內,不能用于循環表達式內。break語句只能跳出一層循環,即當前的循環。continue和break語句的區別:break語句是中斷所在的整個循環,把控制轉移到緊隨循環之后的語句,而continue語句并沒有使整個循環終止,只是終止了循環的當前迭代。循環控制循環控制舉例

例1.隨機產生兩個兩位數,進行加法測試,由用戶回答,直到回答正確為止。循環應用舉例

#include<stdio.h>intmain(){inti; for(i=1;i<=5;i++) switch(i%2){ case0:i++;printf("#\n"); case1:i+=2;printf("*"); default:printf(""); } return0;}循環控制舉例

例寫出下列程序的運行結果循環應用舉例

例1.《算經》中有一道題:雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。百錢買百雞,問雞翁、母、雛各幾何?編程實現。循環應用舉例

例2.一般而言,兔子在出生兩個月后,就有繁殖能力,一對兔子每個月能生出一對小兔子來。如果所有兔子都不死,那么一年以后可以繁殖多少對兔子?魔八方

魔八方

斐波拉契數與黃金分割1,1,2,3,5,8,13,21,34,55,89,......2/3=0.66.....5/8=6258/13=0.615384....13/21=0.6190476......21/34=0.617647......34/55=0.618281828.........循環應用舉例

數據的輸入與輸出:字符的輸入函數getchar和輸出函數putchar,格式輸入函數scanf和格式輸出函數printf。程序設計的三種結構:順序結構、選擇結構和循環結構。實現選擇的語句:if語句(if語句、if~else語句、if語句的嵌套)、switch語句實現循環的語句:while語句、do~while語句和for語句,以及循環嵌套。利用三種結構解決具體問題。循環應用舉例

#include<stdio.h>intmain(){inti,j,a=0,b=0;for(i=1;i<=2;i++){for(j=1;j<=3;j++){ if(j%2==0)break; a++; } b=b+a++;}printf("%d\n",a);return0;}

例寫出下列程序的運行結果循環應用舉例

#include<stdio.h>intmain(){inta=1,b=1;for(;a<=100;a++){if(b>=20)break; if(b%3==1){b+=3;continue;} b-=5;}printf("%d\n",a);return0;}

例寫出下列程序的運行結果循環應用舉例

#include<stdio.h>intmain(){intn1=0,n2=0,n3=0; charch; while((ch=getchar())!='!') switch(ch){ case'1': case'3':n1++;break; case'2': case'4':n2++;break; default:n3++;break; } printf("%d%d%d\n",n1,n2,n3); return0;}例若程序運行時輸入01234567!<回車>,則運行結果是什么循環應用舉例

循環應用舉例

循環應用舉例

循環應用舉例

循環應用舉例

循環應用舉例

循環應用舉例

循環應用舉例

循環應用舉例

求下列方程的根。循環應用舉例

循環應用舉例

1、有一分數序列2/1,3/2,5/3,8/5,13/8,21/13……求這個序列前20項的和。2、編程求5X+2Y+Z=50的所有非負整數解。

話說大詩人李白,一生好飲。幸好他從不開車。一天,他提著酒壺,從家里出來,酒壺中有酒2斗。他邊走邊唱:無事街上走,提壺去打酒。

溫馨提示

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

評論

0/150

提交評論