第一篇:C語言程序設計實驗指導及報告
太原理工大學現代科技學院
C語言程序設計課程 實驗報告
專業班級
學
號
姓
名
指導教師
C語言程序設計 實驗指導及報告
實驗說明:
1、共4次實驗,每次實驗完成1個內容。
2、實驗報告命名統一為:C語言_專業班級_學號_姓名
3、自備U盤,在實驗前認真閱讀實驗要求,在實驗中及時記錄保存實驗結果和調試過程,并填寫到實驗報告對應位置,實驗結束后將該實驗報告電子版在指定時間內提交給各班學習委員。
實驗一
C語言開發工具VC6.0和順序結構程序設計
1、實驗目的:熟練掌握VC6.0開發工具進行程序設計及調試,能編寫簡單的C程序并完成調試。
2、實驗內容1:結合課堂講授學習VC6.0開發工具及調試方法。
單文件編輯運行方法:
打開VC++6.0,如圖1所示
(圖1)
選擇“文件”→“新建”,打開如圖2所示
(圖2)
選擇“文件”項,如圖3所示
(圖3)
選擇“C++ Source File”項,并在“文件名”項目下輸入“sum.c”如圖4所示
(圖4)
單擊“確定”,打開如圖5所示
(圖5)
輸入如上源代碼,如圖6所示
(圖6)
選擇“組建”→“編譯”(或按Ctrl+F7組合鍵),打開如圖7所示
(圖7)
在下端的輸出窗口會有錯誤和警告的提示,如果沒有錯誤選擇“組建”→“執行”(或按Ctrl+F5組合鍵)即可出現運行結果,如圖8所示
(圖8)
程序調試常用方法:
檢查錯誤:
用鼠標單擊調試信息窗口中右側的向上箭頭,可以看到出錯的位置和性質, 進行改錯時, 雙擊調試信息窗口中的報錯行, 這時在程序窗口中出現一個粗箭頭指向被報錯的程序行,一般在箭頭的當前行或上一行,可以找到出錯語句。
修改錯誤后必須重新進行編譯鏈接。從第一個錯誤開始修改,每修改一個錯誤就重新進行編譯鏈接。
設置斷點、單步跟蹤、查看變量等,詳細使用方法見下:
按快捷鍵F5或點擊以下圖片上標記的圖標進入調試模式。
打開調試工具條,一般情況下當你按F5鍵后會自動彈出,如果沒有彈出的話,右擊工具欄空白處,會彈出下圖,選中調試,就會出現調試工具條。
接下來,在監視窗口中添加你要監視數據變化的變量。
按F11逐語句的調試代碼,如果某一語句是一函數,你不希望進入該函數時,F10逐過程來查看,在代碼的調試過程中,通過監視窗口查看變量值的變化,從而確定代碼是否有問題。
如果希望跳出某一函數時,按快捷鍵Shift+F11,或者直接點擊調試工具條上的按鈕就可以跳出該函數了。
如果只是希望調試某一部分代碼的話,可以設置斷點來調試,調試方法如上,只是在要調試的代碼之間用斷點來分開。設置斷點時,光標放在你要設置斷點的那行,按F9或點擊編譯微型條上面的類似手狀的按鈕即可。
3、實驗內容2:以下程序有錯誤,請調試改正錯誤,使之能正常運行。
程序:
/* 登陸密碼三次驗證程序*/ #include
/* 用于保存輸入的密碼*/ int i;
/*循環控制變量*/ int nFlag=1
/*密碼匹配成功的標志*/
for(i=0;((nFlag=(87569!= nPwd))&& i<3);++i)
{ /* 默認設定密碼為87569,可以根據需要進行設定*/
printf(“please input the password:”);
scanf(“%d”,&nPwd);}
if(nFlag=0)
printf(“the password is right!n”);
else
printf(“over the times and the password you input is error!n ”);}
修改程序及運行結果:#include
/* 用于保存輸入的密碼*/ int i;
/*循環控制變量*/ int nFlag=1;
/*密碼匹配成功的標志*/
for(i=0;((nFlag=(87569!= nPwd))&& i<3);++i)
{ /* 默認設定密碼為87569,可以根據需要進行設定*/
printf(“please input the password:”);
scanf(“%d”,&nPwd);}
if(nFlag=0)
printf(“the password is right!n”);else
printf(“over the times and the password you input is error!n ”);}
4、實驗內容3:習題第三章第1題:假如國民生產總值的年增長率為9%,計算10年后國民生產總值與現在相比增長多少百分比,計算公式為
p?(1?r)n
r為年增長率,n為年數,p為與現在相比的倍數。源程序及運行
結
果
:
5、實驗總結
實驗二
選擇結構和循環結構
1、實驗目的:理解和掌握選擇結構和循環結構的語法知識,理解自頂向下、逐步細化的結構化程序設計思想,并能熟練應用。
2、實驗內容1:習題第四章第4題:有3個整數a,b,c,由鍵盤輸入,輸出其中最大的數。源程序及運行結果:
3、實驗內容2:習題第五章第8題:輸出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各數字立方和等于該數本身。如:153是一個水仙花數153=13+53+33。源程序及運行結果
:
4、附加內容(非必做,供學有余力的同學):習題第五章第17題:兩個乒乓球隊進行比賽,各出3人,甲隊為A,B,C,乙隊為X,Y,Z。已抽簽決定比賽名單,有人向隊員打聽比賽名單,A說他不和X比,C說他不和X,Z比,請編程找出比賽名單。源程序及運行結果:
5、實驗總結
實驗三
數組和函數
1、實驗目的:理解和掌握數組和函數的語法知識,理解模塊化編程思想,并能熟練應用。
2、實驗內容1:習題第六章第3題:求一個3 ? 3的整型矩陣對角線元素之和。源程序及運行結果:
3、實驗內容2:習題第七章第3題:寫一個判斷素數的函數,在主函數中輸入一個整數,輸出是否為素數的信息。源程序及運行結果:
4、附加內容(非必做,供學有余力的同學):習題第六章第2題:用選擇法對10個整數排序。
源程序及運行結果:
5、實驗總結
實驗四
指針和結構體
1、實驗目的:理解和掌握指針和結構體的語法知識,并能熟練應用。
2、實驗內容1:習題第八章第1題:輸入3個整數,按由小到大的順序輸出。源程序及運行結果:
3、實驗內容2:習題第九章第5題:有10個學生,每個學生的數據包括學號,姓名,3門課程的成績,從鍵盤輸入10個學生的數據,要求輸出3門課程總平均成績,以及最高分的學生的數據(包括學號,姓名,3門課程成績,平均分數)。源程序及運行#include
struct student{ char id[20];char name[20];int score[3];float average;} stud[SIZE];
void input()/* 輸入學生的信息 */ { int i;
for(i=0;i { printf(“第%d個學生的信息:n”,i+1);scanf(“%s%s%d%d%d”,stud[i].id,stud[i].name,&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);stud[i].average=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3.0;} } void output()/* 輸出學生的信息 */ { int i; printf(“n”);for(i=0;i void sortput()/* 排序輸出最高分的學生信息 */ { int i,j;struct student temp; for(i=0;i void main(){ input(); output();sortput();} 結果: 4、附加內容(非必做,供學有余力的同學):習題第八章第6題:寫一個函數,求一個字符串的長度,在主函數中輸入字符串,并輸出長度。源程序及運行結果: 5、實驗總結 自考《Java語言程序設計》實踐教學大綱 目錄 一、課程編號...................................................................................................................1 二、課程類型...................................................................................................................1 三、本課程的地位、作用與任務.......................................................................................1 四、課程基本要求............................................................................................................1 五、實驗安排...................................................................................................................1 1、Java語言實驗機器與環境.....................................................................................1 (一)計算機的硬件配置...................................................................................1 (二)計算機的軟件配置...................................................................................1 2、JDK1.5的安裝和設置...........................................................................................1 (一)下載JDK1.5............................................................................................1 (二)安裝JDK1.5............................................................................................1 (三)配置環境變量..........................................................................................1 (四)測試安裝.................................................................................................2 3、JDK開發工具簡介...............................................................................................2 4、Java程序開發步驟...............................................................................................2 (一)編輯........................................................................................................2 (二)編譯........................................................................................................2 (三)運行........................................................................................................2 5、上機實驗內容......................................................................................................3 實驗1: JDK 開發環境的搭建..........................................................................3 實驗2:Java語法基礎.........................................................錯誤!未定義書簽。實驗3:面向對象編程基礎(1)........................................................................3 實驗4:面向對象編程基礎(2)........................................................................4 實驗5:applet與多線程.....................................................................................5 Java語言程序設計 一、課程編號 4747 二、課程類型 課程類型:必修課。 三、本課程的地位、作用與任務 Java語言具有面向對象、平臺無關性、安全性、穩固性和多線程等優良 特性。Java語言特別適合于Internet的應用開發,是網絡時代最重要的語言 之一,同時,Java語言有豐富的類庫,可方便地進行數值計算、圖形圖象等方面的程序設計。 通過本課程的學習,不僅能學會基本程序設計方法,還能掌握當前最新的面向對象以及網絡編程技術,提高學生分析問題、解決問題的能力,從而為今后步入新世紀知識經濟領域打下堅實基礎。 四、課程基本要求 1、學生應根據每個上機實驗的任務和教師所提的要求,上機前準備好上機內容。 2、上機輸入程序并調試出結果。 3、上機結束后應按時提交實驗報告,對于上機未完成部分,應該下機后利用課余時間完成。 五、實驗安排 1、Java語言實驗機器與環境 (一)計算機的硬件配置 PC系列微機,包括486、奔騰及各種兼容機,要求內存為64M以上,一個硬盤驅動器和一個軟盤驅動器。80列字符監視器。配備鼠標器。 (二)計算機的軟件配置 Windows xp、Windows 2000等。 JDK1.5的安裝軟件jdk-1_5_0-windows-i586.exe 2、JDK1.5的安裝和設置 (一)下載JDK1.5 JDK開發工具包可以免費下載。下載網址——http://java.sun.com/product 下載如下文件:jdk-1_5_0-windows-i586.exe。 (二)安裝JDK1.5 根據提示,正確安裝該軟件。 (三)配置環境變量 設置環境變量path的作用是使DOS操作系統可以找到JDK命令。設置環境變量classpath的作用是告訴Java類裝載器到哪里去尋找第三方提供的類和用戶定義的類。JVM和其它JDK工具通過依次搜索平臺庫、庫擴展和類路徑來查找類。比如軟件默認安裝在C:Program FilesJava目錄。則需設置環境變量如下: Path=C:Program FilesJavajdk1.5.0bin;Classpath=.;C:Program FilesJavajdk1.5.0libtools.jar;C:Program FilesJavajdk1.5.0jrelibrt.jar;注意:具體設置環境變量的步驟見課件。 (四)測試安裝 環境變量設置完成后,重新啟動計算機,在DOS窗口下,敲入javac并回車后,如果出現Javac的用法參數提示信息,則安裝正確。否則要檢查環境變量設置是否正確。 3、JDK開發工具簡介 在JDK的bin目錄下,存放著Java 2提供的一些可執行程序,為我們開發和測試Java程序提供了工具。在我們的學習中,常用的JDK開發工具有如下幾種:(1)javac.exe:Java語言的編譯器。(2)java.exe:Java程序執行引擎。(3)appletviewer:小應用程序瀏覽器。 4、Java程序開發步驟 開發一個Java程序由三個步驟: (一)編輯 使用任何的文本編輯器編輯Java源程序文件。Java源程序文件的擴展名為java。 (二)編譯 打開MS-DOS窗口,進入源程序所在目錄。然后鍵入命令: javac filename.java (三)運行 Java程序有兩種類型--Application和Applet。 (1)對于Application,打開MS-DOS窗口,進入Java字節碼文件所在目錄,在命令行狀態下執行 java filename (2)對于Applet,可以將Applet字節碼文件加入到一個網頁(HTML文件),然后用瀏覽器打開該網頁,Applet的運行結果就會在瀏覽器窗口中顯示出來。我們也可以在命令行狀態下執行appletviewer來查看網頁,同樣會看到Applet的運行結果。 5、上機實驗內容 實驗1: JDK 開發環境的搭建與Java語法基礎 實驗要求:在實驗機器上自己搭建一個JDK環境,并進行相應設置;掌握使用if語句,if-else語句,switch語句、for、while語句等及各種表達式的運用。實驗內容: 1.完成JDK開發環境配置。 2.分別用if-else語句及switch語句來編寫一個成績轉換的java程序。其對應關系如下: 分數 轉換后的輸出結果 0~59 不及格 60~69 及格 70~79 中 80~89 良 90~100 優 其它 錯誤 3.輸出九九乘法表,格式如下: 1*1=1 1*1=2 1*3=3 ?? 2*1=1 2*2=2 2*3=3 ?? ?? 9*1=1 9*2=18 9*3=27 ?? 4.找出10~100之間能被3或5整除的數,每行輸出5個數。 5.水仙花數是三位數,它的各位數字的立方和等于這個三位數本身,例如:371=33+73+13,371就是一個水仙花數,編程找出10000以內的所有水仙花數。 實驗報告要求: 根據實驗內容寫出完整的書面報告,包括主要實驗內容,實驗步驟,并針對實驗過程中遇到的問題寫出解決方法及心得體會,對實驗過程中所用到的知識作出相應總結,例如:總結使用while、do-while和for語句實現循環的區別是什么? 實驗2:面向對象編程基礎(1) 實驗要求:掌握類的聲明及對象的創建,并掌握方法的定義和調用以及構造方法的使用。實驗內容: 1.編程創建一個Box類,在其中定義三個變量表示一個立方體的長、寬和高,再定義一個方法setDemo對這三個變量進行初始化,然后定義一個方法求立方體的體積。創建一個對象,求給定尺寸的立方體的體積。 2.將上題的方法setDemo改用構造方法實現初始化。 3.編程創建一個Point類,在其中定義兩個變量表示一個點的坐標值,再定義構造函數初始化為坐標原點,然后定義一個方法實現點的移動,再定義一個方法打印當前點的坐標。并創建一個對象驗證。 4.定義一個類實現銀行帳戶的概念,包括的變量有“帳號”和“存款余額”,包括的方法有“存款”、“取款”和“查詢余額”。定義主類,創建帳戶類的對象,并完成相應操作。 實驗報告要求: 根據實驗內容寫出完整的書面報告,包括主要實驗內容,實驗步驟,并針對實驗過程中遇到的問題寫出解決方法及心得體會,對實驗過程中所用到的知識作出相應總結。 實驗3:面向對象編程基礎(2)實驗要求: 1.掌握類的繼承方法。 2.掌握變量的繼承和覆蓋。 3.掌握方法的繼承、重載和覆蓋。4.了解接口的實現方法。 實驗內容 1.設計一個類層次,定義一個抽象類--形狀,其中包括有求形狀的面積的抽象方法。 2.編寫一個程序描述以下類層次(見圖)。 其中人為一個抽象類,其屬性包括:姓名、性別、出生日期等。 教師包括任課學校、類別(大學、中學、小學)屬性; 學生為一抽象類,其屬性包括學校、學號、年級; 大學生包括專業、年級屬性;中學生包括年級屬性;小學生也包括年級屬性。每個類設計相應的構造方法和toString()方法,子類的toString()方法也可以調用父類的toString()方法。 在main方法中創建兩個教師和8個學生對象,輸出對象信息 3.定義一個點(Point)類,它包含橫坐標x和縱坐標y兩個屬性,再給Point定義兩個構造方法和一個打印點坐標的方法(Show())。 定義一個圓(Circle)類,它繼承Point類(它是一個點,圓心(Center)),除此之外,還有屬性半徑(Radius),再給圓定義2個構造方法、一個打印圓的面積的方法(PrintArea())和一個打印圓中心、半徑的方法(Show())。 實驗報告要求: 根據實驗內容寫出完整的書面報告,包括主要實驗內容,實驗步驟,并針對實驗過程中遇到的問題寫出解決方法及心得體會,對實驗過程中所用到的知識作出相應總結。 實驗4:GUI標準組件及事件處理 實驗要求: 掌握常用GUI控制組件及其事件處理。實驗內容: 1.編程包含一個標簽和一個按鈕,單擊按鈕時,標簽的內容在“你好”和“再見”之間切換。 2.編程包含一個文本框和一個文本區域,文本框內容改變時,將文本框中的內容顯示在文本區域中;在文本框中按回車鍵時,清空文本區域的內容。 3.編程包含一個復選按鈕和一個普通按鈕,復選按鈕選中時,普通按鈕的背景色為青色,未選中時為灰色。 4.編程包含一個下拉列表和一個按鈕,下拉列表中有10、14、18三個選項。選擇10時,按鈕中文字的字號為10,選擇14時,按鈕中文字的字號為14,選擇18時,按鈕中文字的字號為18。 5.編程確定當前鼠標的位置坐標。 6.編程創建一個Frame,實現窗口的監聽器接口。7.編程使用BorderLayout布局方式放置5個按鈕。 實驗報告要求: 根據實驗內容寫出完整的書面報告,包括主要實驗內容,實驗步驟,并針對實驗過程中遇到的問題寫出解決方法及心得體會,對實驗過程中所用到的Java事件處理機制作出相應總結。 實驗5:applet與多線程 實驗目的: 1.掌握在Applet中編寫具有基礎的繪圖, 圖像處理, 多媒體功能的程序 2.了解Applet的運行機制 3.學會編寫Applet對應的HTML文件。4.掌握線程的基本概念。 5.掌握線程的創建、啟動、結束的方法。 實驗內容: 1. 利用applet實現字幕程序 2.采用多線程實現一字幕自左向右移動,另一字幕同時自右向左移動。2.利用多線程求解某范圍素數,每個線程負責10000范圍.線程1找1000-10000 線程2找10001-20000 線程3找20001-30000 實驗報告要求: 根據實驗內容寫出完整的書面報告,包括主要實驗內容,實驗步驟,并針對實驗過程中遇到的問題寫出解決方法及心得體會,對實驗過程中所用到的Java多線程編程技術作出相應總結。 C語言程序設計實驗 (四)[實驗1] scanf()、printf()函數的使用。 1.實驗題目 輸入1個學生學號和4門課程成績,輸出這個學生的學號、4門課程成績和平均成績。 2.實驗要求 (1)按表格的形式輸出,以行內輸出一個學生的信息。 (2)學號用長整型,各科成績用單精度型。 3.實驗目標 (1)掌握實現人機對話形式的方法,scanf()輸入。 (2)體會根據需要控制輸出格式的方法,printf()輸出。 4.實驗指導 利用格式的數據寬度控制數據的對位輸出。輸出如下格式: The number and score of a student is: |---| |number | score1 | score2 | score3 | sco re4 | average | |---| |10011| 67.5|88.0 |93.5 |78.0|81.75 | |---| [實驗2] getchar()、putchar()函數的使用 1.實驗題目 用getchar()函數讀入a~v之間的一個字母,用putchar()函數輸出一個5行5列的矩陣,該矩陣第一行為讀入的字母,下一行為緊跟該字母后的字母,依此類推。如輸入a,則輸出的矩陣為: aaaaa bbbbb ccccc ddddd eeeee 2.實驗要求 (1)運用getchar()進行字符輸入。 (2)運用putchar()進行字符輸出。 3.實驗目標 (1)體會根據需要控制輸出格式的方法。 [實驗3] 3.6 下面程序運行時在鍵盤上如何輸入?如果a=3,b=4,x=8.5,y=71.82,c1=’A’,c2=’a’,請寫出對應每個scanf函數的輸入情況。 main() { int a,b;float x,y;char c1,c2; scanf(“a=%d□b=%d”,&a,&b); scanf(“□%f %e”,&x,&y); scanf(“□%c %c”,&c1,&c2); } 3.7編一程序,從鍵盤輸入一個圓半徑值,求圓周長、圓面積、圓球表面積、圓球體積。輸出結果時,要求有文字說明,保留2位小數。 提示:設圓半徑為r,則圓周長=2πr,圓面積=πr2,圓球表面積=4πr2,圓球體積= 4πr3/3。 C語言實驗指導 實驗一 順序結構程序設計(2學時) 一、實驗目的熟悉在VC運行環境下,編輯調試C語言程序的一般步驟。掌握順序結構程序設計的基本思想和基本方法。 二、實驗要求 1. 仔細閱讀下列實驗內容,并編寫出相應的C語言源程序。2. 在VC運行環境下,編輯錄入源程序。 3. 調試運行源程序,注意觀察調試運行過程中發現的錯誤及改正方法。4. 掌握如何根據出錯信息查找語法錯誤。 5.最后提交帶有注釋的源程序文件(擴展名為.c)。要求該文件必須能夠正確地編譯及運行,并不得與他人作品雷同。 6.源程序注釋信息可以包括以下幾方面內容: ⑴ 程序功能描述。 ⑵ 程序版本號、創作日期。 ⑶ 作者信息描述:班級、學號、姓名。 ⑷ 問題分析描述。 ⑸ 算法設計描述。 ⑹ 關鍵語句注釋說明。 ⑺ 調試運行過程中出現的錯誤及改正方法。 ⑻ 輸入數據樣例。 ⑼ 輸出數據樣例。 三、實驗內容 以下兩題,任選其一解答。 你知道淄博到北京的地面距離是多少千米嗎,淄博到紐約的地面距離又是多少千米呢?說不上來了吧。還是讓我們編一個程序來計算一下吧。 1.已知地球的平均半徑為6371千米,假設在地球的同一緯度上,有兩個處于不同經度的城市A、B,編程序求出這兩個城市之間的地面距離。 輸入數據樣例:例如,欲求北緯30度上東經10度到東經50度的距離,輸入格式應為:30 10 50 參考測試數據: 輸入:0 0 180 輸出:20015.08 輸入:30 0 90 輸出:8397.7 2輸入:60 0 45 輸出:2453.20 2.地球的平均半徑為6371千米,已知地球上兩個城市A、B的經度和緯度,編程序求出這兩個城市之間的地面距離。 提示:球面上兩點之間的最短距離,等于過這兩點以球心為圓心的圓上,這兩點之間劣弧的長度。(即這兩點與球心之間的連線構成的夾角所對球面劣弧的長度)。 建議你自己一步步推導出公式,而不要照搬網上的現成公式。 四、常見問題 疑問1:這分明是兩道數學題啊,能否將數學公式提供給我們呢,我們的主要任務不是編寫程序嗎? 答:建立數學模型也是編程序的一部分。學會分析解決現實中遇到的問題,是我們學習的重要目標。 疑問2:這個問題好像屬于球面幾何的范疇,用平面幾何可以求解嗎? 答:這個問題的確涉及到球面幾何,但是也的確可以利用投影以及平面幾何方法來求解。 實驗二 選擇結構程序設計(2學時) 一、實驗目的 掌握選擇結構程序設計的一般方法及選擇結構程序的調試方法。 二、實驗要求 1. 仔細閱讀下列實驗內容,并編寫出相應的C語言源程序。2. 在VC運行環境下,編輯錄入源程序。 3. 調試運行源程序,注意觀察調試運行過程中發現的錯誤及改正方法。4. 掌握如何根據出錯信息查找語法錯誤。 5.最后提交帶有充分注釋的源程序文件(擴展名為.c)。要求該文件必須能夠正確地編譯及運行,并不得與他人作品雷同。 6.源程序注釋信息可以包括以下幾方面內容: ⑴程序功能描述。 ⑵程序版本號、創作日期。 ⑶作者信息描述:班級、學號、姓名。 ⑷問題分析描述。 ⑸算法設計描述。 ⑹關鍵語句注釋說明。 ⑺調試運行過程中出現的錯誤及改正方法。 ⑻輸入數據樣例。 ⑼輸出數據樣例。 三、實驗內容 你知道你生日那天是星期幾嗎,還有你知道你爸爸生日那天是星期幾嗎?你可能會說:可以查萬年歷啊。那么,不查萬年歷你能計算出來嗎? 以下兩題,任選其一解答。 1.編程序實現:輸入一個年份y,求出從公元1年1月1日到y年1月1日,總共有多少天,并求出y年的1月1日是星期幾。 2.編程序實現:輸入任意一個日期的年、月、日的值,求出從公元1年1月1日到這一天總共有多少天,并求出這一天是星期幾。 四、常見問題 疑問1:閏年的規律是不是四年一閏? 答:四年一閏是儒略歷(儒略也就是凱撒大帝)的置閏規則。我們現在使用的是格里高利歷,置閏規則是每400年97閏。 疑問2:公元1年1月1日是星期幾呢? 答:星期一。 疑問3:據說從儒略歷改為格里高利歷時,將1582年10月4日的下一天定為格里高利歷的10月15日,中間銷去了10天,這會不會影響星期幾的計算? 答:這個調整是對儒略歷誤差的糾正,并不會影響總天數和星期幾的計算。 疑問4:這里計算總天數,好像要用到循環程序吧? 答:其實根據閏年的置閏規則,不使用循環也可以計算出來總天數。當然,你想使用循環編寫該程序也是可以的。 實驗三 循環結構程序設計(2學時) 一、實驗目的掌握循環結構程序設計的一般方法及循環結構程序的調試方法。 二、實驗要求 1. 仔細閱讀下列實驗內容,并編寫出相應的C語言源程序。2. 在VC運行環境下,編輯錄入源程序。 3. 調試運行源程序,注意觀察調試運行過程中發現的錯誤及改正方法。4. 掌握如何根據出錯信息查找語法錯誤。 5.最后提交帶有充分注釋的源程序文件(擴展名為.c)。要求該文件必須能夠正確地編譯及運行,并不得與他人作品雷同。 6.源程序注釋信息可以包括以下幾方面內容: ⑴程序功能描述。 ⑵程序版本號、創作日期。 ⑶作者信息描述:班級、學號、姓名。 ⑷問題分析描述。 ⑸算法設計描述。 ⑹關鍵語句注釋說明。 ⑺調試運行過程中出現的錯誤及改正方法。 ⑻輸入數據樣例。 ⑼輸出數據樣例。 三、實驗內容 以下兩題,任選其一解答。 1. 海萍夫婦為了徹底告別“蝸居”生活,痛下決心貸款60萬元購買了一套三居室。若貸款月利率為0.5%,還款期限為120個月,還款方式為等額本金還款法(即貸款期限內每期以相等的額度償還貸款本金,貸款利息隨本金逐期遞減)。試求出每個月還款的本金、每個月的利息以及總利息分別是多少元。 2. 若還款方式采用等額本息還款法(即貸款期限內每期以相等的額度償還貸款本息,貸款利息隨本金逐期遞減)。試求出每個月還款的本金、每個月的利息以及總利息分別是多少元。 四、常見問題 疑問1:等額本息還款法每個月的還款額怎么計算,應該有個公式吧,要不然怎么計算出來每個月應還的利息與本金? 答:的確有一個計算公式。當然你可以自己推導出來(這樣你會很有成就感!),要不然就從網上搜索出來。 實驗四 循環程序綜合應用(4學時) 一、實驗目的: 掌握循環結構程序設計的一般方法及循環結構程序的調試方法,能夠綜合運用順序、選擇和循環結構解決一般難度的實際應用問題。 二、實驗要求 1. 仔細閱讀下列實驗內容,并編寫出相應的C語言源程序。2. 在VC運行環境下,編輯錄入源程序。 3. 調試運行源程序,注意觀察調試運行過程中發現的錯誤及改正方法。4. 掌握如何根據出錯信息查找語法錯誤。 5.最后提交帶有充分注釋的源程序文件(擴展名為.c)。要求該文件必須能夠正確地編譯及運行,并不得與他人作品雷同。 6.源程序注釋信息可以包括以下幾方面內容: ⑴程序功能描述。 ⑵程序版本號、創作日期。 ⑶作者信息描述:班級、學號、姓名。 ⑷問題分析描述。 ⑸算法設計描述。 ⑹關鍵語句注釋說明。 ⑺調試運行過程中出現的錯誤及改正方法。 ⑻輸入數據樣例。 ⑼輸出數據樣例。 三、實驗內容 以下兩題,任選其一解答。 1.編程序實現如下功能:輸入任意一個年份和月份,按以下格式輸出該月份的公歷日歷。 要求由程序計算出來該月份的1日是星期幾,并用循環控制打印。打印樣例如下: 2012年日歷 ========== 9月 ---------日 一 二 三 四 五 六2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30------------------------- 2.編程序實現如下功能:輸入任意一個年份,按以下格式輸出該年份全年的公歷日歷。要求由程序計算出來每個月份的1日是星期幾,并用循環控制打印。 四、常見問題 疑問1:如何控制某個月1日的打印位置? 答:先由程序計算出來該月份的1日是星期幾,然后控制在打印“1”之前打印相應個數的空格。 疑問2:如何控制每周和每月的打印換行? 答:可以根據當前這一天的打印位置控制每周的打印換行,并根據該月份的天數控制每月的打印換行。 實驗五 字符串處理綜合應用(4學時) 一、實驗目的 掌握字符串處理的一般方法及字符串處理應用程序的調試方法,能夠綜合運用選擇、循環結構和數組、指針解決一般難度的實際應用問題。 二、實驗要求 1. 仔細閱讀下列實驗內容,并編寫出相應的C語言源程序。2. 在VC運行環境下,編輯錄入源程序。 3. 調試運行源程序,注意觀察調試運行過程中發現的錯誤及改正方法。4. 掌握如何根據出錯信息查找語法錯誤。 5.最后提交帶有充分注釋的源程序文件(擴展名為.c)。要求該文件必須能夠正確地編譯及運行,并不得與他人作品雷同。 6.源程序注釋信息可以包括以下幾方面內容: ⑴程序功能描述。 ⑵程序版本號、創作日期。 ⑶作者信息描述:班級、學號、姓名。 ⑷問題分析描述。 ⑸算法設計描述。 ⑹關鍵語句注釋說明。 ⑺調試運行過程中出現的錯誤及改正方法。 ⑻輸入數據樣例。 ⑼輸出數據樣例。 三、實驗內容 以下兩題,任選其一解答。 1.編程實現,輸入一個整數的小寫金額值(即不考慮角和分),轉化為大寫金額值并輸出。先實現基本功能,如輸入1002300,可以輸出“壹佰零拾零萬貳仟叁佰零拾零元整”。 2.編程實現,輸入一個小寫金額值,轉化為大寫金額值輸出。要求實現相對完善的功能,如輸入1002300.90,應該輸出“壹佰萬貳仟叁佰元零玖角整”。 四、常見問題 疑問1:如何才能分離出整數中的每一位數字? 答:可以利用整數的求余數和除法運算實現數字的分離,同時將分離出的數字存入到一個事先定義好的數組中,每個數組元素只存儲一位數字。 疑問2:若不能確定整數的實際位數,如何控制分離過程? 答:可以通過循環控制數字的分離過程,每循環一次分離出來當前的最末一位,然后去掉最末一位,直至分離出所有的位。 疑問3:如何控制給某位數字添加合適的數量單位,如萬、仟、佰、拾、元? 答:可以根據該數字在原小寫數值中的位置進行控制,如第0位單位為“元”,第1位單位為“拾”,依此類推。 實驗六 文件應用程序設計(2學時) 一、實驗目的掌握文件應用程序設計的一般方法及其調試方法。 二、實驗要求 1. 仔細閱讀下列實驗內容,并編寫出相應的C語言源程序。2. 在VC運行環境下,編輯錄入源程序。 3. 調試運行源程序,注意觀察調試運行過程中發現的錯誤及改正方法。4. 掌握如何根據出錯信息查找語法錯誤。 5.最后提交帶有充分注釋的源程序文件(擴展名為.c)。要求該文件必須能夠正確地編譯及運行,并不得與他人作品雷同。 6.源程序注釋信息可以包括以下幾方面內容: ⑴程序功能描述。 ⑵程序版本號、創作日期。 ⑶作者信息描述:班級、學號、姓名。 ⑷問題分析描述。 ⑸算法設計描述。 ⑹關鍵語句注釋說明。 ⑺調試運行過程中出現的錯誤及改正方法。 ⑻輸入數據樣例。 ⑼輸出數據樣例。 三、實驗內容 以下兩題,任選其一解答。 1. 海萍夫婦為了徹底告別“蝸居”生活,痛下決心貸款60萬元購買了一套三居室。若貸款月利率為0.5%,還款期限為120個月,還款方式為等額本金還款法(即貸款期限內每期以相等的額度償還貸款本金,貸款利息隨本金逐期遞減)。試求出每個月還款的本金、每個月的利息以及總利息分別是多少元。要求將輸出結果寫入到數據文件中。 2. 若還款方式采用等額本息還款法(即貸款期限內每期以相等的額度償還貸款本息,貸款利息隨本金逐期遞減)。試求出每個月還款的本金、每個月的利息以及總利息分別是多少元。要求將輸出結果寫入到數據文件中。 電子科技大學 計算機 學院 標 準 實 驗 報 告 (實驗)課程名稱 C語言程序設計 電子科技大學教務處制表 電 子 科 技 大 學 實 驗 報 告 四 學生姓名: 學 號: 指導教師:劉 勇 實驗地點: 計算機學院軟件306室 實驗日期: ****年**月**日 一、實驗室名稱: 軟件實驗室 二、實驗項目名稱:函數的應用及預處理 三、實驗學時:2 四、實驗原理: 使用Turbo C軟件(簡稱TC),在微型計算機上,對其程序進行編輯、編譯、連接與運行。Turbo C是一個集成環境,它具有方便、直觀、易用的界面和豐富的庫函數。通過上機練習掌握在TC環境下編輯、編譯、連接、和運行C程序的方法和過程。 五、實驗目的 1. 掌握C語言中定義函數的方法; 2. 掌握函數傳值調用的方法; 3. 掌握函數傳址調用的方法; 4. 掌握遞歸函數的設計方法; 5. 掌握命令行參數的使用方法; 6. 掌握函數在不同文件中的編譯、鏈接方法。 六、實驗內容 編程實驗,完成以下上機內容,調試運行程序并完成報告 1)、教材第七章習題7.4; 2)、編寫一個實現冒泡法排序的函數,并在主函數中從鍵盤上輸入6個數后進行排序輸出; 3)、教材第七章習題7.11; 4)、教材第七章習題7.15; 5)、教材第七章習題7.24; 6)、求解漢渃塔(tower of Hanoi)問題。在一塊平板上立有3根立柱,從左到右分別標記為A,B,C。最初在A柱上放有6個大小不等的圓盤,并且大盤在下面,小盤在上面。要求將這些盤從A移到C(可以借助B柱)。條件是:每次只能移動一個盤,并且不允許把大盤放在小盤的上面。(提示:利用函數的遞歸調用); 七、實驗器材(設備、元器件): pc硬件要求:CPU PII 以上,64M 內存,1OOM 硬盤空間即可。 軟件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。 八、實驗步驟: 實驗編程與運行結果 ⑴ 編寫一個求兩個整數的最小公倍數的函數,兩個整數由鍵盤輸入,用主函數調用這個函數,并輸出結果。 程序文件名為7_4.c,源程序清單如下: #include 運行結果: ⑵ 編寫一個實現冒泡法排序的函數,并在主函數中從鍵盤上輸入6個數后進行排序輸出。 程序文件名為testf3.c,源程序清單如下: main(){ int i,j,a[7];int temp;clrscr();for(i=1;i<7;i++){ printf(“nInput a[%d]=”,i);scanf(“%d”,&a[i]);} for(i=1;i<6;i++)for(j=1;j<7;j++){ if(a[j] temp=a[j];a[j]=a[j+1];a[j+1]=temp;} } for(i=1;i<7;i++){ printf(“n%5d”,a[i]);} }_ 運行結果: ⑶ 編寫一個通過函數調用把輸入的小寫字符串變為大寫字符串的程序。 程序文件名為7_11.c,源程序清單如下: #include第二篇:《Java語言程序設計》自考實驗指導資料new
第三篇:C語言程序設計實驗四(本站推薦)
第四篇:C語言程序設計實驗安排
第五篇:《C語言程序設計》實驗四