(5.5.2)-4.2-while語句和do-while語句程序設(shè)計基礎(chǔ)_第1頁
(5.5.2)-4.2-while語句和do-while語句程序設(shè)計基礎(chǔ)_第2頁
(5.5.2)-4.2-while語句和do-while語句程序設(shè)計基礎(chǔ)_第3頁
(5.5.2)-4.2-while語句和do-while語句程序設(shè)計基礎(chǔ)_第4頁
(5.5.2)-4.2-while語句和do-while語句程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

循環(huán)結(jié)構(gòu)程序設(shè)計——while語句和do-while語句程序設(shè)計基礎(chǔ)(C語言)Fundamentalsofprogramming(Clanguage)Contents目錄情境引入講授新知啟發(fā)探究123學(xué)以致用4課外拓展5目錄講授新知啟發(fā)探究情景引入學(xué)以致用課外拓展循環(huán)while和do-while【問題情景】在中國數(shù)學(xué)史上,廣泛流傳著一個“韓信點兵”的故事:韓信在點兵的時候,為了知道有多少兵,同時又能保住軍事機密,便讓士兵排隊報數(shù):按從1至5報數(shù),最末一個士兵報的數(shù)為1;再按從1至6報數(shù),最末一個士兵報的數(shù)為5;再按從1至7報數(shù),最末一個士兵報的數(shù)為4;最后按從1至11報數(shù),最末一個士兵報的數(shù)為10。你知道韓信至少有多少兵?

循環(huán)結(jié)構(gòu)這種不厭其煩反復(fù)執(zhí)行的過程激勵我們要養(yǎng)成持之以恒、百折不撓以及反復(fù)打磨的工匠精神和能力品質(zhì)。Contents目錄情景引入講授新知啟發(fā)探索123學(xué)以致用4課外拓展5目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展while語句概念while語句一般格式while語句執(zhí)行過程while語句程序解讀#include<stdio.h>intmain(){inti=1,sum=0;while(i<=100){sum=sum+i;i++;}printf("sum=%d\n",sum);}while語句概念一般格式執(zhí)行過程解讀簡單程序循環(huán)變量的改變,i++等價于i=i+1,循環(huán)變量步長值為1while循環(huán)語句while關(guān)鍵字目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展while循環(huán)體部分,重復(fù)執(zhí)行的內(nèi)容i<=100:循環(huán)條件,控制循環(huán)變量終值,表示滿足條件為真的最終值為i=100while語句概念目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展一般格式執(zhí)行過程解讀簡單程序

while(表達式)

{

循環(huán)體語句;

}

while是關(guān)鍵字任意合法表達式

while語句概念目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展一般格式執(zhí)行過程解讀簡單程序表達式循環(huán)體假(0)真(非0)while語句執(zhí)行過程do-while語句概念do-while語句一般格式do-while語句執(zhí)行過程do-while語句程序解讀目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展do-while語句概念一般格式執(zhí)行過程解讀簡單程序#include<stdio.h>intmain(){inti=1,sum=0;

do{

sum=sum+i;i++;}while(i<=100);printf("sum=%d\n",sum);}循環(huán)變量的改變,i++等價于i=i+1,循環(huán)變量步長值為1do-while循環(huán)語句while關(guān)鍵字do-while循環(huán)體部分,重復(fù)執(zhí)行的內(nèi)容i<=100:循環(huán)條件,控制循環(huán)變量終值,表示滿足條件為真的最終值為i=100dodo-while語句概念目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展一般格式執(zhí)行過程解讀簡單程序do{

循環(huán)體}while(表達式

);

do、while是關(guān)鍵字不要丟了!do-while語句概念目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展一般格式執(zhí)行過程解讀簡單程序表達式循環(huán)體假(0)真(非0)do-while語句執(zhí)行過程Contents目錄情景引入講授新知啟發(fā)探索123學(xué)以致用4課外拓展5目錄講授新知啟發(fā)探索情景引入課外拓展學(xué)以致用while語句與do-while語句有什么區(qū)別?#include<stdio.h>intmain(){intsum=0,i;scanf("%d",&i);while(i<=10){

sum+=i;

i++;}printf("sum=%d\n",sum);return0;}#include<stdio.h>intmain(){intsum=0,i;scanf("%d",&i);do{

sum+=i;

i++;}while(i<=10);printf("sum=%d\n",sum);return0;}i的值在什么范圍內(nèi)以上兩個程序運行結(jié)果一樣?#include<stdio.h>intmain(){intsum=0,i;scanf("%d",&i);

while

