




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)名:循環(huán)結(jié)構(gòu)實(shí)驗(yàn)?zāi)康?、掌握在程序設(shè)計(jì)條件型循環(huán)結(jié)構(gòu)時,如何正確地設(shè)定循環(huán)條件,以及如何控制循環(huán)的次數(shù)。2、了解條件型循環(huán)結(jié)構(gòu)的基本測試方法。3、掌握如何正確地控制計(jì)數(shù)型循環(huán)結(jié)構(gòu)的次數(shù)4、了解對計(jì)數(shù)型循環(huán)結(jié)構(gòu)進(jìn)行測試的基本方法5、了解在嵌套循環(huán)結(jié)構(gòu)中,提高程序效率的方法二、實(shí)驗(yàn)內(nèi)容(一)題目11、題目內(nèi)容描述1、下面是一個計(jì)算e的近似值(使誤差小于給定的S)的程序。main()(doublee=1.0,x=1.0,y,detax;inti=1;printf(npleaseinputenteraerror:);scanf(%lf”,&detax);y=1/x;while(y=detax)(x
2、=x*I;y=1/x;e=e+y;+i;)printf(12.10lf”,e);)2、實(shí)驗(yàn)步驟(1)閱讀上面的程序,寫出程序所依據(jù)的計(jì)算公式。(2)當(dāng)輸入的detax各是什么值時,能分別使程序按下面的要求運(yùn)行:.不進(jìn)入循環(huán);.只循環(huán)一次;.只循環(huán)兩次;.進(jìn)入死循環(huán)(程序?qū)⒂肋h(yuǎn)循環(huán)下去)。為了能知道程序循環(huán)了多少次,應(yīng)該在程序中增加一條什么樣的語句?(3)原程序中while語句中的y=detax,分別換成ydetax,y=detax,ydetax,y=detax,觀察程序運(yùn)行將會有什么變化。假如不知道機(jī)器內(nèi)的程序中的各語句實(shí)際上是什么,分別輸入什么樣的detax來測試出while語句的循環(huán)條件寫
3、錯了。(4)把原程序中while語句之前的y=1/x語句去掉,觀察程序的運(yùn)行將會發(fā)生什么樣的變化。假如不知道機(jī)器內(nèi)的程序?qū)嶋H上是怎么寫的,輸入什么樣的detax就能測試出少了上述這條語句。(5)若把原程序中的+i換成i+,觀察程序的運(yùn)行發(fā)生了什么變化?假如不知道這條語句到底是怎么寫的輸入什么樣的detax就能測試出這條語句寫錯了(6)把原程序中的while結(jié)構(gòu)改寫成dowhile結(jié)構(gòu),再分別按上述的(2)、(3)兩步進(jìn)行實(shí)驗(yàn)。2、輸入和輸出信息描述及數(shù)據(jù)類型確定;(1)輸入數(shù)據(jù)序號輸入數(shù)據(jù)描述數(shù)據(jù)類型1e,x,y,detaxdouble2iint(2)輸出數(shù)據(jù)序號輸出數(shù)據(jù)描述數(shù)據(jù)類型1Edou
4、ble3、程序源代碼(填寫程序調(diào)試正確后的代碼)#includeintmain()doublee,x,y,detax;inti;e=1.0;x=1.0;i=1.0;printf(pleaseinputenteraerror:n);scanf(%lf,&detax);y=1/x;while(y=detax)x=x*i;y=1/x;e=e+y;+i;printf(%12.10lf,e);return0;error:stray241inprogram|5error:stray241inprogram|是將scanf(%lf”,&detax);改為6error:Iundeclared(firstuse
5、inthisfunction)|是將I改為i7c|19|error:stray241inprogram|是將printf(12.10lf”,e);改為printf(%12.10lf,e);7、程序調(diào)試錯誤錯誤信息(列出出錯語句以及出錯是否解決方法序號提示)解決1格式不對是手動調(diào)整2warning:returntypedefaultstoint-Wreturn-type|是在main()前加上int3error:stray243inprogram|是將doublee=1.0,x=1.0,y,detax;inti=1;error:stray273inprogram|改為doublee,x,y,de
6、tax;inti;e=1.0;x=1.0;i=1.0;4程序e近似值main.c|In是將printf(npleaseinputenteraerror:functionmain改為printf(pleaseinputenteraerror:n););卜Wreturn-type|8、測試與結(jié)果分析(1)測試數(shù)據(jù)與結(jié)果測試測試用例選取原測試輸入測試輸出結(jié)果是否結(jié)果分析序號因數(shù)據(jù)正確1不循環(huán)21.0000000000是2循環(huán)一次1是3循環(huán)兩次0.7是死循環(huán)0無是(2)相關(guān)問題回答(1)閱讀上面的程序,寫出程序所依據(jù)的計(jì)算公式。答:e=1+1/2+1/6+1/i!(2)當(dāng)輸入的detax各是什么值時,
7、能分別使程序按下面的要求運(yùn)行:只循環(huán)兩次; .進(jìn)入死循環(huán)(程序?qū)⒂肋h(yuǎn)循環(huán)下去)。 為了能知道程序循環(huán)了多少次,應(yīng)該在程序中增加一條什么樣的語句?答:大于1不進(jìn)入循環(huán),等于1只循環(huán)一次,大于0.5小于1只循環(huán)兩次,等于0進(jìn)入死循環(huán)(程序?qū)⒂肋h(yuǎn)循環(huán)下去)。應(yīng)增加printf(i=%d,i-1);(3)原程序中while語句中的y=detax,分別換成ydetax,y=detax,ydetax,ydetax,輸入不小于1時不進(jìn)行循環(huán),輸出1;輸入小于1時則會進(jìn)行循環(huán)。y=detax,當(dāng)輸入為0時,y被賦值為0,直接結(jié)束循環(huán);當(dāng)輸入不為0,則進(jìn)入死循環(huán)。ydetax,輸入不大于1時不進(jìn)行循環(huán),輸出為1
8、;輸入大于1時則進(jìn)入死循環(huán)。y=detax,輸入不小于1時進(jìn)入死循環(huán);輸入小于1則不進(jìn)行循環(huán),輸出1。分別輸入3,0.5,1即可。(4)把原程序中while語句之前的y=1/x語句去掉,觀察程序的運(yùn)行將會發(fā)生什么樣的變化。假如不知道機(jī)器內(nèi)的程序?qū)嶋H上是怎么寫的,輸入什么樣的detax就能測試出少了上述這條語句。答:輸入1.(5)若把原程序中的+i換成i+,觀察程序的運(yùn)行發(fā)生了什么變化?假如不知道這條語句到底是怎么寫的輸入什么樣的detax就能測試出這條語句寫錯了.(6)把原程序中的while結(jié)構(gòu)改寫成dowhile結(jié)構(gòu),再分別按上述的(2)、(3)兩步進(jìn)行實(shí)驗(yàn)。答:(2)步與原來while相同
9、。(3)步當(dāng)有的輸入條件不符合判斷條件時,仍會先進(jìn)行一次循環(huán)后結(jié)束,而while則直接結(jié)束。#includeintmain()doublee,x,y,detax;/定義變量inti;e=1.0;/賦值x=1.0;i=1.0;printf(npleaseinputenteraerror:);scanf(%lf,&detax);/輸入detaxy=1/x;dox=x*i;y=1/x;e=e+y;+i;)while(y=detax);/執(zhí)行do-while循環(huán)printf(%12.10lfn,e);/輸出printf(i=%dn,i-2);)(二)題目2c|20|warning:controlrea
10、chesendofnon-voidfunction在后一個大號前加上return0;.不進(jìn)入循環(huán);.只循環(huán)一次;1、題目內(nèi)容描述下面是一個用以計(jì)算的C程序。main()inti,j;longsum=0;for(i=1,i=20,i+)for(j=1;j=3;j+)sum=sum+(i+1)*(i+1)*(j+2)printf(sumis:%dn”,sum);)2、實(shí)驗(yàn)步驟(1)將上述程序中的和分別做什么樣修改,能使程序按如下要求運(yùn)行:.不循環(huán);.外循環(huán)1次,不進(jìn)入內(nèi)循環(huán);.外循環(huán),內(nèi)循環(huán)各1次;.外循環(huán)1次,內(nèi)循環(huán)2次;外循環(huán)2次,內(nèi)循環(huán)1次;.外循環(huán)19次,內(nèi)循環(huán)3次;.外循環(huán)20次,內(nèi)循環(huán)
11、2次;.外循環(huán)21次,內(nèi)循環(huán)3次。(2)試修改程序,以便能知道控制表達(dá)式i=1;j=20;i+和j=1;j3;j+=各執(zhí)行了多少次?(3)內(nèi)循環(huán)與外循環(huán)的控制表達(dá)式進(jìn)行對換,觀察程序的執(zhí)行結(jié)果有無變化,并且觀察對換后的外循環(huán)與內(nèi)循環(huán)控制表達(dá)式執(zhí)行的總次數(shù)有無變化?(4)將(3)中程序?qū)憺閙ain()inti,j,k;longsum=0;for(j=1.j=3.j+)k=j+2;for(i=1;i=20;i+)sum=sum+(i+1)*(i+1)*k;)printf(sumis:%dn”,sum);)觀察程序的執(zhí)行結(jié)果有無變化?(5)將(3)中程序改寫為main()intI,j,m,n;lon
12、gsum=0;for(j=1;j=3;j+)(m=j+2;for(I=1;j=20;I+)(n=I+1;sum=sum+m*m*k;printf(sumis:%dn”,sum);觀察程序的執(zhí)行結(jié)果有無變化?(6)在(5)的程序中,若將外循環(huán)控制表達(dá)式分別做如下修改:.j=1;j=3;j+.j=1;j3;j+.j=1;j3;j-.j=1;j3;j+.j=0;j=3;j+=.j=0;j3;j+j=1;j=3;j+j=1;j3;+j2、輸入和輸出信息描述及數(shù)據(jù)類型確定;(1)輸入數(shù)據(jù)序號輸入數(shù)據(jù)描述1I,j2sum(2)輸出數(shù)據(jù)序號輸出數(shù)據(jù)描述1sum3 3、程序源代碼(填寫程序調(diào)試正確后的代碼)#
13、includemain()(inti,j;longsum=0;for(i=1;i=20;i+)for(j=1;j=3;j+)sum=sum+(i+1)*(i+1)*(j+2);printf(sumis:%dn,sum);4 4、程序調(diào)試錯誤錯誤信息(列出出錯語句以及出錯提示)序號1|6|warning:valuecomputedisnotused卜Wunused-value|2|2|warning:returntypedefaultstoint-Wreturn-type|3|9|error:expected;beforeprintf|4|9|error:stray241inprogram|觀察
14、程序的執(zhí)行結(jié)果有無變化數(shù)據(jù)類型intlongint數(shù)據(jù)類型Longint是否解決方法解決是將for(i=1;i=20;i+)改為for(i=1;i3;j+).外循環(huán),內(nèi)循環(huán)各1次:改為for(i=1;,i=1;i+)for(j=1;j=1;j+).外循環(huán)1次,內(nèi)循環(huán)2次:改為for(i=1;i=1;i+)intj=1;for(;j=2;j+).外循環(huán)2次,內(nèi)循環(huán)1次:改為for(i=1;i=2;i+)for(;j2;j+).外循環(huán)19次,內(nèi)循環(huán)3次:改為for(i=1;i=19;i+)intj=1;for(;j=3;j+).外循環(huán)20次,內(nèi)循環(huán)2次:改為for(i=1;i=20;i+)intj
15、=1;for(;j=2;j+).外循環(huán)21次,內(nèi)循環(huán)3次:改為for(i=1;i=21;i+)intj=1;for(;j=3;j+)(2)試修改程序,以便能知道控制表達(dá)式i=1;j=20;i+和j=1;j3;j+=各執(zhí)行了多少次?答:添加printf(i=%d,j=%d,i,j);分別執(zhí)行60和20次。(3)內(nèi)循環(huán)與外循環(huán)的控制表達(dá)式進(jìn)行對換,觀察程序的執(zhí)行結(jié)果有無變化,并且觀察對換后的外循環(huán)與內(nèi)循環(huán)控制表達(dá)式執(zhí)行的總次數(shù)有無變化?答:無,次數(shù)外循環(huán)3次,內(nèi)循環(huán)60次,內(nèi)循環(huán)不變,外循環(huán)次數(shù)改變(4)將(3)中程序改寫觀察程序的執(zhí)行結(jié)果有無變化?無。(5)將(3)中程序改寫觀察程序的執(zhí)行結(jié)果有
16、無變化?無。(6)在(5)的程序中,若將外循環(huán)控制表達(dá)式分別做如下修改:j=1;j=3;j+.j=1;j3;j+.j=1;j3;j-.j=1;j3;j+.j=0;j=3;j+=.j=0;j3;j+j=1;j=3;j+j=1;j3;+j觀察程序的執(zhí)行結(jié)果有無變化答:(1).j=1;j=3;j+結(jié)果0.(4)j=1;j3;j+結(jié)果0(5)j=1;j3;j一結(jié)果不運(yùn)行(7)j=1;j3;j+結(jié)果23170(8)j=0;j=3;j+=結(jié)果有錯(9)j=0;j3;j+結(jié)果29790(10)j=1;j=3;j+結(jié)果39720.(11)j=1;j=1;i-)printf(sumis:%dn,sum);加上r
17、eturn0;繪制等腰空心梯形,下底和高都為輸入變量右:2、程序源代碼(填寫程序調(diào)試正確后的代碼)#includeintmain()inti,x,n,j;/printf(pleaseenterthen:);scanf(%d,&n);/n,n=5時,打印圖形如定義變量輸入格式for(j=0;jn-i;j+)for(x=1;x1&x2*i+n-2&(i!=n)&(i!=1)if(x=1|x=2*i+n-2|i=1|i=n)return0;3、測試與結(jié)果分析(四)題目41、題目內(nèi)容描述不對就猜下一個數(shù)6、程序源代碼(填寫程序調(diào)試正確后的代碼)猜十次:#includeintmain()i=1;sran
18、d(time(NULL);for(i=1;i=10;i+)if(numbermagic)printf();/當(dāng)j小于n-i時循環(huán)輸出空格(1)測試測試數(shù)據(jù)與結(jié)果測試用例測試輸入數(shù)據(jù)測試輸出結(jié)果是否結(jié)果分析序號選取原因正確正確正確13正確printf();/若滿足條件則打印空格printf(*);/若滿足則打印*printf(n);/換行想一個1100之間的數(shù),猜對:right,猜錯:wrong并提示大小。(1)最多猜10次猜多個數(shù),2)10次猜#include/預(yù)處理magic#include/時間函數(shù)intmagic,number,i;/定義變量magic=rand()%100+1;/產(chǎn)生隨機(jī)數(shù)printf(請輸入你猜的數(shù)字:n);scanf(%d,&number);/輸入nu
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院顧問合同范本
- 勞務(wù)施工電梯合同范本
- 加工制造合同范本
- 協(xié)議單合同范本
- 北京裝修勞務(wù)合同范本
- 加盟串串香合同范本
- 住宅用地轉(zhuǎn)讓買賣合同范本
- 倉庫維修協(xié)議合同范本
- 個人定制菜地合同范本
- 中介轉(zhuǎn)租店鋪合同范本
- 《攝影圖片分析》課件
- 青少年社會支持評定量表
- kW直流充電樁的設(shè)計(jì)
- 施工圖總目錄
- 《裝配化工字組合梁鋼橋六車道3x30m通用圖》(3911-05-2021)【可編輯】
- 02S404給排水圖集標(biāo)準(zhǔn)
- 人民醫(yī)院診斷證明書
- 六年級勞動與技術(shù)下冊《課程綱要》
- 掛牌督辦安全生產(chǎn)重大事故隱患銷號申請表
- 2023纖維增強(qiáng)水泥擠出成型中空墻板
- 頸源性頭痛課件
評論
0/150
提交評論