C語言程序設(shè)計實驗教學(xué)大綱_第1頁
C語言程序設(shè)計實驗教學(xué)大綱_第2頁
C語言程序設(shè)計實驗教學(xué)大綱_第3頁
C語言程序設(shè)計實驗教學(xué)大綱_第4頁
C語言程序設(shè)計實驗教學(xué)大綱_第5頁
免費預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

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

文檔簡介

1、«C語言程序設(shè)計實驗教學(xué)大綱一、適用范圍大綱適用于計算機科學(xué)與技術(shù)專業(yè)本科教學(xué)使用。二、課程名稱c語言程序設(shè)計三、學(xué)時數(shù)與學(xué)分總學(xué)時:90總學(xué)分:4實驗學(xué)時:36 實驗學(xué)分:1四、教學(xué)目的和基本要求目的:通過 C程序設(shè)計實驗,培養(yǎng)學(xué)生對學(xué)習(xí)程序設(shè)計的興趣,加深對講授內(nèi)容的理解,尤其是通過上機來掌握語法規(guī)則,使學(xué)生全面了解C語言的特點,熟練掌握 C語言程序設(shè)計的基本方法和編程技巧?;疽螅毫私夂褪煜?C語言程序開發(fā)的環(huán)境;學(xué)會上機調(diào)試程序,善于發(fā)現(xiàn)程序中的錯 誤,并且能很快地排除這些錯誤,使程序能正確運行,達到實驗知識和理論知識的融會貫通。 上機實驗前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好

2、程序,然后在實驗時輸入程序、調(diào)試程序、 直至運行結(jié)果正確為止,上機結(jié)束后,應(yīng)整理出實驗報告。五、實驗項目與學(xué)時分配序號實驗項目名稱實驗學(xué)時實驗類型1C程序的運行環(huán)境和運行一個C程序的方法2驗證性實驗2數(shù)據(jù)類型、運算符和表達式2驗證性實驗3最簡單的C程序設(shè)計2驗證性實驗4選擇結(jié)構(gòu)程序設(shè)計2設(shè)計性實驗5循環(huán)控制4設(shè)計性實驗6數(shù)組4設(shè)計性實驗7函數(shù)4設(shè)計性實驗8預(yù)處理命令2設(shè)計性實驗9指針4設(shè)計性實驗10結(jié)構(gòu)體和共用體4設(shè)計性實驗11*位運算2設(shè)計性實驗12文件2設(shè)計性實驗13學(xué)生成績管理4綜合性實驗總計38注:帶*的實驗項目為選做實驗項目六、教材、講義及參考書«C程序設(shè)計題解與上機指導(dǎo)譚

3、浩強主編清華大學(xué)出版社七、實驗成績評定辦法考查:平時考核加期末機試。實驗成績占總成績的20%。平時考核:占實驗成績的 40%,由以下兩部分組成。實驗預(yù)習(xí)和表現(xiàn)、實驗報告。期末機試:占實驗成績的 60%。1、實驗預(yù)習(xí)和表現(xiàn):上機實驗前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好程序,然后在實 驗時輸入程序、調(diào)試程序、直至運行結(jié)果正確為止。在實驗中,教師可根據(jù)學(xué)生編程操作能 力、觀察和分析及運用知識能力、程序編制正確性以及學(xué)生的課堂紀律、實驗態(tài)度、保持實驗室衛(wèi)生等方面的表現(xiàn)進行綜合考核。2、 實驗報告: 學(xué)生實驗后應(yīng)按時完成實驗報告。 實驗報告應(yīng)包括以下內(nèi)容: 實驗?zāi)康摹?實驗要求,實驗題目、程序清單、運行結(jié)