(i<=10)

{

sum+=i;

i++;

}printf("sum=%d\n",sum);return0;}目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展進入循環(huán)前先輸入一個數(shù)先判斷,當i小于等于10時,再執(zhí)行循環(huán)體while循環(huán)語句#include<stdio.h>intmain(){intsum=0,i;scanf("%d",&i);

do

{

sum+=i;

i++;

}while(i<=10);printf("sum=%d\n",sum);return0;}目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展進入循環(huán)前先輸入一個數(shù)do-while循環(huán)語句先執(zhí)行循環(huán)體再判斷i是否小于等于10do-while先執(zhí)行一次循環(huán)體,后判斷表達式循環(huán)體至少被執(zhí)行一次while先判斷表達式,后執(zhí)行循環(huán)體循環(huán)體有可能一次也不被執(zhí)行while語句與do-while語句的區(qū)別目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展Contents目錄情景引入講授新知啟發(fā)探索123學(xué)以致用4課外拓展5目錄啟發(fā)探索情景引入學(xué)以致用課外拓展講授新知三完善程序二算法流程圖一編程點撥韓信點兵問題四完整程序目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展問題:韓信有一隊兵,他想知道有多少人,便讓士兵排隊報數(shù):按從1至5報數(shù),最末一個士兵報的數(shù)為1;按從1至6報數(shù),最末一個士兵報的數(shù)為5;按從1至7報數(shù),最末一個士兵報的數(shù)為4;最后再按從1至11報數(shù),最末一個士兵報的數(shù)為10。編程求韓信至少有多少兵?總?cè)藬?shù)%6=5總?cè)藬?shù)%5=1總?cè)藬?shù)%7=4

總?cè)藬?shù)%11=10總?cè)藬?shù)%5==1&&總?cè)藬?shù)%6==5&&總?cè)藬?shù)%7==4&&總?cè)藬?shù)%11==10表示判斷的時候需要改成“==”四完整程序二算法流程圖三完善程序一編程點撥目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展i++;假i=1;真i%5==1&&i%6==5&&i%7==4&&i%11==10?四完整程

序二算法流程圖一編程點撥三完善程序

while循環(huán)語句printf輸出#include<stdio.h>intmain(){longi=1;while((1))

{

(2);

}//此處的花括號{}可省略printf("總?cè)藬?shù)為:%d\n",(3));return0;}目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展!(i%5==1&&i%6==5&&i%7==4&&i%11==10)或者:

i%5!=1||i%6!=5||i%7!=4||i%11!=10i++四完整程

序二算法流程圖一編程點撥三完善程序i目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展四完整程

序二算法流程圖一編程點撥三完善程序講授新知啟發(fā)探索#include<stdio.h>intmain(){longi=1;

while(!(i%5==1&&i%6==5&&i%7==4&&i%11==10))//等價于while(i%5!=1||i%6!=5||i%7!=4||i%11!=10)

{

i++;

}//此處的花括號{}可省略printf("總?cè)藬?shù)為:%d\n",i);return0;}方法一:用while語句實現(xiàn)

程序如下:目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展一編

程點

撥三完

善程序二算

法流程圖四完整程序講授新知啟發(fā)探索#include<stdio.h>intmain(){longi=1;

do{

i++;

}

while

(!(i%5==1&&i%6==5&&i%7==4&&i%11==10));//等價while(i%5!=1||i%6!=5||i%7!=4||i%11!=10);printf("總?cè)藬?shù)為:%d\n",i);return0;}方法二:用do-while語句實現(xiàn)

程序如下:Contents目錄情景引入講授新知啟發(fā)探索123學(xué)以致用4課外拓展5目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展【課外思考】請問“韓信點兵”問題中改成讓士兵各以三人、五人、七人排成一排,輸入三個非負整數(shù)a,b,c,表示每種隊形排尾的人數(shù)(a<3,b<5,c<7),輸出總?cè)藬?shù)的最小值(或報告無解)。已知總?cè)藬?shù)不小于10,不超過100。編程實現(xiàn)其功能。目錄講授新知啟發(fā)探索情景引入學(xué)以致用課外拓展#include<stdio.h>intmain(){inta,b,c,i=10;

scanf("%d%d%d",&a,&b,&c);

while(i<=100)

{

if(i%3==a&&i%5==b&&i%7==c)

break;

i++;

}if(i>100)printf("Noanswer");elseprintf("%d\n",i);return0;}

#include<stdio.h>intmain(){inta,b,c,i=10;

scanf("%d%d%d",&a,&b,&c);

do

{

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論