




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、前言程序設(shè)計語言(C)課程是面向理工科的非計算機專業(yè)計算機基礎(chǔ)教學(xué)的公共基礎(chǔ)課程之一,本課程的任務(wù)是向?qū)W生介紹計算機程序設(shè)計的基本知識,使學(xué)生能夠比較熟練地掌握C語言的語法規(guī)則及程序設(shè)計的基本方法與編程技巧,了解進行科學(xué)計算的一般思路。與課程配套的上機實驗,是為培養(yǎng)學(xué)生應(yīng)用計算機解決和處理實際問題的思維方法與基本能力,并初步積累編程經(jīng)驗,自己解決一些比較簡單的程序課題,為結(jié)合本專業(yè)課程進一步學(xué)習(xí)和應(yīng)用計算機打下基礎(chǔ)。要使實驗達到應(yīng)有的效果,在上機實驗之前,必須知道本次實驗的任務(wù),根據(jù)實驗任務(wù),做好充分準備工作,只有這樣才能做到目的明確,使實驗達到應(yīng)有的效果。上機前的準備工作包括以下幾個方面:
2、1. 復(fù)習(xí)和掌握與本次實驗有關(guān)的教學(xué)內(nèi)容; 2. 根據(jù)實驗的內(nèi)容,對問題進行認真的分析,搞清楚要解決什么問題;3. 選用或設(shè)計適用的算法,編寫程序代碼。上機實驗結(jié)束后要撰寫實驗報告,實驗報告的主要內(nèi)容應(yīng)包括如下幾個方面:1. 實驗?zāi)康?明確實驗?zāi)康?,以保證達到課程所指定的基本要求。在寫實驗報告時,要進一步確認是否達到了預(yù)期的目的。 2. 實驗內(nèi)容 實驗的目的是要通過解決一些具體問題來達到的。在實驗報告中,實驗內(nèi)容是指本次實驗中實際完成的內(nèi)容。在每一個實驗題目中,一般都提出一些具體要求,其中有些具體要求是為了達到實驗?zāi)康亩岢龅?,不僅有具體的實驗題目,還應(yīng)包括具體要求。3. 程序設(shè)計說明包括程序
3、功能說明、程序算法描述、程序代碼設(shè)計(含完整代碼)、程序運行、測試、運行結(jié)果分析。上機實驗編寫程序代碼時要養(yǎng)成良好的程序設(shè)計風(fēng)格, 在上機輸入源程序時要按照附錄中“C語言編碼規(guī)范”的要求來編寫源代碼文件。按大綱要求,本實驗指導(dǎo)共有8個實驗,每個實驗需要兩個學(xué)時,共需16個學(xué)時。2007-2-22 目錄實驗一 C語言運行環(huán)境與表達式1實驗二 數(shù)據(jù)輸入與輸出3實驗三 選擇結(jié)構(gòu)程序設(shè)計5實驗四 循環(huán)結(jié)構(gòu)程序設(shè)計7實驗五 數(shù)組應(yīng)用8實驗六 數(shù)組與流程控制綜合設(shè)計9實驗七 函數(shù)11實驗八 指針12附錄13參考文獻13. 13 .實驗一 C語言運行環(huán)境與表達式一. 實驗?zāi)康模?1. 了解C語言集成環(huán)境對計
4、算機軟硬件的要求;2. 初步掌握C語言集成環(huán)境的使用;3. 掌握建立、編輯、運行一個C程序的全過程;4. 通過運行簡單的C程序,初步掌握如何使用C的有關(guān)運算符,以及包含這些運算符的表達式。二. 實驗內(nèi)容1. C語言集成環(huán)境的進入與退出;2. 新建一個C源程序及源程序的保存和打開;3. C程序的編譯和連接獲得可執(zhí)行程序文件;4. 在集成環(huán)境中運行程序、查看結(jié)果;5. 通過觀察運行結(jié)果檢查運算符和表達式的使用。三. 實驗步驟1. 進入所用的集成環(huán)境。2. 熟悉集成環(huán)境的界面和有關(guān)菜單的使用。3. 在集成環(huán)境中選擇新建C源程序。4. 輸入和編輯下面的程序:#include void main()pr
5、intf(This is a c program.n);5. 將源程序按指定文件名存盤(默認的擴展名為.C)。6. 退出集成環(huán)境。7. 進入集成環(huán)境,打開剛才保存的源程序文件。8. 對源程序進行編譯和連接,觀察屏幕上的提示。顯示的信息如果出現(xiàn)“出錯信息”,則對源程序中的錯誤進行修改直到顯示的信息為 “成功”或“無錯誤”。9. 運行程序,然后觀察結(jié)果。10. 選擇新建新建C源程序,然后輸入并運行下面的程序:#includevoid main()int a,b,c;float x,y,z;char c1,c2;a=2;b=5;c=a*b+b/a;printf(c=%dn,c);a=3*(b%8);
6、b=3*b%8;printf(%d,%dn,a,b);x=2.0;y=5.0;z=x*y+y/x;printf(z=%fn,z);c=x*y+y/x;printf(c=%dn,c);x=2/5;y=2.0/5;printf(%f,%fn,x,y);11. 觀察分析以上程序的運行結(jié)果。12. 輸入、運行下面的程序, 并觀察分析程序的運行結(jié)果#includevoid main()int a=65,b;char c1,c2,c3;cl = A; c2 = B;c3= x41b=c2; printf(%c,%c,%c,%cn,cl, c2, c3,a);printf(%d,%dna ,b);13. 參
7、照以上程序建立新程序,計算書上習(xí)題3.9的兩個表達式的值。14. 退出集成環(huán)境,找到剛才保存源程序文件的文件夾,瀏覽其中文件,看有無剛才保存的后綴為C的源程序文件和exe的可執(zhí)行文件。用“記事本”軟件打開查看源程序。15. 運行后綴為exe的可執(zhí)行文件,觀察結(jié)果。四教材中的有關(guān)內(nèi)容C程序設(shè)計(第三版)第1章,第3章。實驗二 數(shù)據(jù)輸入與輸出一. 實驗?zāi)康?. 掌握C語言中字符輸入(getchar)、輸出(putchar)函數(shù)的使用;2. 掌握C語言中格式輸入(scanf)和格式輸出(printf)函數(shù)的使用;3. 掌握格式控制符在輸入輸出時使用;4. 初步掌握一個順序結(jié)構(gòu)的C應(yīng)用程序的設(shè)計。二.
8、 實驗內(nèi)容1. 字符輸入(getchar)、輸出(putchar)函數(shù)的使用;2. 各種類型數(shù)據(jù)的輸入與輸出;3. 設(shè)計順序結(jié)構(gòu)的C應(yīng)用程序。三實驗步驟1. 輸入并運行下面的程序:#includevoid main()char c1,c2,c3;c1=getchar();c2=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);觀察以下不同輸入時的輸出,分析不同輸出的原因。( 表示回車)(1)123(2)12(3)1 22. 把以上程序改寫如下,用于上面相同的輸入運行,分析不同輸出的原因。 #includevoid main()
9、char c1,c2,c3;c1=getchar();putchar(c1);c2=getchar();putchar(c2);c3=getchar();putchar(c3);3. 輸入并運行下面的程序,分析格式控制對輸出的影響。#includevoid main()int a=-1,b=98;double x=152.6752445;printf(a=%d,%ld,%u,%o,%xn,a,a,a,a,a);printf(b=%d,%5d,%-5d,%c,%5c,%-5cn,b,b,b,b,b,b);printf(x=%f,%en,x,x);printf(x=%.2f,%15.2f,%-15
10、.2f,%15.9f,%2fn,x,x,x,x,x);4. 輸入并運行下面的程序:#includevoid main()int a,b;double x;float y;scanf(%d,%d,&a,&b);printf(a=%d,b=%dn,a,b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b); 觀察以下不同輸入時的輸出,分析間隔符號對輸入的影響。( 表示回車)(1)1,2 1,2(2)1 2 1 2(3)1 1 25. 有需要輸入的數(shù)據(jù)如下:61,62,3.88,-7567.9087621,a,b, 50000, -60000編寫程序?qū)懗瞿苷_輸入這些
11、數(shù)據(jù),用合適的變量保存,并用輸出函數(shù)輸出變量中的數(shù)據(jù),驗證輸入是否正確。6. 編寫程序,輸入圓的半徑r 計算并輸出圓的周長和面積。四教材中的有關(guān)內(nèi)容C程序設(shè)計(第三版)第4章。實驗三 選擇結(jié)構(gòu)程序設(shè)計一. 實驗?zāi)康?. 掌握正確使用邏輯運算符和邏輯表達式表示邏輯判斷; 2. 熟練掌握用if語句編寫選擇結(jié)構(gòu)的程序;3. 掌握switch語句的正確使用;4. 初步了解調(diào)試程序的一般方法。二. 實驗內(nèi)容1. if語句、switch語句的正確使用;2. 選擇結(jié)構(gòu)程序的編寫與調(diào)試。三. 實驗步驟1. 輸入并運行以下程序,分析輸入分別為1,2,3,4,5,6,7,8,9,10的輸出。#includevoi
12、d main()int a;scanf(%d,&a);switch (a)case 1:case 2: printf(firstn);break;case 3:case 4:case 5: printf(secondn);break;case 8: printf(thirdn );case 10: printf(fourthn);default: printf(fifthn);2. 有一函數(shù): x (x1) y 2x-1 (1x10) 3x-11 (x10)編寫程序用scanf函數(shù)輸入x的值,輸出y的值。試運行并調(diào)試此程序,準備三個測試數(shù)據(jù) 分別為 1、110、10這3種情況,檢查結(jié)果是否正確
13、。3. 編寫一個程序輸入一個百分制成績,要求輸出成績等級A、B、C、D、E。90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E,switch語句來實現(xiàn)選擇結(jié)構(gòu)。4. 修改上面這個程序,對輸入的成績做出判斷如果不在0-100范圍內(nèi)輸出出錯信息。5. 調(diào)試這個程序,輸入合適的測試數(shù)據(jù),檢查程序在每一種數(shù)據(jù)輸入時的結(jié)果(等級A、B、C、D、E和錯誤的數(shù)據(jù))。6. 上海出租車起步價11元(3公里),超3公里后每公里計價2.1元,超10公里每公里計價3.1元,以下程序是根據(jù)輸入的公里數(shù),輸出出租車費,但有錯誤,根據(jù)編譯時的提示修改語法錯誤,然后檢查程序控制結(jié)構(gòu)和計算公式,修改
14、邏輯錯誤。#includevoid main()float k,m;printf(enter a number:)scanf(%f,&k);if (k=0)printf(data error!n);if (k3)m=11if (k n 則 m = m n 否則 n = n m;4) 返回到2) (循環(huán))。用合適的循環(huán)控制語句實現(xiàn)這個算法。4. 修改上面的程序,使它能夠輸出 m , n 在運算過程中的變化。5. 用集成環(huán)境提供的單步執(zhí)行功能,跟蹤查看每個語句執(zhí)行后變量的變化情況。6. 修改教材上的例6.9使程序能夠輸入兩個正整數(shù)(大小順序是任意的),輸出這兩個數(shù)間的所有素數(shù),并改為每行輸出5個數(shù)
15、。四教材中的有關(guān)內(nèi)容C程序設(shè)計(第三版)第6章。實驗五 數(shù)組應(yīng)用一. 實驗?zāi)康?. 掌握數(shù)組的輸入輸出;2. 掌握字符串的輸入輸出和一般處理方法;3. 初步掌握利用數(shù)組建立常用的數(shù)據(jù)結(jié)構(gòu)及實現(xiàn)有關(guān)的算法。二. 實驗內(nèi)容1. 一維數(shù)組的輸入輸出;2. 二維數(shù)組的輸入輸出;3. 字符串的輸入輸出;4. 字符串的處理;5. 用一維數(shù)組構(gòu)建順序表及排序。三. 實驗步驟1. 編寫程序輸入n個整數(shù)到一維數(shù)組(先輸入數(shù)據(jù)的個數(shù)n,再輸入n個數(shù)據(jù)),然后以輸入的順序輸出這些數(shù)。2. 修改上面的程序使數(shù)據(jù)與輸入的順序相反的順序輸出。3. 編寫程序輸入n行m列的整數(shù)矩陣到二維數(shù)組(先輸入數(shù)據(jù)的行數(shù)n和列數(shù)m,再按
16、行輸入矩陣中的數(shù)據(jù)),然后以矩陣的格式輸出數(shù)據(jù)。例如要使4*3的矩陣輸出的結(jié)果如以下格式:1232347892341194. 編寫程序輸入一個字符串,刪除字符串中的所有數(shù)字字符(判斷是否數(shù)字字符可使用庫函數(shù)isdigit,詳見教材附錄E)后輸出此字符串。5. 編寫程序輸入一個字符串找出字符串中的所有數(shù)字字符,將它們組成另一個字符串后輸出。6. 修改上面的程序使輸出的數(shù)字字符按升序排列后輸出。(在調(diào)試數(shù)組應(yīng)用的程序時,要輸入比較多的數(shù)據(jù),可以先在程序中對數(shù)組元素用賦初值的方法賦值)四教材中的有關(guān)內(nèi)容C程序設(shè)計(第三版)第7章。實驗六 數(shù)組與流程控制綜合設(shè)計一. 實驗?zāi)康?. 提高綜合應(yīng)用流程控制
17、語句(if,switch,while, do-while,for)的能力;2. 提高對復(fù)雜流程結(jié)構(gòu)的程序的編寫能力和調(diào)試能力;3. 掌握利用數(shù)組的組織存儲數(shù)據(jù)以及一些實用的算法。二. 實驗內(nèi)容編寫和調(diào)試一個具有能對用一維數(shù)組建立的順序表進行各種操作的應(yīng)用程序。三. 實驗步驟1. 寫程序顯示如下菜單1. insert (插入一個數(shù)據(jù))2. delete (刪除一個數(shù)據(jù))3. sort (排序)4. print (輸出表中所數(shù)據(jù))0. exit (退出程序)2. 用scanf函數(shù)輸入菜單選擇的數(shù)字(0-4)對其他輸入要提示錯誤信息,用switch語句控制菜單選擇,流程控制結(jié)構(gòu)如圖6-1所示:(此時
18、switch語句中可以不寫代碼,先調(diào)試流程控制部分)圖6-1 1 2 3 4 0 其他顯示菜單等待輸入刪除插入出錯處理排序退出輸出結(jié)束開始退出?N Y 開始3. 在switch的每個選擇分支中添加適當(dāng)?shù)拇a,使程序能夠完成要求的操作此時可一次加一個模塊這樣便于調(diào)試。4. 插入和刪除都要指定位置,所以在建立一個一維數(shù)組保存順序表的數(shù)據(jù)以外,還要用一個變量來記錄當(dāng)前表中數(shù)據(jù)的個數(shù)。四教材中的有關(guān)內(nèi)容C程序設(shè)計(第三版)第5,6,7章。實驗七 函數(shù)一. 實驗?zāi)康?. 掌握自定義函數(shù)的編寫;2. 掌握在程序中正確調(diào)用函數(shù)(包括自定義函數(shù)和庫函數(shù))的方法;3. 掌握“宏定義”用法;4. 了解調(diào)用庫函數(shù)時
19、的使用“文件包含”的作用。二. 實驗內(nèi)容1. 函數(shù)的定義;2. 函數(shù)的調(diào)用;3. 編譯預(yù)處理(宏定義和文件包含)。三. 實驗步驟1. 輸入并運行下面的程序,查看編譯時的出錯信息,分析出錯的原因,然后修改這個程序使其能夠正常運行main()flo(9.9);float flo(float m)printf(%f,m);retutn m;2. 寫一個判別素數(shù)的函數(shù),函數(shù)參數(shù)為一個整數(shù),返回值為0(整數(shù)不是素數(shù))或1(整數(shù)是素數(shù))。3. 修改教材上的例6.9輸出兩個數(shù)間的所有素數(shù),調(diào)用前面寫的自定義函數(shù)來判別素數(shù)。4. 寫四個函數(shù)分別用于計算圓周長、圓面積、圓柱表面積,圓柱體積。5. 參照實驗六寫一
20、個主函數(shù)能夠顯示菜單,調(diào)用前面寫的四個函數(shù)來計算圓周長、圓面積、圓柱表面積,圓柱體積,圓周率使用宏定義。6. 寫一個函數(shù)判斷一串字符是否16進制數(shù)(即字符串中的字符都是數(shù)字或前六個英文字母,可以使用庫函數(shù)isxdigit),并寫一個主函數(shù)調(diào)試運行。四教材中的有關(guān)內(nèi)容C程序設(shè)計(第三版)第8,9章。實驗八 指針一. 實驗?zāi)康?. 通過實驗掌握指針的定義和使用指針變量;2. 掌握使用指針對數(shù)組和字符串進行操作;3. 掌握函數(shù)中指針類型參數(shù)的使用。二. 實驗內(nèi)容1. 指針變量的定義和使用;2. 用指針操作數(shù)組;3. 用指針操作字符串;4. 使用指針類型參數(shù)的函數(shù)。三. 實驗步驟1. 輸入運行下面這個
21、程序,觀察并分析結(jié)果:#include stdio.hvoid main() int a=2,3,4,5,6;int *p1;p1=a;printf(%dn,p1+2);printf(%dn,*(p1+2);p1=a+2;printf(%dn,p1+2);printf(%dn,*(p1+2);char *p2=computern;printf(p2+2);printf(%s,p2+2);2. 定義一個可以保存10個整型數(shù)的一維數(shù)組,用數(shù)組初始化的方法將10個數(shù)據(jù)(3,7,9,8,5,4,3,1,0,2)賦值到數(shù)組,用指針操作數(shù)組依次輸出這十個數(shù),再以逆序輸出這十個數(shù)。3. 寫一個能對整型一維數(shù)組排序的函數(shù)。4. 寫一個主函數(shù)輸入若干個整數(shù)到一維數(shù)組,調(diào)用上面的函數(shù)對其排序,然后輸出。5. 寫一個函數(shù)判斷一個字符串是否一個11位的手機號碼。6. 寫一個主函數(shù)調(diào)用上面這個函數(shù)。 四教材中的有關(guān)內(nèi)容C程序設(shè)計(第三版)第10章。附錄C語言編碼規(guī)范1. 程序塊要采用縮進風(fēng)格編寫,縮進時使用TAB鍵。2. 相對獨立的程序塊之間、變量說明之后必須加空行。3. 較長的語句(80字符)要分成多行書寫,長表達
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 時間的認識課件
- 秩序崗位服務(wù)培訓(xùn)
- 時間和方向課件
- 時間與管理課件講解
- 2025版電梯維保與應(yīng)急物資儲備服務(wù)合同范本
- 二零二五年度市政道路建設(shè)項目招投標合同范本
- 二零二五年度礦產(chǎn)資源中介服務(wù)合同范例
- 2025版高鈣石建筑材料原料購銷合作框架協(xié)議
- 二零二五年度建筑工程設(shè)備租賃及保養(yǎng)合同
- 二零二五年度醫(yī)療設(shè)備生產(chǎn)與銷售及售后服務(wù)合同
- 學(xué)堂在線 高職實綜合英語 章節(jié)測試答案
- TSG-T7001-2023電梯監(jiān)督檢驗和定期檢驗規(guī)則宣貫解讀
- JB T 6527-2006組合冷庫用隔熱夾芯板
- 千方百劑操作流程
- 油品計量工(高級技師)技能操作理論考試總題庫-上(單選題-下部分)
- DB32T 1553-2017 高速公路工程工程量清單計價規(guī)范
- 組織知識清單
- GB-T 1040.2-2022 塑料 拉伸性能的測定 第2部分:模塑和擠塑塑料的試驗條件
- 城鎮(zhèn)燃氣安全管理專業(yè)知識
- 一頁紙的勞動合同范本(5篇)
- 免疫缺陷病PPT精品課件
評論
0/150
提交評論