4、果、實驗小結(jié)。3、期末機試:通過考試了解學(xué)生對基本理論掌握的程度和實際水平,教師出實驗考試題目,讓學(xué)生在規(guī)定的時間完成。八、實驗教學(xué)大綱說明本大綱共安排38 學(xué)時的實驗,其中帶*號實驗為選做實驗,實際課時為36 學(xué)時。實驗項目多為設(shè)計性實驗項目 ,每個設(shè)計性實驗項目中都包含數(shù)個小的設(shè)計性題目。九、實驗項目實驗一 C 程序的運行環(huán)境和運行一個C 程序的方法一、實驗?zāi)康?. 了解 TURBO C 編譯系統(tǒng)的基本操作方法,學(xué)會獨立使用該系統(tǒng)。2. 了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個C 程序。3. 通過運行簡單的 C 程序,初步了解C 源程序的特點。二、實驗內(nèi)容1 . 用編輯程序,輸入教材第

5、一章例 1.1 程序,并進行編譯和運行。應(yīng)了解所用的系統(tǒng)是用什么命令進行編譯和連接運行的。 編譯和連接后所得到的目標程序的后綴是什么形式的?2 .編寫一個 C 程序,輸出以下信息:*very good!*3 .輸入并運行教材第一章中例1.3,了解如何在運行時向程序變量輸入數(shù)據(jù)。實驗二 數(shù)據(jù)類型、運算符和表達式一、實驗?zāi)康? . 掌握 C 語言數(shù)據(jù)類型, 熟悉如何定義一個整型、 字符型、 實型變量, 以及對它們賦值 的方法,了解以上類型數(shù)據(jù)輸出時所用格式轉(zhuǎn)換符。2 .學(xué)會使用 C 的有關(guān)算術(shù)運算符, 以及包含這些運算符的表達式, 特別是自加(+)和自減(-)運算符的使用。3 .進一步熟悉C 程序

6、的編輯、編譯、連接和運行的過程。二、實驗內(nèi)容1. 輸入并運行以下程序:main( ) char c1,c2;c1=97;c2=98;printf( “ %cc n” ,c1,c2);printf( “ %dd n” ,c1,c2);在此基礎(chǔ)上將第三行、第四行改為:c1=321;c2=353;再使之運行,分析其運行結(jié)果。將第二行改為:int c1,c2;再使之運行,分析其運行結(jié)果。 。2. 輸入并運行以下程序:main( )int i=8,j=10,m,n;m=+i;n=j+;printf( “ %d,%d,%d,n%” d ,i,j,m,n);分別作以下改動并運行:程序改為:main( )in

7、t i=8,j=10;printf( “ %d,n%” d ,i+,j+);在的基礎(chǔ)上,將 printf語句改為:printf(“ %d,%nd” ,+i,+j);再將 printf 語句改為:printf(“ %d,%d,%d,n%” d ,i,j, i+,j+);程序改為:main( )int i=8,j=10,m=0,n=0;m+=i+;n-=-j;printf( “ i=%d,j=%d,m=%d,n=%nd” ,i,j,m,n);3. 請將下列給出的兩個程序段分別輸入計算機后,分析其運行結(jié)果: main() int num;num=32767;printf( “num=%dn ”,+n

8、um); main()1 int a=-2;printf( “%d, %dn ”,a, a-);實驗三 最簡單的 C 程序設(shè)計一、實驗?zāi)康? . 掌握 C 語言中使用最多的一種語句賦值語句的使用。3 .掌握數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二、實驗內(nèi)容1 . 上機輸入以下程序:main( )int a,b;float c;scanf(“%d%d%f ”,&a,&b,&c);printf( “a=%-4d,b=%4d,c=%f,c=%.2fn ”,a,b,c,c);要使 a=3, b=4 , c=12.3456 ,在鍵盤上應(yīng)如何輸入?有幾種方式?2 .若將輸

9、入函數(shù)改為scanf(“%d, %d ,%f ”,&a,&b,&c); 應(yīng)該如何輸入數(shù)據(jù)?3 .上機輸入以下程序:main( )int a; float b; char c;scanf(“%4d%5f%3c ”,&a,&b,&c);printf( “a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%cn ”,a,a,a,b,b,c);要使 a=77 , b=4.56 , c= A ,在鍵盤上應(yīng)如何輸入?4 .輸入兩面整型變量a、 b 的值,輸出下列算式以及運算結(jié)果。a+b、 a-b、 a*b 、 a/b、 (float)a/b

