下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.掌握三種循環(huán)語(yǔ)句的格式、執(zhí)行與設(shè)計(jì)技巧,掌握分支程序結(jié)構(gòu)與循環(huán)程序結(jié)構(gòu)的配合(嵌套)使用,使用常用算法設(shè)計(jì)相應(yīng)的程序以解決實(shí)際問(wèn)題;2.實(shí)驗(yàn)重點(diǎn)——三種循環(huán)語(yǔ)句及循環(huán)嵌套3.實(shí)驗(yàn)難點(diǎn)——循環(huán)嵌套4.實(shí)驗(yàn)要求——重點(diǎn)討論for語(yǔ)句及幾種常用的程序設(shè)計(jì)方法:窮舉、遞推、迭代法二、實(shí)驗(yàn)原理1.while語(yǔ)句while語(yǔ)句的一般形式為:while(表達(dá)式)語(yǔ)句;其執(zhí)行準(zhǔn)則為當(dāng)表達(dá)式的值為非0時(shí)執(zhí)行while中的內(nèi)嵌語(yǔ)句。在表達(dá)式中,往往有一個(gè)變量用來(lái)控制循環(huán)的結(jié)束,這個(gè)變量叫循環(huán)控制變量。在這種循環(huán)中,必須在進(jìn)入循環(huán)之前給循環(huán)控制變量賦初值,而在循環(huán)體中,還要注意必須有一句使循環(huán)控制變量的值改變的語(yǔ)句,2.do-while語(yǔ)句一般形式為:do語(yǔ)句while(表達(dá)式);執(zhí)行準(zhǔn)則為:先執(zhí)行一次指定的內(nèi)嵌語(yǔ)句,而后判斷表達(dá)式,當(dāng)表達(dá)式的值為0時(shí)結(jié)束循環(huán)。在表達(dá)式中,往往有一個(gè)變量用來(lái)控制循環(huán)的結(jié)束,控制變量。在這種循環(huán)中,必須在進(jìn)入循環(huán)之前給循環(huán)控制變量賦初值,而在循環(huán)體中,還要注意必須有一句使循環(huán)控制變量的值改變的語(yǔ)句,這個(gè)變量叫循環(huán)3.for語(yǔ)句一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)執(zhí)行過(guò)程為:語(yǔ)句;①先求解表達(dá)式1;②求解表達(dá)式2,行下一步;若其值為假,則結(jié)束循環(huán);③求解表達(dá)式3;若其值為真,則執(zhí)行指定的內(nèi)嵌語(yǔ)句而后執(zhí)
④轉(zhuǎn)②;⑤執(zhí)行for下面的語(yǔ)句。說(shuō)明:①一般形式中的表達(dá)式1可以省略,此時(shí)應(yīng)該在for語(yǔ)句前給循環(huán)變量賦初值;如for(;i<=100;i++)sum=sum+i;②如果表達(dá)式2省略,則循環(huán)為無(wú)限循環(huán);③表達(dá)式3也可以省略,但此時(shí)應(yīng)該另外設(shè)法保證循環(huán)正常結(jié)束;如for(sum=0,i=1;i<=100;){sum=sum+i;i++}④可以只有表達(dá)式2,此時(shí)完全等同于⑤三個(gè)表達(dá)式都可以省略,此時(shí)相當(dāng)于while語(yǔ)句;while(1)語(yǔ)句,循環(huán)為無(wú)限循環(huán);如for(;;)⑥表達(dá)式1和表達(dá)式3可以是逗號(hào)表達(dá)式;⑦表達(dá)式2一般是關(guān)系表達(dá)式。4.break語(yǔ)句和continue語(yǔ)句①break語(yǔ)句一般形式為:break;其作用是使流程從循環(huán)體內(nèi)跳出循環(huán)體。②continue語(yǔ)句一般形式為:continue;其作用是結(jié)束本次循環(huán)(即結(jié)束本次循環(huán)體的執(zhí)行)。三、實(shí)驗(yàn)內(nèi)容:1.打印水仙花數(shù)(1━━1000)A.程序代碼。#include"stdio.h"main(){intn,a,b,c;for(n=1;n<=999;n++){a=n/100;b=(n-a*100)/10;c=(n-a*100-b*10);/*把數(shù)n的個(gè)位,十位,百位分離出來(lái),a代表百位數(shù),b代表十位數(shù),c代表個(gè)位數(shù)*/if(a*a*a+b*b*b+c*c*c==n)printf("%d\n",n);/*如果每一位上的數(shù)的立方和之等于數(shù)本身,即為水仙花數(shù),輸出之*/elsecontinue;/*否則,去判斷下一個(gè)數(shù)*/}}B.實(shí)驗(yàn)結(jié)果
2.求完數(shù)(1━━1000)A.程序代碼。#include"stdio.h"main(){inti,j,n,k,s;inta[30];/*a[30]是一個(gè)整型數(shù)組中討論.此數(shù),將在后緒課程1000,故數(shù)組之用途是裝一個(gè)數(shù)的所有因子,由于待判斷之最大數(shù)是組維數(shù)用30,保證足夠使用*/for(n=1;n<=1000;n=n+1)/*對(duì)于每個(gè)數(shù)都要進(jìn)行判斷較方便*/,用此種循環(huán){i=0;s=0;for(k=1;k<n;k++)/*對(duì)于k從1到n,每次增加1,判斷k是否是n的因子*/if(n%k==0){++i;a[i]=k;/*如果n被k除盡了,則k是因子,將其放入a[i]中,i初值為0,每當(dāng)出現(xiàn)一個(gè)因子時(shí)continue;,其值自動(dòng)增1,以便確定相應(yīng)的下標(biāo)*/}else,放入s,for(j=1;j<=i;j++)s=s+a[j];/*對(duì)于n的所有因子求其和中*/if(s==n)/*如果s與n相等,即一個(gè)數(shù)的所有因子之和等于數(shù)本身此數(shù)為完數(shù),輸出之*/{printf("%d",n);printf("itsfatorsare:");/*它的因子是for(j=1;j<=i;j++):*/if(j<i)printf("%d,",a[j]);/*逐個(gè)輸出因子elseprintf("%d",a[j]);printf("\n");/*否則,即s和n不相同時(shí),n不是完數(shù),中斷本次*/循環(huán),去判斷下一個(gè)n是否是完數(shù)*/}elsecontinue;}}B.運(yùn)行結(jié)果3.猴子吃桃問(wèn)題。A.程序代碼#include"stdio.h"main(){ints,k,i=1;for(k=100;k<=108;k++)i=i*2+2;printf("s=%d\n",i);}B.程序運(yùn)行結(jié)果4.求兩個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)。A.程序代碼#include"stdio.h"main(){intm,n,k,maxmn,minmn,gongyue,gongbei;scanf("%d,%d",&m,&n);if(m>n){maxmn=m;minmn=n;}else{minmn=m;maxmn=n;}for(k=minmn;k>=1;k--)if(m%k==0&&n%k==0){gongyue=k;break;}for(k=minmn;k<=m*n;k++)if(k%m==0&&k%n==0){gongbei=k;break;}printf("gongbei=%d\n",gongbei);printf("gongyue=%d\n",gongyue);}B.程序運(yùn)行結(jié)果5.用Xn+1=(Xn+a/Xn)/2求a^(1/2)。A.程序代碼#include"stdio.h"#include"math.h"main(){floatx,y0,y1,y2;scanf("%f,%f",&x,&y0);y1=(y0+x/y0)/2;while(fabs(y1-y0)>=1e-5){y0=y1;y1=(y0+x/y0)/2;}printf("y1=%f\n",y1);}B.程序運(yùn)行結(jié)果四、實(shí)驗(yàn)總結(jié)通過(guò)本次實(shí)驗(yàn),基本掌握了三種循環(huán)結(jié)構(gòu)的程序設(shè)計(jì),對(duì)于循環(huán)次數(shù)不確定的情況,使用while循球和dowhile循環(huán)比較合適(當(dāng)然也可以使用for循環(huán)),而對(duì)于循環(huán)次數(shù)確定的情況,使用for循環(huán)比較合適(當(dāng)然也可以使用前兩種)構(gòu)其中的任何一種可以完成任何循環(huán)問(wèn)題的程序設(shè)計(jì)。??偠灾珻語(yǔ)言的三種循環(huán)結(jié)如果要想循環(huán)不是在進(jìn)行到底時(shí)結(jié)束,想循環(huán)體中的語(yǔ)句在某種情況下不執(zhí)行,可以使用附:可以使用break語(yǔ)句中途脫離循環(huán),如果要continue語(yǔ)句。一.實(shí)驗(yàn)報(bào)告填寫要求實(shí)驗(yàn)報(bào)告填寫要求1.實(shí)驗(yàn)?zāi)康?一共有五部分)掌握……,了解…….,使用……進(jìn)行程序設(shè)計(jì);2.實(shí)驗(yàn)原理此部分寫有關(guān)題目所使用的理論與概念知識(shí);3.實(shí)驗(yàn)題目(1)(2)(3)…注:把教師布置的報(bào)告
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 提前解除勞動(dòng)合同的賠償計(jì)算與支付方式
- 聯(lián)合經(jīng)營(yíng)協(xié)議書范本
- 證人保證書范文2024年
- 買賣定金合同協(xié)議書
- 2024年外墻施工分包合同范本
- 2024中國(guó)銀行信托投資公司外匯固定資產(chǎn)貸款合同
- 互聯(lián)網(wǎng)投資合作協(xié)議書怎么寫
- 2024設(shè)備保修合同模板
- 土方設(shè)備互換協(xié)議
- 2024年二手車轉(zhuǎn)讓合同模板
- 項(xiàng)目主要施工管理人員情況
- 個(gè)人借條電子版模板
- 關(guān)于學(xué)習(xí)“國(guó)語(yǔ)普通話”發(fā)聲亮劍【三篇】
- 玻璃廠應(yīng)急預(yù)案
- 嬰幼兒游戲照料(嬰幼兒回應(yīng)性照護(hù)課件)
- 貨車進(jìn)入車間安全要求
- MAC地址-廠商對(duì)應(yīng)表
- 2022年中國(guó)出版業(yè)總體狀況分析
- BIM大賽題庫(kù)含答案
- 造紙術(shù)學(xué)習(xí)課件
- (完整版)譯林版四年級(jí)上冊(cè)Unit7單元測(cè)試
評(píng)論
0/150
提交評(píng)論