版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言程序設(shè)計實驗報告專業(yè) 班級日期 11月26日成績實驗組別 第 2(2.4)次實驗 指導(dǎo)教師 李開學(xué)生姓名 學(xué)號同組人姓名實驗名稱流程控制實驗一、實驗?zāi)康?1) 熟悉和掌握函數(shù)的定義、聲明;函數(shù)調(diào)用與參數(shù)傳遞方法;以及函數(shù)返回值類型 的定義和返回值使用。(2) 熟悉和掌握不同存儲類型變量的使用。(3) 熟悉多文件編譯技術(shù)。二、實驗任務(wù)4.2實驗內(nèi)容及要求1 源程序改錯下面是計算s=1!+2!+3!+n!的源程序,在這個源程序中存在若干語法和邏輯錯誤。 要求在計算機上對這個例子程序進行調(diào)試修改,使之能夠正確完成指定任務(wù)。#in cludevoid mai n(void)int k;for(k
2、=1;k6;k+)printf(k=%dtthe sum is %ldn,k,sum_fac(k); -long sum_fac(i nt n) -long s=0;int i;long fac;for(i=1;i=n ;i+)fac*=i;s+=fac;return s;2 源程序修改替換(1)修改第1題中sum_fac函數(shù),使其計算量最小。(2)修改第1題中sum_fac函數(shù),計算s二1 丄 丄亠 亠2!3!n!。3 跟蹤調(diào)試計算fabonacci數(shù)列前n項和的程序如下:其中,Io ng sum=0,*p=∑聲明p為長整型指針并用 &su m取出sum的地址對p初始化。*p 表示引
3、用p所指的變量(*p即sum)。void mai n(void)int i,k;long sum=0,*p=& sum;sea nf(%d,&k);for(i=1;i=4 is the sum of two primes.10=3+712=5+720=3+175. 選做題假設(shè)一個C程序由file1.c 、file2.c 兩個源文件和一個 file.h 頭文件組成,file1.c file2.c 和file.h 的內(nèi)容分別如下,試編輯該多文件C程序,并編譯和鏈接。然后運行生成的可執(zhí)行文件。源文件file1.c 的內(nèi)容為:#i nclude file.hint x,y; /*外部變量的定義性說明
4、*/char ch; /*外部變量的定義性說明 */void mai n(void)x=10;y=20;ch=getchar();prin tf(in file1 x=%d,y=%d,ch is %cn,x,y,ch);fun c1();源文件file2.c 的內(nèi)容為:#in clude file.hvoid fun cl(void) x+;y+; ch+;printf(in file2 x=%d,y=%d,ch is %cn,x,y,ch);的內(nèi)容為:頭文件file.h外部變量的引用性說明*/外部變量的引用性說明*/函數(shù)原型*/#i nclude extern int x,y; /* ext
5、er n char ch; /* void fun c1(void); /* fund4.3多源文件C程序的建立(結(jié)合第5題)三、實驗步驟及結(jié)果(要求給出源程序和程序運行結(jié)果。另外,根據(jù)實驗內(nèi)容,記錄編輯、編譯、鏈接、調(diào)試程 序的操作過程和實驗現(xiàn)象)(2.4內(nèi)容)1 源程序改錯下面是計算s=1!+2!+3!+n!的源程序,在這個源程序中存在若干語法和邏輯錯誤。 要求在計算機上對這個例子程序進行調(diào)試修改,使之能夠正確完成指定任務(wù)。#in cludevoid mai n(void)int k;for(k=1;k6;k+)prin tf(k=%dtthe sum is %ldn,k,sum_fac(
6、k);long sum_fac(i nt n)long s=0;int i;long fac;for(i=1;i=n ;i+)fac*=i;s+=fac;return s;(修改后)#in cludelong sum_fac(i nt n);int main( void)int k;for(k=1;k6;k+)printf(k=%dtthe sum is %ldn,k,sum_fac(k); - long sum_fac(i nt n)long s=0;int i;long fac=1;for(i=1;i=n ;i+)fac*=i;s+=fac; return s;2 源程序修改替換(1)修改
7、第1題中sum_fac函數(shù),使其計算量最小。#i ncludelong sum_fac(i nt n);int main (void)int k;for(k=1;k6;k+)printf(k=%dtthe sum is %ldn,k,sum_fac(k); return 0;long sum_fac(i nt n) _staticlongs=0;staticlongfac=1;fac*=n;s+=fac;return s;1 1 1 s = 1+ + 一 + + (2)修改第1題中sum_fac函數(shù),計算2!3!n!。#in cludefloat sum_fac(i nt n);int mai
8、n( void)int k;for(k=1;k6;k+)prin tf(k=%dtthe sum is %fn ,k,sum_fac(k); float sum_fac(i nt n)float s=0;int i;long fac=1;for(i=1;i=n ;i+)fac*=i;s+=1.0/fac;return s;3 跟蹤調(diào)試計算fabonacci數(shù)列前n項和的程序如下:其中,Io ng sum=0,*p=∑聲明p為長整型指針并用 &su m取出sum的地址對p初始化。*p 表示引用p所指的變量(*p即sum)。void mai n(void)int i,k;long sum=
9、0,*p=& sum;sca nf(%d,&k);for(i=1;i=k;i+)sum+=fab on acci(i);prin tf(i=%dtthe sum is %ldn,i,*p);long fabon acci (int n)if(n=1 | n=2) return 1;elseretur n fabon acc i(n-1)+fab on acc i(n-2);單步執(zhí)行程序,觀察p,i,sum, n 值。(1)剛執(zhí)行完scanf(%d,&k);語句,p,i值是多少?i=29p=5sum=0(2) 從fabonacci函數(shù)返回后光條停留在哪個語句上? printf(i=%dtthe
10、sum is %ldn,i,*p);(3) 進入fabonacci函數(shù),watch窗口顯示的是什么?:m-和7 w l -J 心(4)當i=3,從調(diào)用fabonacci函數(shù)到返回,n值如何變化?n=3 到 n=2 到 n=1 到 n=34.程序設(shè)計(1)編程讓用戶輸入兩個整數(shù),計算兩個數(shù)的最大公約數(shù)并且輸出之(要求用遞歸函數(shù)實 現(xiàn)求最大公約數(shù))。同時以單步方式執(zhí)行該程序,觀察遞歸過程。#in clude#in cludeint Greatest_Com mon _divisor(i nt m,i nt n);int main( void)int m,n;prin tf(i nput two n
11、u mber n);scan f(%d%d,&m,&n);Greatest_Com mon _divisor(m, n); return 0;int Greatest_Com mon _divisor(i nt m,i nt n)int i;i=abs(m-n);if(i=m)|(i=n)prin tf(%d,i);elseif(mn)Greatest_Com mon _divisor( n,i); - -elseGreatest_Com mon _divisor(m,i);D:CqwertyuibinDebugqwertyulexeinput twq nunber49 5Eocess ret
12、urned 0 =4 is the sum of two primes. 10=3+7 12=5+720=3+17#in cludeint isprime(i nt n)int j,x;for(j=2;j=4 is the sum of two primes n); for ( ;n = m;n+=2) for(i=2;i=4 is the sum of tuo primesL0=3+7L2=5*7L4-3+11L$-3*13L8=5*13i0=3*17Process returned 0 xecution tine : 2.486 s ?i*frss 乜ny Key tn continue,
13、5 選做題假設(shè)一個C程序由filel.c 、file2.c 兩個源文件和一個 file.h 頭文件組成,filel.c file2.c 和file.h 的內(nèi)容分別如下,試編輯該多文件C程序,并編譯和鏈接。然后運行生成的可執(zhí)行文件。源文件filel.c 的內(nèi)容為:#i nclude file.hint x,y; /*外部變量的定義性說明 */char ch; /*外部變量的定義性說明 */void mai n(void)x=10;y=20;ch=getchar();printf(in file1 x=%d,y=%d,ch is %cn,x,y,ch);fun c1();源文件file2.c 的內(nèi)
14、容為:#i nclude file.hvoid fun c1(void)x+;y+;ch+;prin tf(in file2 x=%d,y=%d,ch is %cn,x,y,ch);頭文件file.h 的內(nèi)容為:#i nclude extern int x,y; /*外部變量的引用性說明 */extern char ch; /*外部變量的引用性說明 */void fun cl(void); /* funci函數(shù)原型*/#in elude */*/extern int x,y; /*exter n char ch; /* void fun c1(void); /* fund夕卜部變量的引用性說明 夕卜部變量的引用性說明 函數(shù)原型*/int x,y; /*外部變量的定義性說明*/char ch; /*外部變量的定義性說明*/void mai n(void)x=10;y=20;ch=getchar();prin tf(in filel x=%d,y=%d,ch is %cn,x,y,ch); fun c1();void fun c1(void)x+;y+;ch+;prin tf(in file2 x=%d,y=%d,ch is %cn,x,y,ch); Took Toeli+ 胃Ccuh-fi lodes 弓 曲旳 Mip:t
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 塑料發(fā)條玩具產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 色氨酸制劑項目運營指導(dǎo)方案
- 電鍍參數(shù)測試儀項目運營指導(dǎo)方案
- 校園餐整治存在的問題及建議
- 幼兒園小班的課程開發(fā)計劃
- 凝聚團隊力量的工作總結(jié)計劃
- 創(chuàng)新教學(xué)法在班級管理中的應(yīng)用計劃
- 種植新紀元:科技農(nóng)業(yè)-揭秘農(nóng)作物高效種植技術(shù)
- 咨詢咨詢合同三篇
- 產(chǎn)前檢查流程
- 人教版八年級上冊數(shù)學(xué)期中考試試卷含答案
- 2023年上海各區(qū)初三數(shù)學(xué)一模卷
- 伴游旅行行業(yè)分析
- 貝塔內(nèi)酰胺類抗生素的護理
- 部編版二年級上冊黃山奇石課件
- 計算機畢業(yè)設(shè)計jsp家庭美食食譜網(wǎng)站系統(tǒng)vue論文
- 數(shù)學(xué)家的故事
- 讀書分享遙遠的救世主
- 室內(nèi)防火通道設(shè)立提高逃生速度
- 《傾斜角與斜率》課件
- 名著導(dǎo)讀:《西游記》課件
評論
0/150
提交評論