C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)講義終稿_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)講義終稿_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)講義終稿_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)講義終稿_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)講義終稿_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)及實(shí)驗(yàn)實(shí)驗(yàn)教學(xué)大綱課程編碼:406041123 總學(xué)時(shí):64學(xué)時(shí) 實(shí)驗(yàn)學(xué)時(shí):16學(xué)時(shí) 適用專業(yè)及層次:電子信息工程 專業(yè)本科 實(shí)驗(yàn)地點(diǎn):電子與信息工程 實(shí)驗(yàn)中心 第二 實(shí)驗(yàn)室 系(教研室):信息工程學(xué)院 網(wǎng)絡(luò)工程教研室執(zhí)筆人:賈電如 大綱審批人一、教學(xué)目的和基本要求目的:通過(guò)C程序設(shè)計(jì)實(shí)驗(yàn),培養(yǎng)學(xué)生對(duì)學(xué)習(xí)程序設(shè)計(jì)的興趣,加深對(duì)講授內(nèi)容的理解,尤其是通過(guò)上機(jī)來(lái)掌握語(yǔ)法規(guī)則,使學(xué)生全面了解 C 語(yǔ)言的特點(diǎn),熟練掌握C 語(yǔ)言程序設(shè)計(jì)的基本方法和編程技巧。基本要求:了解和熟悉C語(yǔ)言程序開發(fā)的環(huán)境;學(xué)會(huì)上機(jī)調(diào)試程序,善于發(fā)現(xiàn)程序中的錯(cuò)誤,并且能很快地排除這些錯(cuò)誤,使程序能正確運(yùn)行,達(dá)到實(shí)驗(yàn)

2、知識(shí)和理論知識(shí)的融會(huì)貫通。上機(jī)實(shí)驗(yàn)前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好程序,然后在實(shí)驗(yàn)時(shí)輸入程序、調(diào)試程序、直至運(yùn)行結(jié)果正確為止,上機(jī)結(jié)束后,應(yīng)整理出實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)軟硬件環(huán)境要求1、C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)譚浩強(qiáng)主編 清華大學(xué)出版社2、微機(jī) ,安裝、vc+6.0三、實(shí)驗(yàn)項(xiàng)目與學(xué)時(shí)分配編號(hào)實(shí)驗(yàn)項(xiàng)目名稱學(xué)時(shí)分配實(shí)驗(yàn)類型備注1C程序的運(yùn)行環(huán)境和運(yùn)行一個(gè)C程序的方法、數(shù)據(jù)類型、運(yùn)算符和表達(dá)式2設(shè)計(jì)性2順序結(jié)構(gòu)程序設(shè)計(jì)2設(shè)計(jì)性3選擇結(jié)構(gòu)程序設(shè)計(jì)2設(shè)計(jì)性4循環(huán)結(jié)構(gòu)程序設(shè)計(jì)2設(shè)計(jì)性5數(shù)組2設(shè)計(jì)性6函數(shù)2設(shè)計(jì)性7指針2設(shè)計(jì)性8結(jié)構(gòu)體和共用體、鏈表操作2設(shè)計(jì)性四、實(shí)驗(yàn)項(xiàng)目實(shí)驗(yàn)一 C程序的運(yùn)行環(huán)境和運(yùn)行一個(gè)C程

3、序的方法一、實(shí)驗(yàn)?zāi)康?.了解vc+6.0編譯系統(tǒng)的基本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)。2.了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C程序。3.通過(guò)運(yùn)行簡(jiǎn)單的C程序,初步了解C源程序的特點(diǎn)。4.掌握C語(yǔ)言數(shù)據(jù)類型,熟悉如何定義一個(gè)整型、字符型、實(shí)型變量,以及對(duì)它們賦值的方法,了解以上類型數(shù)據(jù)輸出時(shí)所用格式轉(zhuǎn)換符。5.學(xué)會(huì)使用C的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(+)和自減(-)運(yùn)算符的使用。6.進(jìn)一步熟悉C程序的編輯、編譯、連接和運(yùn)行的過(guò)程。二、實(shí)驗(yàn)內(nèi)容1.用編輯程序,輸入教材第一章例1.1程序,并進(jìn)行編譯和運(yùn)行。應(yīng)了解所用的系統(tǒng)是用什么命令進(jìn)行編譯和連接運(yùn)行的。編譯和連

