C語言函數(shù)與程序結(jié)構試驗_第1頁
C語言函數(shù)與程序結(jié)構試驗_第2頁
C語言函數(shù)與程序結(jié)構試驗_第3頁
C語言函數(shù)與程序結(jié)構試驗_第4頁
C語言函數(shù)與程序結(jié)構試驗_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——C語言函數(shù)與程序結(jié)構試驗

C語言程序設計試驗報告

專業(yè):計算機科學與技術班級:ACM班日期:2023年12月15日成績試驗組別6第次試驗4指導老師:盧萍

學生姓名:陳紹鵬學號:U202314349同組人姓名:試驗名稱:函數(shù)與程序結(jié)構試驗一、試驗目的

(1)熟悉把握函數(shù)的定義、聲明,函數(shù)調(diào)用與參數(shù)傳遞方法,以及,函數(shù)返回值類型的

定義和返回值使用。

(2)熟悉和把握不同存儲類型變量的使用。(3)熟悉多文件編譯技術。

二、試驗內(nèi)容

1.源程序改錯

下面是計算s=1!+2!+3!+…+n!的源程序。要求:

在計算機上對這個源程序進行調(diào)試修改,使之能夠正確完成指定任務。2.源程序修改替換

(1)修改上述源程序中的sum_fac函數(shù),使其計算量最小。(2)修改上述源程序中的sum_fac函數(shù),計算

s=1+1/2!+1/3!+…+1/n!3.跟蹤調(diào)試

下面是計算fabonacci數(shù)列前n項和的源程序,現(xiàn)要求單步執(zhí)行該程序,并觀測p,i,sum,n值。(1)剛執(zhí)行完〞scanf(“%d〞,〞語句時,p,i值是多少?(2)從fabonacci函數(shù)返回后,光條停留在哪個語句上?(3)進入fabonacci函數(shù)時,watch窗口顯示的是什么?(4)當i=3時,從調(diào)用fabonacci函數(shù)到返回,n值如何變化?

4.程序設計

編寫并上機調(diào)試運行實現(xiàn)以下功能的程序:

(1)編寫一個程序,讓用戶輸入兩個整數(shù),計算兩個數(shù)的最大公約數(shù)并輸

出之。要求用遞歸函數(shù)實現(xiàn)求最大公約數(shù),同時以單步執(zhí)行方式執(zhí)行改程序,觀測其遞歸過程。

(2)編寫一個程序,驗證歌德巴赫猜想:一個大于等于4的偶數(shù)都是兩個

素數(shù)之和。

(3)編寫一個程序,證明對于在符號常量BEGIN和END之間的偶數(shù)這一猜

測成立。例如,假使BEGIN為10,END為20,則程序的輸出應為:GOLDBACH’SCONJECTURE:

Everyevennumbern>=4isthesumoftwoprimes.10=3+7

12=5+7……

20=3+17

5.選做題

假設一個程序由file1.c和file2.c兩個源文件及一個file.h頭文件組成,試編輯該多文件c程序,并編譯和鏈接,然后運行生成可執(zhí)行文件。

。

三、試驗步驟及結(jié)果

1.正確源程序:

#includeintmain()

{intk;longsum_fac(int);for(k=1;kintmain()

{intk;longsum_fac(int);for(k=1;k1;n--)s=(s+1)*(n-1);returns;}輸出結(jié)果為:

k=1thesumis1k=2thesumis3k=3thesumis9k=4thesumis33k=5thesumis153k=6thesumis873Pressanykeytocontinue(2)正確源程序:

#includefloatmain()

{intk;floatsum_fac(int);for(k=1;kvoidmain(){intm,n,t,r;

printf(\輸入兩個正整數(shù):\scanf(\if(nlongpri(longk);voidmain(){longx,m;intfound=0;

printf(\輸入大于等于4的偶數(shù)x:\scanf(\

for(m=2;m#defineBEGIN10#defineEND20intpri(intk);voidmain(){inti,n,found;

r=n%m;n=m;m=r;}

printf(\它們的最大公約數(shù)為:%d\\n\

printf(\

printf(\for(n=(BEGIN+1)/2*2;n=4isthesumoftwoprimes.10=3+712=5+714=3+1116=3+1318=5+13

Pressanykeytocontinue

5.文件為file1.c

#include\intx,y;charch;intmain(void){x=10;y=20;ch=getchar();

printf(\func1();return0;}file2.c

#include\voidfunc1(void){

printf(\found=1;}

x++;y++;ch++;

printf(\}file.h

#includeexternintx,y;externcharch;voidfunc1(void);輸出為:

y

infile1x=10,y=20,chisyinfile2x=11,y=21,chiszPressanykeytocontinue

四、試驗體會

本次試驗收獲頗豐:

1;源程序改錯,使我更加熟悉了一些基礎的算法,和函數(shù)的調(diào)用方法。

2:源程序修改替換,更加讓我獲益匪淺,使我明白了算法可以變得更簡單,并且怎樣設計可以使程序的計算量最小。我認為這很好的鍛煉了我的思維。

3:跟蹤調(diào)試,更是讓我學會了怎樣使用單步執(zhí)行,以前一直不是很會用,不過做了此題之后,我深刻的了解了單步執(zhí)行的使用方法。

4:程序設計,這3道題鍛煉了我的程序設計能力,使我把握了一些基本程序的設計思路,程序設計成功后,頗有成就感。5,6:多文件編輯,讓我更好的把握了vc的用法和工程的建立,多文件的編譯和鏈接,等等。

x++;y++;ch++;

printf(\}file.h

#includeexternintx,y;externcharch;voidfunc1(void);輸出為:

y

infile1x=10,y=20,chisyinfile2x=11,y=21,chiszPressanykeytocontinue

四、試驗體會

本次試驗收獲頗豐:

1;源程序改錯,使我更加熟悉了一些基礎的算法,和函數(shù)的調(diào)用方法。

2:源程序修改替換,更加讓我獲益匪淺,使我明白了算法可以變得更簡單,并且怎樣設計可以使程序的計算量最小。我認為這很好的鍛煉了我的思維。

3:跟蹤調(diào)試,更是讓我學會

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論