10、、 a%b每個算式占一行。如 a 等于 10, b 等于 6 , a+b 應(yīng)輸入為:10+6=165 .編寫程序,用getchar函數(shù)讀入兩個字符cl、c2,然后分別用putchar函數(shù)和printf函數(shù)輸出這兩個字符。上機運行程序,比較用 printf 和 putchar 函數(shù)輸出字符的特點。實驗四 選擇結(jié)構(gòu)程序設(shè)計一、實驗?zāi)康? . 了解C 語言表示邏輯量的方法(以 0 代表“假” ,以 1 代表“真” );2 .學(xué)會正確使用邏輯運算符和邏輯表達式;3 .熟練掌握if 語句和 switch 語句。二、實驗內(nèi)容先編程序,解以下問題,然后上機調(diào)試運行程序。1. 有一個函數(shù)x x1y 2x 11

11、 x 103x 11 x 10用scanf函數(shù)輸入x的值(分別為x<1、110、R 10三種情況),求y值。2 .給出一個百分制成績,要求輸出成績等級A , B , C , D , E 。 90 分以上為'A', 8089分為B', 7079分為C', 6069分為D', 60分以下為E'。3 .給一個不多于5 位的正整數(shù),要求: 求出它是幾位數(shù); 分別打印出每一位數(shù)字; 按逆序打印出各位數(shù)字,例如原數(shù)為321 ,應(yīng)輸出 123。實驗五 循環(huán)控制一、實驗?zāi)康? . 熟悉用while 語句, do-while 語句和 for 語句實現(xiàn)循環(huán)的方

12、法。2 .掌握在程序設(shè)計中用循環(huán)的方法實現(xiàn)各種算法(如窮舉、迭代、遞推等) 。二、實驗內(nèi)容編程序并上機調(diào)試運行。1 . 輸入兩個正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。2 .輸入一行字符,分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其它字符的個數(shù)。3 .用牛頓迭代法求方程2x3-4x2+3x-6=0 在 1.5 附近的根。牛頓迭代法的公式是x Xof(x)_ ,f (x)4 .打印出以下圖案: * * *5 .編程求 1!+2!+3!+ +20!。實驗六數(shù)組一、實驗?zāi)康? .掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法;2 .掌握字符數(shù)組和字符串函數(shù)的使用。3 .掌握與數(shù)組有關(guān)的算法(特別是排序

13、算法)。二、實驗內(nèi)容編程序并上機調(diào)試運行。1 .編寫程序,用scanf函數(shù)輸入10個整數(shù)的數(shù)列,先將整數(shù)按照從大到小的順序進行 排序,然后輸入一個整數(shù)插入到數(shù)列中,使數(shù)列保持從大到小的順序。2 .有15個數(shù)存放在一個數(shù)組中,輸入一個數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第 幾個元素的值,如果該數(shù)不在數(shù)組中,則輸出“無此數(shù)”,并且可以實現(xiàn)連續(xù)查找。15個數(shù)用賦初值的方法在程序中給出,要找的數(shù)用scanf函數(shù)輸入。3 .將以下二維數(shù)組中數(shù)按列的順序存放到一個一維數(shù)組中。二維數(shù)組的內(nèi)容是11 22 33 4411 22 33 4411 22 33 44則一維數(shù)組中的內(nèi)容是 11 11 11 22 22

14、 22 33 33 33 44 44 444 .將兩個字符串連接起來,不要用strcat函數(shù)。5 .從鍵盤輸入5個字符串,找出最長的字符串和最大的字符串。實驗七函數(shù)一、實驗?zāi)康? .掌握定義函數(shù)的方法;2 .掌握函數(shù)實參與形參的對應(yīng)關(guān)系,以及“值傳遞”的方式;3 .掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法;4 .掌握全局變量和局部變量,動態(tài)變量和靜態(tài)變量的概念和使用方法。二、實驗內(nèi)容編程序并上機調(diào)試運行之。1 .寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否是素數(shù)的信息。2 .兩個函數(shù),分別求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個函數(shù), 并輸出結(jié)果。兩個整數(shù)在主函數(shù)中輸入,并傳送