4、接后所得到的目標(biāo)程序的后綴是什么形式的?2.編寫一個(gè)C程序,輸出以下信息:* very good!*3.輸入并運(yùn)行教材第一章中例1.3,了解如何在運(yùn)行時(shí)向程序變量輸入數(shù)據(jù)。4.輸入并運(yùn)行以下程序:main( ) char c1,c2; c1=97;c2=98; printf(“%c %cn”,c1,c2);printf(“%d %dn”,c1,c2); 在此基礎(chǔ)上將第三行、第四行改為: c1=321;c2=353; 再使之運(yùn)行,分析其運(yùn)行結(jié)果。將第二行改為: int c1,c2; 再使之運(yùn)行,分析其運(yùn)行結(jié)果。5、.輸入并運(yùn)行以下程序: main( ) int i=8,j=10,m,n;m=+i

5、;n=j+;printf(“%d,%d,%d,%dn”,i,j,m,n); 分別作以下改動(dòng)并運(yùn)行:程序改為:main( ) int i=8,j=10;printf(“%d,%dn”,i+,j+); 在的基礎(chǔ)上,將printf語(yǔ)句改為:printf(“%d,%dn”,+i,+j);再將printf語(yǔ)句改為:printf(“%d,%d,%d,%dn”,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=%dn”,i,j,m,n); 6. 請(qǐng)將下列給出的兩個(gè)程序段分別輸入計(jì)算機(jī)后,分析其

6、運(yùn)行結(jié)果:main() int num; num=32767; printf(“num=%dn”,+num); main() int a=-2; printf(“%d, %dn”,a, a-); 實(shí)驗(yàn)二 最簡(jiǎn)單的C程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.掌握C語(yǔ)言中使用最多的一種語(yǔ)句賦值語(yǔ)句的使用。2.掌握數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二、實(shí)驗(yàn)內(nèi)容1.上機(jī)輸入以下程序: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

7、=4,c=12.3456,在鍵盤上應(yīng)如何輸入?有幾種方式?2.若將輸入函數(shù)改為scanf(“%d, %d ,%f”,&a,&b,&c);應(yīng)該如何輸入數(shù)據(jù)?3.上機(jī)輸入以下程序: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的值,輸出下列算式以及運(yùn)算結(jié)果。a+b、a-b、a*b

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

9、0、10三種情況),求y值。2.給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)A,B,C,D,E。90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E。3.給一個(gè)不多于5位的正整數(shù),要求: 求出它是幾位數(shù); 分別打印出每一位數(shù)字; 按逆序打印出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123。實(shí)驗(yàn)四 循環(huán)控制一、實(shí)驗(yàn)?zāi)康?.熟悉用while語(yǔ)句,do-while語(yǔ)句和for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。2.掌握在程序設(shè)計(jì)中用循環(huán)的方法實(shí)現(xiàn)各種算法(如窮舉、迭代、遞推等)。二、實(shí)驗(yàn)內(nèi)容編程序并上機(jī)調(diào)試運(yùn)行。1.輸入兩個(gè)正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。2.輸入一行字符,分別統(tǒng)計(jì)出其中的英文字母

10、、空格、數(shù)字和其它字符的個(gè)數(shù)。3.用牛頓迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。牛頓迭代法的公式是。4.打印出以下圖案: * * * * * * *5.編程求1!+2!+3!+20!。實(shí)驗(yàn)五 數(shù)組一、實(shí)驗(yàn)?zāi)康?.掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法;2.掌握字符數(shù)組和字符串函數(shù)的使用。3.掌握與數(shù)組有關(guān)的算法(特別是排序算法)。二、實(shí)驗(yàn)內(nèi)容 編程序并上機(jī)調(diào)試運(yùn)行。1. 編寫程序,用scanf函數(shù)輸入10個(gè)整數(shù)的數(shù)列,先將整數(shù)按照從大到小的順序進(jìn)行排序,然后輸入一個(gè)整數(shù)插入到數(shù)列中,使數(shù)列保持從大到小的順序。2.有15個(gè)數(shù)存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),要求用折半查

