版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言程序設(shè)計及實驗實驗教學(xué)大綱課程編碼:406041123 總學(xué)時:64學(xué)時 實驗學(xué)時:16學(xué)時 適用專業(yè)及層次:電子信息工程 專業(yè)本科 實驗地點:電子與信息工程 實驗中心 第二 實驗室 系(教研室):信息工程學(xué)院 網(wǎng)絡(luò)工程教研室執(zhí)筆人:賈電如 大綱審批人一、教學(xué)目的和基本要求目的:通過C程序設(shè)計實驗,培養(yǎng)學(xué)生對學(xué)習(xí)程序設(shè)計的興趣,加深對講授內(nèi)容的理解,尤其是通過上機來掌握語法規(guī)則,使學(xué)生全面了解 C 語言的特點,熟練掌握C 語言程序設(shè)計的基本方法和編程技巧?;疽螅毫私夂褪煜語言程序開發(fā)的環(huán)境;學(xué)會上機調(diào)試程序,善于發(fā)現(xiàn)程序中的錯誤,并且能很快地排除這些錯誤,使程序能正確運行,達到實驗
2、知識和理論知識的融會貫通。上機實驗前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好程序,然后在實驗時輸入程序、調(diào)試程序、直至運行結(jié)果正確為止,上機結(jié)束后,應(yīng)整理出實驗報告。二、實驗軟硬件環(huán)境要求1、C程序設(shè)計題解與上機指導(dǎo)譚浩強主編 清華大學(xué)出版社2、微機 ,安裝、vc+6.0三、實驗項目與學(xué)時分配編號實驗項目名稱學(xué)時分配實驗類型備注1C程序的運行環(huán)境和運行一個C程序的方法、數(shù)據(jù)類型、運算符和表達式2設(shè)計性2順序結(jié)構(gòu)程序設(shè)計2設(shè)計性3選擇結(jié)構(gòu)程序設(shè)計2設(shè)計性4循環(huán)結(jié)構(gòu)程序設(shè)計2設(shè)計性5數(shù)組2設(shè)計性6函數(shù)2設(shè)計性7指針2設(shè)計性8結(jié)構(gòu)體和共用體、鏈表操作2設(shè)計性四、實驗項目實驗一 C程序的運行環(huán)境和運行一個C程
3、序的方法一、實驗?zāi)康?.了解vc+6.0編譯系統(tǒng)的基本操作方法,學(xué)會獨立使用該系統(tǒng)。2.了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個C程序。3.通過運行簡單的C程序,初步了解C源程序的特點。4.掌握C語言數(shù)據(jù)類型,熟悉如何定義一個整型、字符型、實型變量,以及對它們賦值的方法,了解以上類型數(shù)據(jù)輸出時所用格式轉(zhuǎn)換符。5.學(xué)會使用C的有關(guān)算術(shù)運算符,以及包含這些運算符的表達式,特別是自加(+)和自減(-)運算符的使用。6.進一步熟悉C程序的編輯、編譯、連接和運行的過程。二、實驗內(nèi)容1.用編輯程序,輸入教材第一章例1.1程序,并進行編譯和運行。應(yīng)了解所用的系統(tǒng)是用什么命令進行編譯和連接運行的。編譯和連
4、接后所得到的目標(biāo)程序的后綴是什么形式的?2.編寫一個C程序,輸出以下信息:* very good!*3.輸入并運行教材第一章中例1.3,了解如何在運行時向程序變量輸入數(shù)據(jù)。4.輸入并運行以下程序:main( ) char c1,c2; c1=97;c2=98; printf(“%c %cn”,c1,c2);printf(“%d %dn”,c1,c2); 在此基礎(chǔ)上將第三行、第四行改為: c1=321;c2=353; 再使之運行,分析其運行結(jié)果。將第二行改為: int c1,c2; 再使之運行,分析其運行結(jié)果。5、.輸入并運行以下程序: main( ) int i=8,j=10,m,n;m=+i
5、;n=j+;printf(“%d,%d,%d,%dn”,i,j,m,n); 分別作以下改動并運行:程序改為:main( ) int i=8,j=10;printf(“%d,%dn”,i+,j+); 在的基礎(chǔ)上,將printf語句改為:printf(“%d,%dn”,+i,+j);再將printf語句改為: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. 請將下列給出的兩個程序段分別輸入計算機后,分析其
6、運行結(jié)果:main() int num; num=32767; printf(“num=%dn”,+num); main() int a=-2; printf(“%d, %dn”,a, a-); 實驗二 最簡單的C程序設(shè)計一、實驗?zāi)康?.掌握C語言中使用最多的一種語句賦值語句的使用。2.掌握數(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
7、=4,c=12.3456,在鍵盤上應(yīng)如何輸入?有幾種方式?2.若將輸入函數(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
8、、a/b、(float)a/b、a%b每個算式占一行。如a等于10,b等于6,a+b應(yīng)輸入為:10+6=165.編寫程序,用getchar函數(shù)讀入兩個字符c1、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ù)用scanf函數(shù)輸入x的值(分別為x<1、11
9、0、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)的方法。2.掌握在程序設(shè)計中用循環(huán)的方法實現(xiàn)各種算法(如窮舉、迭代、遞推等)。二、實驗內(nèi)容編程序并上機調(diào)試運行。1.輸入兩個正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。2.輸入一行字符,分別統(tǒng)計出其中的英文字母
10、、空格、數(shù)字和其它字符的個數(shù)。3.用牛頓迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。牛頓迭代法的公式是。4.打印出以下圖案: * * * * * * *5.編程求1!+2!+3!+20!。實驗五 數(shù)組一、實驗?zāi)康?.掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法;2.掌握字符數(shù)組和字符串函數(shù)的使用。3.掌握與數(shù)組有關(guān)的算法(特別是排序算法)。二、實驗內(nèi)容 編程序并上機調(diào)試運行。1. 編寫程序,用scanf函數(shù)輸入10個整數(shù)的數(shù)列,先將整數(shù)按照從大到小的順序進行排序,然后輸入一個整數(shù)插入到數(shù)列中,使數(shù)列保持從大到小的順序。2.有15個數(shù)存放在一個數(shù)組中,輸入一個數(shù),要求用折半查
11、找法找出該數(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 22 33 33 33 44 44 44 4.將兩個字符串連接起來,不要用strcat函數(shù)。5.從鍵盤輸入5個字符串,找出最長的字符串和最大的字符串。實驗六 函數(shù)一、實驗?zāi)康?.掌握定義函數(shù)的方法;2.掌握函數(shù)實參與形參的對應(yīng)關(guān)系,以及“值傳遞”的方
12、式;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ù)中輸入,并傳送給函數(shù)1,求出的最大公約數(shù)返回主函數(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.寫一個函數(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.退出程序選擇1-4:使用數(shù)字14來選擇菜單項,其他輸入則不起作用。實驗:(選作)預(yù)處理命令一、實驗?zāi)康?.掌握宏定義的方法;2.掌握文件包含處理方法;3.掌握條件編譯的方法。二、實驗內(nèi)容編程序并上機調(diào)試運行。1.定義一個帶參數(shù)的宏,使兩個參數(shù)的值互換。在主函數(shù)中輸入兩個數(shù)作為使用宏的實參,輸出
14、已交換后的兩個值。說明:在程序主函數(shù)使用宏時只能用兩個實參,如S),不能用三個參數(shù)。2.設(shè)計輸出實數(shù)的格式,包括:(1)一行輸出一個實數(shù);(2)一行內(nèi)輸出兩個實數(shù);(3)一行內(nèi)輸出三個實數(shù)。實數(shù)用“%6.2f”格式輸出。用一個文件“format.h”包含以上用#define命令定義的格式。在自己的文件(自己命名)中用#include命令將“format.h”文件包含進來。在程序中用scanf函數(shù)讀入三個實數(shù)給f1,f2,f3。然后用上面定義的三種格式分別輸出f1;f1,f2;f1,f2,f3。3.用條件編譯方法實現(xiàn)以下功能:輸入一行電報文字,可以任選兩種輸出,一為原文輸出;一為將字母變成其下字
15、母(如a變成b,z變成a。其它字符不變)。用#define命令來控制是否要譯成密碼。例如:#define CHANGE 1則輸出密碼。若#define CHANGE 0則不譯成密碼,按原碼輸出。用條件編譯方法來處理。實驗七 結(jié)構(gòu)體和共用體一、實驗?zāi)康?.掌握結(jié)構(gòu)體類型變量的定義和使用;2.掌握結(jié)構(gòu)體類型數(shù)組的概念和應(yīng)用;3.掌握共用體的概念與使用。4.掌握鏈表的概念,初步學(xué)會對鏈表進行操作二、實驗內(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ù)及平
16、均成績。2.上機輸入如下程序:main( )union bt int k; char c2;a; a.k= -7; printf(“%o,%on”,a.c0,a.c1);分析其運行結(jié)果。3.建立一個帶有頭結(jié)點的單鏈表,每個結(jié)點包括:學(xué)號、年齡,并輸出鏈表中所有結(jié)點的數(shù)據(jù)。在鏈表中查找年齡最大的結(jié)點,并將鏈表中等于此年齡的結(jié)點刪除(年齡最大的結(jié)點可能不止一個)。4.將一個鏈表按逆序排列,即將鏈頭當(dāng)鏈尾,鏈尾當(dāng)鏈頭。實驗八 文件一、實驗?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.dat。3.從上題的文本文件s.txt或二進制文件s.dat中讀入每本書的數(shù)據(jù),計算所有書的平均價格。要求用input函數(shù)讀入,average函數(shù)求平均價格。四、評分依據(jù)1、實驗預(yù)習(xí)和表現(xiàn):上機實驗前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好程序,然后在實驗時輸入程序、調(diào)試程序、直至運行結(jié)果正確為止。在實驗中,教師可根據(jù)學(xué)生編程操作能力
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度BIM在歷史文化遺址保護合同范本3篇
- 專項2024民用爆破器材供應(yīng)及服務(wù)協(xié)議版
- 個人工程承包合同(2024版)版B版
- 2024年節(jié)能減排服務(wù)協(xié)議
- 2025年度劇本改編權(quán)授權(quán)合同3篇
- 2024音樂噴泉景區(qū)旅游紀念品開發(fā)與銷售合同3篇
- 二零二五年度線上線下整合營銷方案合作協(xié)議2篇
- 2025年度廠房裝修工程臨時用電及安全管理合同4篇
- 2025年現(xiàn)代化廠房購置及安裝服務(wù)合同范本二3篇
- 2025年度新能源設(shè)備買賣合同規(guī)范范本4篇
- 高考詩歌鑒賞專題復(fù)習(xí):題畫抒懷詩、干謁言志詩
- 2023年遼寧省交通高等專科學(xué)校高職單招(英語)試題庫含答案解析
- GB/T 33688-2017選煤磁選設(shè)備工藝效果評定方法
- GB/T 304.3-2002關(guān)節(jié)軸承配合
- 漆畫漆藝 第三章
- CB/T 615-1995船底吸入格柵
- 光伏逆變器一課件
- 貨物供應(yīng)、運輸、包裝說明方案
- (完整版)英語高頻詞匯800詞
- 《基礎(chǔ)馬來語》課程標(biāo)準(zhǔn)(高職)
- IEC61850研討交流之四-服務(wù)影射
評論
0/150
提交評論