15、給函數(shù)1,求出的最大公約數(shù)返回主函數(shù),然后再與兩個整數(shù)一起作為實參傳遞給函數(shù)2,以求出最小公倍數(shù),返回到主函數(shù)輸出最大公約數(shù)和最小公倍數(shù)。3 .已知二階Fibonacci數(shù)列:0若 n=0Fib(n)= -J 1若 n=1I Fib(n-1)+Fib(n-2)其他情況定義遞歸函數(shù)求Fib(n)。4 .寫一個函數(shù)完成下列任務(wù):輸入一個表示正整數(shù)的字符串,將字符串轉(zhuǎn)換成對應(yīng)的數(shù)字。例如,輸入3個字符組成的字符串“ 123”,將它轉(zhuǎn)換成整型數(shù)123。5 .設(shè)計一個含有多個菜單項的菜單演示程序。程序運行后,給出4個菜單項的內(nèi)容和輸入提示:1 .求最大公約數(shù)2 .求最小公倍數(shù)3 .判斷素數(shù)4 .退出程序

16、選才i 1-4:5 用數(shù)字14來選擇菜單項,其他輸入則不起作用。實驗八預(yù)處理命令一、實驗?zāi)康? .掌握宏定義的方法;2 .掌握文件包含處理方法;3 .掌握條件編譯的方法。二、實驗內(nèi)容編程序并上機調(diào)試運行。1 .定義一個帶參數(shù)的宏,使兩個參數(shù)的值互換。在主函數(shù)中輸入兩個數(shù)作為使用宏的實 參,輸出已交換后的兩個值。說明:在程序主函數(shù)使用宏日只能用兩個實參,如S),不能用三個參數(shù)。2 .設(shè)計輸出實數(shù)的格式, 包括:(1) 一行輸出一個實數(shù);(2) 一行內(nèi)輸出兩個實數(shù);(3) 一行內(nèi)輸出三個實數(shù)。實數(shù)用“6.2f”格式輸出。用一個文件“format.h”包含以上用#define命令定義的格式。 在自己

17、的文件(自己命名) 中用#include命令將"format.h”文件包含進來。在程序中用scanf函數(shù)讀入三個實數(shù)給 f1,f2,f3。 然后用上面定義的三種格式分別輸出f1;f1,f2;f1,f2,f3。3 .用條件編譯方法實現(xiàn)以下功能:輸入一行電報文字,可以任選兩種輸出,一為原文輸出;一為將字母變成其下字母(如a變成b',,z變成'a'。其它字符不變)。用#de巾ne命令來控制是否要譯成密碼。 例如:#define CHANGE 1則輸出密碼。若#define CHANGE 0則不譯成密碼,按原碼輸出。用條件編譯方法來處理。實驗九指針一、實驗?zāi)康? .掌

18、握指針的概念,會定義和使用指針變量;2 .學(xué)會使用數(shù)組的指針和指向數(shù)組的指針變量;3 .學(xué)會使用字符串的指針和指向字符串的指針變量;4 .學(xué)會使用指向函數(shù)的指針變量;5 . 了解指向指針的指針的概念及其使用方法。二、實驗內(nèi)容編程序并上機調(diào)試運行程序(都要求用指針處理) 。1 .定義函數(shù) void fun(int x ,int *max,int *min) ,找出數(shù)組 x 中的最大值和最小值,最 大值和最小值通過形參指針 max 和 min 傳回。2 .編寫一個函數(shù)comp(s1,s2)實現(xiàn)兩個字符串的比較。如果s1=s2,則函數(shù)返回值為 0;如果slws2,返回它們二者第一個不同字符的ASCI

