版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
項目5高階程序設(shè)計
——循環(huán)結(jié)構(gòu)程序設(shè)計項目5高階程序設(shè)計—循環(huán)結(jié)構(gòu)程序設(shè)計任務(wù)1while語句任務(wù)2do-while語句
任務(wù)3for循環(huán)語句
任務(wù)4if和goto構(gòu)成的循環(huán)任務(wù)5循環(huán)的嵌套【課程思政】1.學(xué)習(xí)和實踐while語句、do_while語句、for語句,區(qū)別和領(lǐng)會不同語句編寫的注意事項,并訓(xùn)練學(xué)生的編程思維,拓展編程方法,做到一題多解。2.學(xué)習(xí)continue語句,和break語句相區(qū)別,讓學(xué)生深刻領(lǐng)會不同語句的結(jié)果可能會相差甚遠(yuǎn),培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)那髮W(xué)態(tài)度。3.借助C語言的國考訓(xùn)練練習(xí),培養(yǎng)學(xué)生借助理性思維解決生活中的實際問題的能力。4.借助循環(huán)的嵌套,解決復(fù)雜問題,營造學(xué)生間互幫互助,團結(jié)協(xié)作的氛圍,鼓勵學(xué)生遇到困難用積極的心敢于接受挑戰(zhàn)。任務(wù)1while語句1.當(dāng)型循環(huán)2.continue語句1.當(dāng)型循環(huán)當(dāng)型循環(huán)表示先判斷條件,條件成立時執(zhí)行循環(huán)體。其一般形式為:while(表達式)循環(huán)體語句;功能:首先計算表達式的值,若為“真”,則執(zhí)行循環(huán)體語句;再計算循環(huán)條件表達式的值,若仍為“真”,則重復(fù)執(zhí)行循環(huán)體語句。直到循環(huán)條件表達式的值為“假”時結(jié)束while語句的執(zhí)行,從而繼續(xù)執(zhí)行while語句后面的語句。【例5-1】計算1+2+3……100的和。#include<stdio.h>main(){inti=0,sum=0;while(i<=100){sum=sum+i;i=i+1;}printf("1+2+3……100的和是%d\n",sum);}2.continue語句continue語句用來跳過本次循環(huán),而直接進入下一次的循環(huán)條件判斷。通常用來在不滿足結(jié)束條件的情況下提前結(jié)束循環(huán),其語法格式如下:continue;功能:結(jié)束本次循環(huán)(不是終止整個循環(huán)),即跳過循環(huán)體中continue語句后面的語句,開始下一次循環(huán)?!纠?-3】輸出100-200間所有能同時被3和5整除的數(shù)。#include"stdio.h"voidmain(){intn=100;while(n<=200){if(n%3==0&&n%5==0){ printf("%d",n); n=n+1;}else{n=n+1;continue;}}printf("\n");}【國考訓(xùn)練】謝謝大家的聆聽任務(wù)2do-while語句
1.直到型循環(huán)2.while語句和do_while語句比較1.直到型循環(huán)do_while語句是先執(zhí)行一次循環(huán)體,然后再做條件判斷,其一般形式為:do循環(huán)體語句;while(循環(huán)條件表達式);功能:首先執(zhí)行一次循環(huán)體語句,然后檢測循環(huán)條件表達式的值,若為“真”,則重復(fù)執(zhí)行循環(huán)體語句,否則結(jié)束循環(huán)?!纠?-5】利用do_while語句實現(xiàn)求解1+2+3…100的和。#include<stdio.h>main(){inti=0,sum=0;do{sum=sum+i;i=i+1;}while(i<=100);printf("do_while語句實現(xiàn)求解1+2+3……100的和是%d\n",sum);}2.while語句和do_while語句比較(1)while語句是當(dāng)型循環(huán),do_while語句是直到型循環(huán)。(2)while語句是先判斷循環(huán)條件,而do_while語句是先執(zhí)行一次循環(huán)體,再做條件判斷。(3)while語句可能一次循環(huán)都沒有執(zhí)行,而do_while語句至少執(zhí)行了一次循環(huán)體。(4)while語句后面通常不能添加一個分號(;),而do_while語句括號后面要添加一個分號(;)表示語句的結(jié)束。【例5-7】while和do_while語句的比較。//利用while實現(xiàn)#include<stdio.h>main(){inti=101,sum=0;while(i<=100){sum=sum+i;i=i+1;}printf("利用while語句實現(xiàn)求解的結(jié)果是%d\n",sum);;}//利用do~while實現(xiàn)#include<stdio.h>main(){inti=101,sum=0;do{sum=sum+i;i=i+1;}while(i<=100)printf(“do_while語句實現(xiàn)求解1+2+3……100的和是%d\n",sum);}【國考訓(xùn)練】謝謝大家的聆聽任務(wù)3for循環(huán)語句
1.for語句2.for語句特點1.for語句
for語句形式:
for(表達式1;表達式2;表達式3)循環(huán)體語句;功能:首先計算表達式1的值;然后檢測表達式2的值,若其值為"真",則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計算表達式3。然后,再測試表達式2的值是否為"真",若為"真",繼續(xù)執(zhí)行循環(huán)體語句,……若為"假",則終止循環(huán)?!纠?-8】一球從1000米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?#include"stdio.h"main(){floatsn=1000.0,hn=sn/2;intn;for(n=2;n<=10;n++){sn=sn+2*hn;/*第n次落地時共經(jīng)過的米數(shù)*/hn=hn/2;/*第n次反彈高度*/}printf("thetotalofroadis%f\n",sn);printf("thelenthis%fmeter\n",hn);}2.for語句特點(1)表達式1省略(2)表達式2省略(3)表達式3省略(4)表達式1、2、3都省略【例5-9】判斷一個數(shù)是否是素數(shù)。#include<stdio.h>main(){inti;intnum=0;//輸入的整數(shù)printf("輸入一個整數(shù):");scanf("%d",&num);for(i=2;i<num;i++){if(num%i==0){break;//素數(shù)個數(shù)加1}}if(i==num)printf("%d是素數(shù)。\n",num);elseprintf("%d不是素數(shù)。\n",num);}【國考訓(xùn)練】謝謝大家的聆聽任務(wù)4if和goto構(gòu)成的循環(huán)1.goto語句2.幾種循環(huán)語句的比較1.goto語句goto語句用于實現(xiàn)程序轉(zhuǎn)向,稱之為無條件程序轉(zhuǎn)移語句。其一般形式為:goto語句標(biāo)號;標(biāo)號:語句【例5-10】利用if語句與goto語句完成求s=1+2+3+4…+100的和。#include<stdio.h>main(){inti=1;longintsum=0;loop:if(i<=100)/*loop是語句標(biāo)號,要符合標(biāo)識符的定義即可*/{sum=sum+i;i++;gotoloop;
}/*程序通過goto語句轉(zhuǎn)向loop語句標(biāo)號處*/printf("利用if和goto求解1+2+3……100的和sumis%ld\n",sum);}2.幾種循環(huán)語句的比較(1)四種循環(huán)都可以用來處理同一個問題,一般情況下它們可以互相代替。但goto語句的無條件轉(zhuǎn)向使得程序的結(jié)構(gòu)沒有規(guī)律,可讀性差,因而不符合結(jié)構(gòu)化程序設(shè)計的原則,所以一般不提倡用goto和if語句構(gòu)成的循環(huán)。(2)for語句和while語句的工作原理是先判斷循環(huán)控制條件,后執(zhí)行循環(huán)體;而do-while語句是先執(zhí)行一次循環(huán)體,后進行循環(huán)控制條件的判斷。for語句和while語句可能一次也不執(zhí)行循環(huán)體;而do-while語句至少執(zhí)行一次循環(huán)體。for和while循環(huán)屬于“當(dāng)型”循環(huán);而do-while循環(huán)屬于“直到型”循環(huán)。(3)do-while語句和while語句多用于循環(huán)次數(shù)不定的情況,對于循環(huán)次數(shù)確定的情況,使用for語句更方便。(4)do-while語句更適合于第一次循環(huán)肯定執(zhí)行的問題。(5)對于while循環(huán),do–while循環(huán)和for循環(huán),可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán)。而對用goto語句和if語句構(gòu)成的循環(huán),不能用break語句和continue語句進行控制。【國考訓(xùn)練】謝謝大家的聆聽任務(wù)5循環(huán)的嵌套1.循環(huán)的嵌套2.return語句3.循環(huán)中帶條件1.循環(huán)的嵌套【例5-12】世界數(shù)學(xué)史上著名的“百雞問題”:雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一。百錢買百雞,問雞翁、母、雛各幾何?(枚舉算法)#include<stdio.h>main(){intcock,hen,child;for(cock=0;cock<=20;cock++)for(hen=0;hen<=33;hen++)for(child=0;child<=99;child++) if(cock+hen+child==100&&cock*5+hen*3+child/3.0==100) printf("cock=%d,hen=%d,child=%d\n",cock,hen,child);}2.return語句return語句是表示從函數(shù)中返回語句。具體的講,就是如果在主函數(shù)中調(diào)用了其它的函數(shù)來實現(xiàn)功能,而在其它函數(shù)中得有一個專門的語句來描述該函數(shù)結(jié)束,返回到主函數(shù)繼續(xù)執(zhí)行,該語句就是return。3.循環(huán)中帶條件C語言中,生活中的典型應(yīng)用通常不是簡單的一種結(jié)構(gòu)程序設(shè)計,而是多種結(jié)構(gòu)程序設(shè)計的混合使用,循環(huán)中有條件,條件中有強制結(jié)束或者暫時結(jié)束本次條件等?!纠?-15】打印1000以內(nèi)的“水仙花數(shù)”?!八苫〝?shù)”是一個三位數(shù),其各位數(shù)立方和等于該數(shù)本身。(篩選法)例如,371=33+73+13。程序如下:#include<stdio.h>main(){inti,j,k,n;printf("1000以內(nèi)的水仙花有");for(n=100;n<1000;n++)/*對1000以內(nèi)的3位數(shù)進行循環(huán)*/{i=n/100;/*i的百位數(shù)字*/j=n/10%10;/*i的十位數(shù)字也可以改寫為j=n/10-i*10*/k=n%10;/*i的個位數(shù)字*/if(n==i*i*i+j*j*j+k*k*k)printf("%d\n",n);}printf("\n");}例5-16】求100~300之間的全部素數(shù),并且以每行10個數(shù)的標(biāo)準(zhǔn)輸出。#include
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年泉州幼兒師范高等??茖W(xué)校公開招聘編制內(nèi)碩士研究生工作人員備考題庫及一套答案詳解
- 2026年訥河市人民醫(yī)院招聘備考題庫完整答案詳解
- 2026年蘇州工業(yè)園區(qū)蓮花學(xué)校行政輔助人員招聘備考題庫附答案詳解
- 北川羌族自治縣人民檢察院2025年公開招聘聘用制書記員備考題庫及答案詳解一套
- 2026年重慶國創(chuàng)輕合金研究院有限公司招聘備考題庫及一套參考答案詳解
- 2026年雅安市名山區(qū)人民法院公開招聘勞務(wù)派遣人員9人的備考題庫附答案詳解
- 企業(yè)檔案歸檔與保管制度
- 中學(xué)學(xué)生家長委員會制度
- 養(yǎng)老院員工培訓(xùn)制度
- 2026年江孜縣委社會工作部關(guān)于公開招聘社區(qū)工作者的備考題庫及答案詳解一套
- 2025至2030中國紅霉素行業(yè)市場深度研究與戰(zhàn)略咨詢分析報告
- 2026年內(nèi)蒙古北方職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫帶答案解析
- 2025至2030數(shù)字PCR和實時PCR(qPCR)行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2026屆廣東省廣州市高三上學(xué)期12月零模歷史試題含答案
- 2026年汽車租賃安全生產(chǎn)管理制度模版
- 2026貴州安順市平壩區(qū)糧油收儲經(jīng)營有限公司招聘5人筆試備考試題及答案解析
- 開工第一課安全培訓(xùn)課件
- 急診成人社區(qū)獲得性肺炎臨床實踐指南(2024年版)解讀課件
- 華東理工大學(xué)2026年公開招聘工作人員46名備考題庫及答案詳解(新)
- 管道試壓專項施工方案
- 2025-2030中國固定電話行業(yè)市場深度調(diào)研及發(fā)展趨勢和投資前景預(yù)測研究報告
評論
0/150
提交評論