版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、應(yīng)用程序設(shè)計(jì)C實(shí)驗(yàn)指導(dǎo)書課程編號:課程名稱:應(yīng)用程序設(shè)計(jì)CApplied Program Design C實(shí)驗(yàn)學(xué)時(shí):20適應(yīng)專業(yè):信息管理與信息系統(tǒng)承擔(dān)實(shí)驗(yàn)室:管理學(xué)院實(shí)驗(yàn)中心一、實(shí)驗(yàn)?zāi)康暮腿蝿?wù)1實(shí)驗(yàn)教學(xué)的目的 通過實(shí)驗(yàn)課程的學(xué)習(xí),掌握和消化 C 語言中的基本內(nèi)容, 較好地訓(xùn)練學(xué)生解決問題的邏輯思維能力以及編程思路和技巧 ,使學(xué)生具有較強(qiáng)的利用 C 語言編寫并調(diào)試軟件的能力,為培養(yǎng)有較強(qiáng)軟件開發(fā)能力的計(jì)算機(jī)本科生打下良好基礎(chǔ)。2實(shí)驗(yàn)教學(xué)的要求通過實(shí)驗(yàn)課程的學(xué)習(xí),掌握和消化 C 語言中的基本知識、各種語句及程序控制結(jié)構(gòu),熟練掌握 C 語言的函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、鏈表等數(shù)據(jù)結(jié)構(gòu)的基本算法;并能
2、熟練地運(yùn)用 C 語言進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì);具有較強(qiáng)的程序修改調(diào)試能力;具備較強(qiáng)的邏輯思維能力和獨(dú)立思考能力。二、實(shí)驗(yàn)項(xiàng)目及學(xué)時(shí)分配 序號實(shí) 驗(yàn) 項(xiàng) 目 名 稱實(shí)驗(yàn)學(xué)時(shí)實(shí)驗(yàn)類型開出要求1程序設(shè)計(jì)初步2驗(yàn)證必做2控制語句4驗(yàn)證必做3數(shù)組4驗(yàn)證必做4函數(shù)4驗(yàn)證必做5指針與結(jié)構(gòu)體6綜合必做三、參考資料C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第二版),主編:譚浩強(qiáng),出版社:清華大學(xué)出版社,出版或修訂時(shí)間:2000年9月第2版。C語言編程常見問題解答,主編:Paul S. R. Chisholm等,翻譯:張芳妮,呂波,出版社:清華大學(xué)出版社,出版或修訂時(shí)間:1996年12月第1版四、單項(xiàng)實(shí)驗(yàn)的內(nèi)容和要求(包括實(shí)驗(yàn)所用的主
3、要儀器設(shè)備,實(shí)驗(yàn)所需主要耗材)實(shí)驗(yàn)一程序設(shè)計(jì)初步1實(shí)驗(yàn)?zāi)康呐c意義1. 掌握啟動(dòng)與退出C的方法。通過實(shí)驗(yàn)掌握各菜單項(xiàng)的功能。2. 掌握建立、編輯和運(yùn)行一個(gè)簡單C語言程序的全過程。3. 掌握基本輸入輸出函數(shù)的用法4. 了解算法在程序設(shè)計(jì)中的應(yīng)用5. 了解單步跟蹤調(diào)試的方法。2基本原理和方法在Turbo C集成化開發(fā)環(huán)境中輸入源程序,源程序經(jīng)過“編譯程序”編譯成為目標(biāo)程序,目標(biāo)程序與庫函數(shù)連接,形成的完整的可在操作系統(tǒng)下獨(dú)立執(zhí)行的程序稱為可執(zhí)行程序。3主要儀器設(shè)備及耗材計(jì)算機(jī)設(shè)備,軟件Turbo C或Turbo CFor Windows.4實(shí)驗(yàn)方案或技術(shù)路線 在Turbo C集成化開發(fā)環(huán)境中,完成幾
4、個(gè)C語言程序。輸入與編輯源程序-編譯源程序,產(chǎn)生目標(biāo)代碼-連接各個(gè)目標(biāo)代碼、庫函數(shù),產(chǎn)生可執(zhí)行程序-運(yùn)行程序。5實(shí)驗(yàn)內(nèi)容及步驟1. 在機(jī)器中找到C子目錄,(如果在桌面上內(nèi)沒有,運(yùn)用“查找”設(shè)法找到),進(jìn)入C子目錄,找到文件.exe,運(yùn)行該文件,就可進(jìn)入C的編輯環(huán)境。2. 進(jìn)入編輯環(huán)境后,占據(jù)屏幕大部分的是編輯窗口。按下Alt+F鍵,激活File菜單(同理激活其它菜單),選中New命令,在這里可以編輯我們的源程序。大家可照下面的程序輸入,然后自己調(diào)試,看能否運(yùn)行成功:例 1#include void main() printf(“This is a program .n”);3. 將上述源程序輸
5、入后,就開始調(diào)試階段的工作了。激活Compile菜單,選中Compile命令(或直接按Ctrl+F9)進(jìn)行編譯,這里的主要任務(wù)是檢查源程序有無語法錯(cuò)誤。一個(gè)程序能運(yùn)行的前提是沒有語法錯(cuò)誤。如果出現(xiàn)錯(cuò)誤,大家可根據(jù)系統(tǒng)提示查錯(cuò)。常見的錯(cuò)誤有:漏掉詞法符號:如逗號、雙引號、花括號不匹配(括號或多或少)等;關(guān)鍵字寫錯(cuò):如把main寫成mian;數(shù)據(jù)類型定義前后不一致;另外,還有一種情況可導(dǎo)致文件調(diào)試通不過:文件路徑不對這常常是初學(xué)者最不注意的地方。由于在程序中經(jīng)常用到庫函數(shù),這些庫函數(shù)有的還被包含在一些頭文件中,為了讓編譯程序知道這些庫函數(shù)的確切位置,必須告訴系統(tǒng)它們的路徑,因此在運(yùn)行之前,還有一項(xiàng)
6、工作必須要做,即修改路徑。你必須知道include和lib的正確位置,一般情況下,它們在C目錄下。例如:若C在D盤根目錄下,則修改過程如下:(不同機(jī)房的情況可能不同)激活options菜單,選中directiories命令,彈出一個(gè)對話框,填寫如下:Include Directiories中寫:D:CINCLUDElibrary Directiories中寫: D:CLIB 后面還有兩個(gè)路徑,可根據(jù)自己的實(shí)際需要填寫,如可寫成:Output Directiories中寫::Source Directiories中寫::通過上述修改,看看你的程序是否能夠通過。如果你的程序還有語法錯(cuò)誤,那你要好好
7、檢查一下了。如果沒有語法錯(cuò)誤,那么你可以運(yùn)行看一下你的編程結(jié)果了。方法如下:運(yùn)行:激活Run菜單,選擇Run命令,(或直接按Ctrl+F9)運(yùn)行后又會(huì)回到編輯窗口,運(yùn)行結(jié)果在MS_DOS窗口下。查看結(jié)果:激活Windows窗口,選擇User Screen命令,(或直接按Alt+F5),你可以看到屏幕上顯示:This is a program . 恭喜你,運(yùn)行成功!4. 如果你想把這個(gè)程序保留下來(萬一時(shí)間不夠需要繼續(xù)調(diào)試也應(yīng)保留),激活File菜單,選中Save命令,然后告訴相應(yīng)的地址和文件名就可。這里File菜單中很多命令都與Word中的用法是類似的,如存盤命令等。不僅C編譯程序如此,很多W
8、indows的應(yīng)用程序也如此,這樣應(yīng)用程序之間有一定的兼容性,不至于用戶在學(xué)完一種應(yīng)用程序后,記熟了一套常用命令,換了另一種環(huán)境后,又要記另外一套命令。這樣其實(shí)是為了方便用戶。在今后的編程中,我們需要記住的一條編程原則是:盡量方便用戶,也就是俗話說:“方便留給別人,困難留給自己。”例 2 互換變量的值#include void main() int a,b,temp;a=3;b=4;/* 下面的程序?qū)⒁柚兞縯emp,將a、b的值互換 */temp=a; /* 將a的值存儲(chǔ)起來 */a=b; /* 將b的值轉(zhuǎn)到a中,實(shí)現(xiàn)b向a轉(zhuǎn)換 */b=temp; /* 將記錄a原始值的變量temp,賦值
9、給b,實(shí)現(xiàn)a向b轉(zhuǎn)換 */printf(“a=%d,b=%d”,a,b);程序運(yùn)行結(jié)果:a=4,b=35. 單步跟蹤:大家將上述程序敲入機(jī)器后,可以嘗試單步跟蹤,一步一步來查看計(jì)算機(jī)的運(yùn)行狀態(tài),看看計(jì)算機(jī)是否按照我們的預(yù)想在運(yùn)行,一旦出現(xiàn)邏輯錯(cuò)誤,可以通過單步跟蹤發(fā)現(xiàn)問題所在。方法如下:激活Run菜單,選擇Step Over命令,或直接按下F8鍵,進(jìn)入單步跟蹤狀態(tài),這時(shí)屏幕在主程序的第一句void main()處,出現(xiàn)一個(gè)寶石藍(lán)的光帶,表明現(xiàn)在計(jì)算機(jī)將按程序的邏輯一條一條執(zhí)行下去,不斷按下F8鍵,將執(zhí)行下一條語句,例如當(dāng)按到b=4時(shí),表明程序已經(jīng)執(zhí)行了a=3將要執(zhí)行b=4,那么我們來看看計(jì)算機(jī)
10、是不是真把3賦值給a了呢?激活Debug菜單,選擇EvaluateModify命令,或直接按下Ctrl+F4鍵,在出現(xiàn)的對話框中填入待查變量,按下Evaluate按鈕即可,見下圖:可見計(jì)算機(jī)確實(shí)執(zhí)行了a=3,如我們的預(yù)期,看來這一步?jīng)]有問題,其他情況可以類似檢查。例3:求1+2+3+4+5+100累加和#include void main() int i,sum;for(i=1;i=100;i+)sum=sum+i;printf(“sum=%d”,sum);原理:本題中可能有些語句大家一時(shí)看不懂,但這個(gè)小程序只是為了向大家說明讓計(jì)算機(jī)解題時(shí)該如何表達(dá),算法分析大家可以參見課本14頁的說明。有的
11、同學(xué)可能認(rèn)為從1加到100,口算就可以了,為什么還要費(fèi)事編程呢?這是因?yàn)楫?dāng)數(shù)據(jù)量較小時(shí),我們當(dāng)然可以口算,但遇到的許多實(shí)際問題卻是難于口算的,這樣當(dāng)我們把計(jì)算方法教給計(jì)算機(jī)后,剩下計(jì)算的問題就讓計(jì)算機(jī)來算好了。6. 通過上述分析,大家對算法在計(jì)算機(jī)中的作用就有了一些認(rèn)識,今后的編程中我們將時(shí)時(shí)考慮算法。這一點(diǎn)大家將會(huì)在今后的學(xué)習(xí)中慢慢體會(huì)。同時(shí),希望大家能用單步跟蹤的方式來解決一些邏輯問題。實(shí)驗(yàn)二控制語句1實(shí)驗(yàn)?zāi)康呐c意義1. 掌握表達(dá)式、賦值語句的正確書寫規(guī)則。2. 掌握if、switch語句的具體用法。3. 注意if_else語句嵌套中的匹配關(guān)系。4. 掌握多分支條件語句的用法。5. 掌握f
12、or語句的用法。6. 掌握while語句的用法。7. 掌握break、continue的用法。8. 掌握如何控制循環(huán)條件,防止死循環(huán)或不循環(huán)。9. 掌握一些經(jīng)典算法。2基本原理和方法通過條件選擇結(jié)構(gòu)或者多分之選擇結(jié)構(gòu)完成特定程序代碼的執(zhí)行,通過循環(huán)結(jié)構(gòu)完成特定代碼段的重復(fù)執(zhí)行,從而滿足實(shí)現(xiàn)程序算法的要求。3主要儀器設(shè)備及耗材計(jì)算機(jī)設(shè)備,軟件Turbo C或Turbo CFor Windows。4實(shí)驗(yàn)方案或技術(shù)路線在Turbo C集成化開發(fā)環(huán)境中,通過特定的算法結(jié)構(gòu)和程序結(jié)構(gòu)完成指定程序的編制、調(diào)試和執(zhí)行,并通過觀測程序輸出結(jié)果驗(yàn)證程序的正確性。5實(shí)驗(yàn)內(nèi)容及步驟編寫下面C語言程序(由任課教師指定
13、題目),在計(jì)算機(jī)上完成程序輸入、編譯、連接、運(yùn)行。1.有3個(gè)整數(shù) a、b、c,由鍵盤輸入,并輸出其中最大的數(shù)。2.給一個(gè)不多于5位的正整數(shù),要求:1)求出它是幾位數(shù);2)分別打印出每一位數(shù)字;3)按逆序打印出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123。【提示】此題在編程時(shí),要注意當(dāng)數(shù)據(jù)超出基本整型范圍時(shí),對數(shù)據(jù)類型的定義應(yīng)適當(dāng)擴(kuò)大范圍。實(shí)驗(yàn)指導(dǎo)教師要對邊界值進(jìn)行檢查。3.輸入4個(gè)整數(shù),要求按由小到大的順序輸出。4.求Fibonacci數(shù)列的算法,求該數(shù)列前20項(xiàng)之和。5.求1100之間的素?cái)?shù)之和。6.輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。7.輸入一行字符,分別統(tǒng)計(jì)其中英文字母、空格、
14、數(shù)字和其他字符的個(gè)數(shù)。8.求 1!+2!+3!+20!9.有一分?jǐn)?shù)序列:21 ,32 ,53 ,85 ,138 ,2113 求出這個(gè)數(shù)列的前20項(xiàng)之和。9. (120頁,6.12)用牛頓迭代法求下面方程在1.5附近的根。2x3-4x2+3x-6=0實(shí)驗(yàn)三數(shù)組1實(shí)驗(yàn)?zāi)康呐c意義1. 掌握數(shù)組的基本操作(數(shù)組聲明、數(shù)組初始化、數(shù)組輸出、求數(shù)組中最大、小元素及下標(biāo)、求和平均值等)。2. 重點(diǎn)掌握一維數(shù)組兩種排序方法。3. 重點(diǎn)掌握一維數(shù)組查找、插入算法。4用二維數(shù)組實(shí)現(xiàn)矩陣的有關(guān)方法算法。2基本原理和方法數(shù)組是具有相同數(shù)據(jù)類型的數(shù)據(jù)的有序的集合。通過對數(shù)組元素的引用完成對特定數(shù)據(jù)的操作,再結(jié)合相關(guān)的分
15、支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),實(shí)現(xiàn)特定的算法,從而完成排序、查找、插入和矩陣運(yùn)算的程序編制。3主要儀器設(shè)備及耗材計(jì)算機(jī)設(shè)備,軟件Turbo C或Turbo CFor Windows.4實(shí)驗(yàn)方案或技術(shù)路線在Turbo C集成化開發(fā)環(huán)境中,通過對數(shù)組的定義、賦值和特定的算法結(jié)構(gòu)和程序結(jié)構(gòu)完成指定程序的編制、調(diào)試和執(zhí)行,并通過觀測程序輸出結(jié)果驗(yàn)證程序的正確性。5實(shí)驗(yàn)內(nèi)容及步驟編寫下面C語言程序(由任課教師指定題目),在計(jì)算機(jī)上完成程序輸入、編譯、連接、運(yùn)行。1. 隨機(jī)產(chǎn)生10個(gè)正整數(shù),求最大值、最小值、平均值,并顯示整個(gè)數(shù)組的值和結(jié)果。2. 輸入整數(shù)n,顯示出n行的揚(yáng)輝三角形。3. 將下列無序數(shù):20,15,1
16、00,50,98,78,6,72 按從小到大的順序排列成有序數(shù)在其中查找關(guān)鍵字為50的元素,如果有,顯示查找到的信息,并指明在其中第幾個(gè)位置;如果沒有,要提示用戶沒有的信息。在其中查找關(guān)鍵字為80的元素,如果有,顯示查找到的信息,并指明在其中第幾個(gè)位置;如果沒有,要提示用戶沒有的信息。將上述關(guān)鍵字80插入到排序好的數(shù)組中去,并不改變原來的升序順序。4.用篩法求100之內(nèi)的素?cái)?shù)。5.用選擇法對10個(gè)整數(shù)排序。6.求一個(gè)3*3矩陣對角線元素之和。7.已有一個(gè)排好序的數(shù)組,今輸入一個(gè)數(shù),要求按原來排序的規(guī)律將它插入數(shù)組中。8.將一個(gè)數(shù)組中的值按逆序重新存放。例如,原來順序?yàn)?,6,5,4,1;要求改
17、為1,4,5,6,8。實(shí)驗(yàn)四函數(shù)1實(shí)驗(yàn)?zāi)康呐c意義1. 熟悉常用庫函數(shù)。2. 學(xué)習(xí)自定義函數(shù)的用法。3. 體會(huì)自定義函數(shù)在程序中的意義。4. 體會(huì)存儲(chǔ)類型的意義及其對變量生存期和初始化的影響。2基本原理和方法C語言的函數(shù)是子程序的總稱,包括函數(shù)和過程。C語言函數(shù)可以分為庫函數(shù)、用戶自定義函數(shù)。庫函數(shù)由系統(tǒng)提供,程序員只需要使用(調(diào)用),用戶自定義函數(shù)需要程序員自己編制。C語言程序可以包含一個(gè)main函數(shù),也可以包含一個(gè)main函數(shù)和若干個(gè)其它函數(shù)。通過函數(shù)調(diào)用實(shí)現(xiàn)功能模塊的調(diào)用,從而實(shí)現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)。3主要儀器設(shè)備及耗材計(jì)算機(jī)設(shè)備,軟件Turbo C或Turbo CFor Windows.4實(shí)
18、驗(yàn)方案或技術(shù)路線在Turbo C集成化開發(fā)環(huán)境中,通過在main函數(shù)中調(diào)用完成特定功能的函數(shù)來實(shí)現(xiàn)指定程序的編制、調(diào)試和執(zhí)行,并通過觀測程序輸出結(jié)果驗(yàn)證程序的正確性。5實(shí)驗(yàn)內(nèi)容及步驟編寫下面C語言程序(由任課教師指定題目),在計(jì)算機(jī)上完成程序輸入、編譯、連接、運(yùn)行。1.寫兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),并輸出結(jié)果,兩個(gè)整數(shù)由鍵盤輸入。2.求方程ax2+bx+c=0的根,用3個(gè)函數(shù)分別求當(dāng)b2-4ac大于0、等于0和小于時(shí)的根并輸出結(jié)果,從主函數(shù)a、b、c的值。3.寫一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。4.寫一個(gè)函數(shù),使給定的一
19、個(gè)二維數(shù)組(3*3)轉(zhuǎn)置,即行列互換。5.寫一個(gè)函數(shù),用“起泡法”對輸入的10個(gè)字符按由小到大順序排列。6.用遞歸法將一個(gè)n轉(zhuǎn)換成字符串。例如,輸入483,應(yīng)輸出字符串“483”。n的位數(shù)不確定,可以是任意位數(shù)的整數(shù)。7. 寫一個(gè)函數(shù),輸入一個(gè)十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。實(shí)驗(yàn)五指針與結(jié)構(gòu)體1實(shí)驗(yàn)?zāi)康呐c意義1. 掌握指針的定義并靈活掌握指針運(yùn)算符的用法。2. 掌握指針與數(shù)組的關(guān)系。3. 能夠理解應(yīng)用結(jié)構(gòu)體指針,實(shí)現(xiàn)單鏈表的插入、刪除算法。2基本原理和方法指針就是 “內(nèi)存單元的地址”。指針指向一個(gè)內(nèi)存單元,變量的指針就是“變量的地址”。變量的指針指向一個(gè)變量對應(yīng)的內(nèi)存單元,指針變量就是地址變量。地址(指針)也是數(shù)據(jù),可以保存在一個(gè)變量中。保存地址(指針)數(shù)據(jù)的變量稱為指針變量。指針使用靈活、方便,并可以使程序簡潔、高效、緊湊。3主要儀器設(shè)備及耗材計(jì)算機(jī)設(shè)備,軟件Turbo C或Turbo CFor Windows.4實(shí)驗(yàn)方案或技術(shù)路線通過在程序中對指針的定義、賦值和引用從而完成對特定的物理內(nèi)存地址中特定數(shù)據(jù)的引用,結(jié)合特定的算法和程序結(jié)構(gòu)完成指定程序的編制、調(diào)試和執(zhí)行,并通過觀測程序輸出結(jié)果驗(yàn)證程序設(shè)計(jì)的正確性。5實(shí)驗(yàn)內(nèi)容及步驟編寫下面C語言程序(由任課教師指定題目),在計(jì)算機(jī)上完成程序輸入、編譯、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 焊錫絲采購合同樣本
- 服務(wù)合同保管合同的訂金退還
- 標(biāo)準(zhǔn)勞務(wù)分包協(xié)議
- 海鮮供應(yīng)商合作合同
- 標(biāo)準(zhǔn)土地分割協(xié)議范本
- 設(shè)計(jì)合同補(bǔ)充協(xié)議的簽訂法律規(guī)定
- 企業(yè)代理記賬業(yè)務(wù)合同范本
- 房屋買賣合同案例研究論文
- 首付款借款合同樣本
- 農(nóng)村建房合同范本
- 【安徽山鷹紙業(yè)股份有限公司盈利能力探析(任務(wù)書+開題報(bào)告)3000字】
- 人教版九年級化學(xué)上冊期末試卷及答案免費(fèi)
- 2024屆重慶市西南大學(xué)附屬中學(xué)高考生物試題模擬題及解析附答案
- 油氣管道技術(shù)現(xiàn)狀與發(fā)展趨勢
- 第七、八章原核生物、真核生物基因的表達(dá)調(diào)控
- 細(xì)胞自噬與疾病關(guān)系
- 中藥飲片項(xiàng)目融資計(jì)劃書
- 基于STM32的智能溫控風(fēng)扇設(shè)計(jì)
- 《婚姻家庭糾紛調(diào)解》課件
- 《愛國主義教育》主題班會(huì)課件
評論
0/150
提交評論