19、I碼差值(如“BOY ”與“BAD ”,第二個字母不同,"O”與" A”之差為79-65=14);如果s1>s2, 則輸出正值;如 s1<s2 則輸出負值。兩個字符串 s1,s2 由 main 函數(shù)輸入, strcmp 函數(shù)的返回值也在main 函數(shù)輸出。3 .從鍵盤輸入一個字符串與一個指定字符, 調(diào)用函數(shù), 將字符串中出現(xiàn)的指定字符全部 刪除。4 .編程將從鍵盤輸入的每個單詞的第一個字母轉(zhuǎn)換為大寫字母, 輸入時各單詞必須用空 格隔開,用“ .”結(jié)束輸入。5 .在主函數(shù)中輸入 5 個字符串,用另一個函數(shù)對它們排序(要求用指針數(shù)組來完成) , 然后在主函數(shù)輸出排好

20、序的字符串。實驗十 結(jié)構(gòu)體和共用體一、實驗?zāi)康? . 掌握結(jié)構(gòu)體類型變量的定義和使用;2 .掌握結(jié)構(gòu)體類型數(shù)組的概念和應(yīng)用;3 .掌握鏈表的概念,初步學(xué)會對鏈表進行操作;4 .掌握共用體的概念與使用。二、實驗內(nèi)容編程序,然后上機調(diào)試運行。1 .有 3 個學(xué)生,每個學(xué)生的數(shù)據(jù)包括學(xué)號、三門課的成績,要求用 input 函數(shù)實現(xiàn)從鍵 盤輸入學(xué)生數(shù)據(jù),用 average函數(shù)求每個人的平均分,用 output函數(shù)打印學(xué)生數(shù)據(jù)及平均成 績。2 .建立一個帶有頭結(jié)點的單鏈表,每個結(jié)點包括:學(xué)號、年齡,并輸出鏈表中所有結(jié)點 的數(shù)據(jù)。 在鏈表中查找年齡最大的結(jié)點, 并將鏈表中等于此年齡的結(jié)點刪除 (年齡最大的

21、結(jié) 點可能不止一個) 。3 .將一個鏈表按逆序排列,即將鏈頭當(dāng)鏈尾,鏈尾當(dāng)鏈頭。4 .上機輸入如下程序:main( )union btint k; char c2;a;a.k= -7;printf( “%o,%on ”,a.c0,a.c1);分析其運行結(jié)果。實驗十一 位運算一、實驗?zāi)康? . 掌握按位運算的概念和方法,學(xué)會使用位運算符;2 .學(xué)會通過位運算實現(xiàn)對某些位的操作。二、實驗內(nèi)容編寫程序,上機調(diào)試并運行。1 .編一個函數(shù)getbits,從一個16位的單元中取出某幾位(即該幾位保留原值,其余位為0)。函數(shù)調(diào)用形式為:getbits(value,n1,n2)value 為該 16 位數(shù)的值

22、, n1 為欲取出的起始位, n2 為欲取出的的結(jié)束位。如:getbits(0101675,5,8)表示對八進制數(shù)101675,取出其從左面起的第5位到第8位。要求把這幾位數(shù)用八進制數(shù)打印出來。注意,應(yīng)當(dāng)將這幾位數(shù)右移到最右端,然后用八進制形式輸出。2 .利用位運算操作,實現(xiàn)交換兩個變量的值。3 .將一個十六進制整數(shù)的各位循環(huán)左移 4 位,然后用十六進制形式輸出。實驗十二 文件一、實驗?zāi)康? . 掌握文件以及緩沖文件系統(tǒng)、文件指針的概念;2 .學(xué)會使用文件打開、關(guān)閉、讀、寫等文件操作函數(shù)。3 .學(xué)會用緩沖文件系統(tǒng)對文件進行簡單的操作。二、實驗內(nèi)容編寫程序并上機調(diào)試運行。1 .編程序求 100 以內(nèi)的素數(shù),分別將它輸出到顯示器屏幕和x.txt 文件中,要求每行5個數(shù)。2 .從鍵盤輸入幾本書的數(shù)據(jù),每本書的數(shù)據(jù)包括條形碼、書名和價格,將每項數(shù)據(jù)分別寫入文本文件s.txt 和二進制文件s.d

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論