11、找法找出該數(shù)是數(shù)組中第幾個(gè)元素的值,如果該數(shù)不在數(shù)組中,則輸出“無(wú)此數(shù)” ,并且可以實(shí)現(xiàn)連續(xù)查找。15個(gè)數(shù)用賦初值的方法在程序中給出,要找的數(shù)用scanf函數(shù)輸入。3.將以下二維數(shù)組中數(shù)按列的順序存放到一個(gè)一維數(shù)組中。二維數(shù)組的內(nèi)容是11 22 33 4411 22 33 4411 22 33 44則一維數(shù)組中的內(nèi)容是11 11 11 22 22 22 33 33 33 44 44 44 4.將兩個(gè)字符串連接起來(lái),不要用strcat函數(shù)。5.從鍵盤輸入5個(gè)字符串,找出最長(zhǎng)的字符串和最大的字符串。實(shí)驗(yàn)六 函數(shù)一、實(shí)驗(yàn)?zāi)康?.掌握定義函數(shù)的方法;2.掌握函數(shù)實(shí)參與形參的對(duì)應(yīng)關(guān)系,以及“值傳遞”的方

12、式;3.掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法;4.掌握全局變量和局部變量,動(dòng)態(tài)變量和靜態(tài)變量的概念和使用方法。二、實(shí)驗(yàn)內(nèi)容編程序并上機(jī)調(diào)試運(yùn)行之。1.寫一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否是素?cái)?shù)的信息。2.兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),并輸出結(jié)果。兩個(gè)整數(shù)在主函數(shù)中輸入,并傳送給函數(shù)1,求出的最大公約數(shù)返回主函數(shù),然后再與兩個(gè)整數(shù)一起作為實(shí)參傳遞給函數(shù)2,以求出最小公倍數(shù),返回到主函數(shù)輸出最大公約數(shù)和最小公倍數(shù)。3.已知二階Fibonacci數(shù)列: 0 若n=0Fib(n)= 1 若n=1 Fib(n-1)+Fib(n-2) 其他情況定義

13、遞歸函數(shù)求Fib(n)。4.寫一個(gè)函數(shù)完成下列任務(wù):輸入一個(gè)表示正整數(shù)的字符串,將字符串轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字。例如,輸入3個(gè)字符組成的字符串“123”,將它轉(zhuǎn)換成整型數(shù)123。5.設(shè)計(jì)一個(gè)含有多個(gè)菜單項(xiàng)的菜單演示程序。程序運(yùn)行后,給出4個(gè)菜單項(xiàng)的內(nèi)容和輸入提示:1.求最大公約數(shù)2.求最小公倍數(shù)3.判斷素?cái)?shù)4.退出程序選擇1-4:使用數(shù)字14來(lái)選擇菜單項(xiàng),其他輸入則不起作用。實(shí)驗(yàn):(選作)預(yù)處理命令一、實(shí)驗(yàn)?zāi)康?.掌握宏定義的方法;2.掌握文件包含處理方法;3.掌握條件編譯的方法。二、實(shí)驗(yàn)內(nèi)容編程序并上機(jī)調(diào)試運(yùn)行。1.定義一個(gè)帶參數(shù)的宏,使兩個(gè)參數(shù)的值互換。在主函數(shù)中輸入兩個(gè)數(shù)作為使用宏的實(shí)參,輸出

14、已交換后的兩個(gè)值。說(shuō)明:在程序主函數(shù)使用宏時(shí)只能用兩個(gè)實(shí)參,如S),不能用三個(gè)參數(shù)。2.設(shè)計(jì)輸出實(shí)數(shù)的格式,包括:(1)一行輸出一個(gè)實(shí)數(shù);(2)一行內(nèi)輸出兩個(gè)實(shí)數(shù);(3)一行內(nèi)輸出三個(gè)實(shí)數(shù)。實(shí)數(shù)用“%6.2f”格式輸出。用一個(gè)文件“format.h”包含以上用#define命令定義的格式。在自己的文件(自己命名)中用#include命令將“format.h”文件包含進(jìn)來(lái)。在程序中用scanf函數(shù)讀入三個(gè)實(shí)數(shù)給f1,f2,f3。然后用上面定義的三種格式分別輸出f1;f1,f2;f1,f2,f3。3.用條件編譯方法實(shí)現(xiàn)以下功能:輸入一行電報(bào)文字,可以任選兩種輸出,一為原文輸出;一為將字母變成其下字

