C語言程序設(shè)計教程 課件 第5.1 循環(huán)結(jié)構(gòu)_第1頁
C語言程序設(shè)計教程 課件 第5.1 循環(huán)結(jié)構(gòu)_第2頁
C語言程序設(shè)計教程 課件 第5.1 循環(huán)結(jié)構(gòu)_第3頁
C語言程序設(shè)計教程 課件 第5.1 循環(huán)結(jié)構(gòu)_第4頁
C語言程序設(shè)計教程 課件 第5.1 循環(huán)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章循環(huán)結(jié)構(gòu)程序設(shè)計主講教師:賀愛香理論知識概述1while語句2do-while語句3for語句4break和continue語句6循環(huán)嵌套5goto語句7要求:掌握while語句與do…while語句的結(jié)構(gòu)與使用方法。掌握for語句的結(jié)構(gòu),熟練掌握其使用方法。能正確區(qū)分for語句、do…while語句與while語句三者的不同。教學(xué)目標(biāo)要求:會使用常見的循環(huán)嵌套形式。掌握break語句和continue的應(yīng)用及其區(qū)別。分析總結(jié)常用的程序設(shè)計方法及算法特點,并能編寫相應(yīng)的程序。實踐任務(wù)編寫C程序計算1+2+…+100

1求某小組若干個學(xué)生某門課程的平均分

2輸出Fibonacci數(shù)列前20項

3求1!+2!+…+10!5判斷一個數(shù)n是否是素數(shù)。6在屏幕上打印圖形

4教學(xué)重點:While、For循環(huán)控制結(jié)構(gòu);break和continue;循環(huán)結(jié)構(gòu)C程序的編寫。重難點教學(xué)難點:break和continue;循環(huán)結(jié)構(gòu)C程序的編寫。while語句一般形式

while(條件表達(dá)式)

循環(huán)體語句執(zhí)行過程條件表達(dá)式循環(huán)體假真【例】

用while循環(huán)求

#include<stdio.h>main(){inti,sum=0;i=1;

while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循環(huán)初值循環(huán)終值循環(huán)變量增值循環(huán)條件循環(huán)體1*2*3*……100?編一個程序,用π/4=1-1/3+1/5-1/7+……公式求π的近似值,直到最后一項的絕對值小于10-6為止。作答主觀題10分特點:

先判斷表達(dá)式,后執(zhí)行循環(huán)體注意:循環(huán)體有可能一次也不執(zhí)行循環(huán)體可為任意類型語句;若為多條語句,必須采用復(fù)合語句{}下列情況可退出while循環(huán)條件表達(dá)式不成立(表達(dá)式值為零)循環(huán)體內(nèi)遇break、return、goto無限循環(huán)(死循環(huán))

while(1)循環(huán)體;while語句以下程序片段執(zhí)行后的輸出結(jié)果是:

[填空1]。intn=10;while(n>7){printf(“%d”,n--);}

作答填空題2分【練習(xí)】

顯示1~10的平方#include<stdio.h>main(){inti=1;

while(i<=10){printf("%d*%d=%d\n",i,i,i*i);i++;}}運行結(jié)果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=100問題描述:(積少成多)計劃存款,第一天存5元,第二天存10元,第三天存20元,以后每天存錢數(shù)是前一天的兩倍,到第多少天,能突破你預(yù)定存款額?問題分析:令day=1,money=5,sum=5預(yù)期存款額為i當(dāng)sum<i時,day=day+1money=money*2sum=sum+money

輸出最終結(jié)果do-while語句一般形式

do

{

循環(huán)體語句

}

while(條件表達(dá)式);執(zhí)行過程循環(huán)體條件表達(dá)式假真特點:

先執(zhí)行循環(huán)體,后判斷表達(dá)式注意:至少執(zhí)行一次循環(huán)體do-while可轉(zhuǎn)化成while結(jié)構(gòu)#include<stdio.h>main(){inti,sum=0;i=1;

do

{sum=sum+i;i++;}while(i<=100);printf("%d",sum);}do-while語句對同一個問題,我們既可以用while語句實現(xiàn),也可以用do-while語句來實現(xiàn)。在一般情況下,用while語句和do-while語句來處理同一個問題,當(dāng)循環(huán)初始條件為真的情況下,它們的結(jié)果是相同的。但while和do-while是有區(qū)別的,因為while是“當(dāng)型”循環(huán),先判斷條件,后執(zhí)行循環(huán)體語句;而do-while是“直到型”循環(huán),先執(zhí)行循環(huán)體語句,后判斷條件,所以當(dāng)循環(huán)初始條件為“假”時,while語句一次循環(huán)體都不執(zhí)行,而do-while需要執(zhí)行一次循環(huán)體語句,結(jié)果不同。結(jié)論:當(dāng)循環(huán)初始條件為“真”時,兩種循環(huán)結(jié)果相同,否則結(jié)果不同。例如下面兩個程序,請思考結(jié)果分別為多少?#include"stdio.h"main(){ints=0,i=10;do{s=s+i;i++;}while(i<10);printf("i=%d,s=%d",i,s);}#include"stdio.h"main(){ints=0,i=10;while(i<10){s=s+i;i++;}printf("i=%d,s=%d",i,s);}

注意事項任務(wù)2:求某小組若干個學(xué)生某門課程的平均分。分析:要求出平均分需要知道總分和學(xué)生人數(shù)。由于學(xué)

生數(shù)不能事先確定,不妨由輸入者來決定,一旦

輸入一個非法成績數(shù)據(jù)(可以假定為-1)即結(jié)束,那么問題解決的關(guān)鍵就是重復(fù)進(jìn)行成績的輸入、累加及學(xué)生數(shù)的統(tǒng)計。實踐任務(wù)/*案例4-2

*/#include"stdio.h"voidmain(){floatsum,score,average;intn=0;sum=0;average=0;printf("請輸入學(xué)生成績:\n");scanf("%f",&score);while(score>=0){sum+=score;n++;scanf("%f",&score);}if

溫馨提示

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

最新文檔

評論

0/150

提交評論