15、母(如a變成b,z變成a。其它字符不變)。用#define命令來(lái)控制是否要譯成密碼。例如:#define CHANGE 1則輸出密碼。若#define CHANGE 0則不譯成密碼,按原碼輸出。用條件編譯方法來(lái)處理。實(shí)驗(yàn)七 結(jié)構(gòu)體和共用體一、實(shí)驗(yàn)?zāi)康?.掌握結(jié)構(gòu)體類型變量的定義和使用;2.掌握結(jié)構(gòu)體類型數(shù)組的概念和應(yīng)用;3.掌握共用體的概念與使用。4.掌握鏈表的概念,初步學(xué)會(huì)對(duì)鏈表進(jìn)行操作二、實(shí)驗(yàn)內(nèi)容編程序,然后上機(jī)調(diào)試運(yùn)行。1.有3個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、三門課的成績(jī),要求用input函數(shù)實(shí)現(xiàn)從鍵盤輸入學(xué)生數(shù)據(jù),用average函數(shù)求每個(gè)人的平均分,用output函數(shù)打印學(xué)生數(shù)據(jù)及平

16、均成績(jī)。2.上機(jī)輸入如下程序:main( )union bt int k; char c2;a; a.k= -7; printf(“%o,%on”,a.c0,a.c1);分析其運(yùn)行結(jié)果。3.建立一個(gè)帶有頭結(jié)點(diǎn)的單鏈表,每個(gè)結(jié)點(diǎn)包括:學(xué)號(hào)、年齡,并輸出鏈表中所有結(jié)點(diǎn)的數(shù)據(jù)。在鏈表中查找年齡最大的結(jié)點(diǎn),并將鏈表中等于此年齡的結(jié)點(diǎn)刪除(年齡最大的結(jié)點(diǎn)可能不止一個(gè))。4.將一個(gè)鏈表按逆序排列,即將鏈頭當(dāng)鏈尾,鏈尾當(dāng)鏈頭。實(shí)驗(yàn)八 文件一、實(shí)驗(yàn)?zāi)康?.掌握文件以及緩沖文件系統(tǒng)、文件指針的概念;2.學(xué)會(huì)使用文件打開、關(guān)閉、讀、寫等文件操作函數(shù)。3.學(xué)會(huì)用緩沖文件系統(tǒng)對(duì)文件進(jìn)行簡(jiǎn)單的操作。二、實(shí)驗(yàn)內(nèi)容編寫程序并上機(jī)調(diào)試運(yùn)行。1.編程序求100以內(nèi)的素?cái)?shù),分別將它輸出到顯示器屏幕和x.txt文件中,要求每行5個(gè)數(shù)。2.從鍵盤輸入幾本書的數(shù)據(jù),每本書的數(shù)據(jù)包括條形碼、書名和價(jià)格,將每項(xiàng)數(shù)據(jù)分別寫入文本文件s.txt和二進(jìn)制文件s.dat。3.從上題的文本文件s.txt或二進(jìn)制文件s.dat中讀入每本書的數(shù)據(jù),計(jì)算所有書的平均價(jià)格。要求用input函數(shù)讀入,average函數(shù)求平均價(jià)格。四、評(píng)分依據(jù)1、實(shí)驗(yàn)預(yù)習(xí)和表現(xiàn):上機(jī)實(shí)驗(yàn)前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好程序,然后在實(shí)驗(yàn)時(shí)輸入程序、調(diào)試程序、直至運(yùn)行結(jié)果正確為止。在實(shí)驗(yàn)中,教師可根據(jù)學(xué)生編程操作能力

溫馨提示

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

評(píng)論

0/150

提交評(píng)論