程序設計及C語言試驗指導書_第1頁
程序設計及C語言試驗指導書_第2頁
程序設計及C語言試驗指導書_第3頁
程序設計及C語言試驗指導書_第4頁
程序設計及C語言試驗指導書_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗1簡單的C程序設計實驗名稱 所涉及課程 承擔實驗室簡單的C程序設計 程序設計及c語言 計算機實驗室實驗項目性質(zhì):上機實驗計劃學時:4實驗環(huán)境要求:Win98/2K、VC+6.0適用專業(yè):計算機科學與技術、電子信息工程、電子信息科學與技術一、實驗目的與要求1熟悉程序設計的系統(tǒng)環(huán)境,學習編輯運行C語言程序的基本方法。2認識C語言程序的結構特點,學習程序的基本編寫方法3熟悉Visual C+ 6.0 IDE 的基本用法。4掌握基本數(shù)據(jù)類型與輸入輸出方法二、實驗內(nèi)容1利用Visual C+ 6.0 IDE,完成C程序的編 輯、編譯、運行和測試。2根據(jù)示例,編輯、編譯、運行和測試指定 的C程序。三、

2、預習內(nèi)容預習教材第1、3章。四、實驗步驟1啟動Visual C+ 6.0 IDE工作環(huán)境(1)建立個人子目錄:第一次上機時先在 E盤上建立一個sw1子目 錄,在sw1子目錄下,再建立以自己學號后三位 為目錄名的子目錄,如學號為0611001的同學,可以用001為子目錄名。然后按以下步驟進行操作。(2)啟動 Visual C+ 6.0 :雙擊 Windows桌面上的 Visual C+6.0圖標或單擊 Windows桌面上"開始” 按鈕,在“程序”中選擇“ Visual C+ 6.0 ” 運行即可。cf 9魯廠-3 «r rirI .-圖1創(chuàng)建新的工程文件2編輯、編譯、運行

3、C/C+源程序(1)創(chuàng)建一個新的工程文件(Project file)啟動Visual C+6.0編譯系統(tǒng)后,出 現(xiàn)“ Microsoft Developer Studio ”窗口,該 窗口菜單條有9個菜單項(如圖 1所示): 單擊“ File ”菜單,在其下拉菜單中選擇“ New ”,屏幕上出現(xiàn)一個“ New ” 對話框,在該對話框中選擇“ Projects ”標 簽,出現(xiàn)“ Project”對話框。 選擇工程類型為“Win32 ConsoleApplication ”,這時,在右邊的 Platforms心厲L 口圖2建立源文件r-*rr tII - I nfSMTCMlIt Nfitf II

4、1!: 蘭| 氣 選框中就會出現(xiàn) Win 32。 輸入工程名字。在"Project name ”選框中輸入所指定的工程文件名字,例如:1st。.He -叫射4"百I, *1如 c*+ rp>-pB圖3編輯源文件 輸入路徑名。在“ Location ”選框中,輸入你將要把所建立的工程文件放人何處的路徑名。例如, 要將工程文件放在E盤下已建立好的子目錄E:sw1001子目錄中,所以 該選取路徑為:E:sw10011st。選擇“ 0K ”按鈕,該工程文件已建立。(2) 建立源文件再次選擇“ File ”菜單 中的“ New”選項,在四個 標簽中選擇“ File ”標簽, 在

5、其對話框選項中,選擇“ C+ Source File ”,并在右邊的Add project的選擇框內(nèi)打勾,激活其下面的選項,然后在File框內(nèi)輸入源文件名(如1st.c,如果不加擴展名,將取名為 cpp,這是C+源程序文件),單擊“ OK”按 鈕,出現(xiàn)編輯屏幕,即可編寫程序(如圖 2和圖3所示)。輸入下列源程序:#in clude <stdio.h>mai n()printf( "This is a C program.'n" ) ;/* 用 Tab 鍵向右縮格 */(3 )編譯連接和運行源程序程序編好后要進行編譯連接和運行,步驟如下: 選擇“ Buil

6、d ”菜單,單擊下拉菜單中的“ Compile Ist.c”,這時系統(tǒng)開始對當前的源程序進 行編譯,在編譯過程中,將所發(fā)現(xiàn)的錯誤顯示在屏幕下方的“ Build ”窗口中。根據(jù)錯誤提示,修改程 序后再重新編譯,如還有錯誤,再繼續(xù)修改、編譯,直到?jīng)]有錯誤為止。 編譯無誤后進行連接,這時選擇“ Build ”菜單中的“Build1st.exe"選項。同樣,對出現(xiàn)的錯誤要進行更改,直到編譯連接無錯為止。這時,在“Build "窗口中會顯示如下信息:Ist.obj- 0 error(s),圖4編輯運行源程序0 warning(s),說明編譯連 接成功,并生成以源文件 名為名字的可執(zhí)行

7、文件(1st.exe)。 運行程序,選擇 “ Build ”菜單中的“!Execute 1st.exe” 選項。這 時,會出現(xiàn)一個 “ MS-DOS ”窗口,輸出 結果顯示在該窗口中(如 圖4和圖5所示)。 運行結束后,可以 回到“ File ”菜單,點擊RiKludt (ftdio M void naiji()is a t pi ogi afi. : 卽1強t曰HE券常&“Close Workspace"選項,關 閉當前文件窗口。若要編輯 新的源程序,可以再次打開“File ”菜單,重新建立工 程文件,步驟如上所述;也可以點擊“ File ”菜單中的11蘭Filf常詼xjH

8、JCtftligurition; 1st UinSS Debmg twipilinf 1stHcpp LifilfJjn y .亠1st.me1 >1 error(5)H I wrning(s)圖5編譯連接及結果“Open Workspace"選項,打 開一個已經(jīng)存在的源文件。 新建一個工程(為該 工程取一個名),并創(chuàng)建一個 新的源程序文件,輸入以下 程序(故意漏打或打錯幾個 字符)。#i nclude<stdio.h>mai n()int a,b,sum ;a=123; b=456;sum=a+b;prin t("sum is %dn",sum

9、);編譯運行該程序,仔細分析出現(xiàn)的錯誤,可能顯示有多個錯誤,逐個修改,直到不出現(xiàn)錯誤。 請與上面的程序?qū)φ铡?程序調(diào)試(1) 打開調(diào)試工具HftsourcftEditDGbugDrowseDatableSixjrce Control屮 Wlzandbar將鼠標指向工具欄,單擊右鍵,在彈出的快捷菜單中選擇“Debug”,顯示調(diào)試工具欄。(2 )設置斷點Sf HS I3i & ? IP *P 腫|卑園國Hl隔舉調(diào)試工具欄斷點是調(diào)試器設置的一個代碼位 置。當程序運行到斷點時,程序中斷 執(zhí)行,回到調(diào)試器。斷點是 最常用的 技巧。調(diào)試時,只有設置了斷點并使 程序回到調(diào)試器,才能對程序進行在 線調(diào)

10、試。設置斷點:可以通過下述方法設置一個斷點。首先把光標移動到需要設置斷 點的代碼行上,然后按F9快捷鍵去掉斷點:把光標移動到給定斷點所在的行,再次按F9就可以取消斷點。同前面所述,打開 Breakpoints對話框后,也可以按照界面提示去掉斷點。(3 )進入調(diào)試單擊F5 ,進入調(diào)試狀態(tài),程序?qū)⒃诘谝粋€斷點處停下,用戶可以觀察程序運行情況,并通過 F表所列的快捷鍵,進入下一階段的調(diào)試??旖萱I說明F5気繼續(xù)運行Shift+F5 劭停止調(diào)試F10予單步,如果涉及到子函數(shù),不進入子函數(shù)內(nèi)部F11F單步,如果涉及到子函數(shù),進入子函數(shù)內(nèi)部Shift + F11即從當前函數(shù)中跳出CTRL+F10 協(xié)運行到當

11、前光標處。F9設置(取消)斷點Alt + F9高級斷點設置(4)監(jiān)視變量及表達式調(diào)試程序時,可使用觀察窗口監(jiān)視變量和表達式。VC支持查看變量、 表達式和內(nèi)存的值。所有這些觀察都必須是在斷點中斷的情況下進行。觀看變量的值最簡單,當斷點到達時,把光標移動到這個變量上,停留一會就可以看到變量的 值。VC提供一種被成為Watch的機制來觀看變量和表達式的值。在斷點狀態(tài)下,在變量上單擊右鍵, 選擇Quick Watch,就彈出一個對話框,顯示這個變量的值。單擊 Debug 工具條上的 Watch 按鈕,就出現(xiàn)一個 Watch 視圖(Watch1,Watch2,Watch3,Watch4), 在該視圖中輸

12、入變量或者表達式(圖中的i),就可以觀察變量或者表達式的值。X NameValueJiOxccccccccj*K Tat chi X Watch? Fatch3 W&cM /圖 7 Watch 窗口4進一步練習(1)編輯并運行以下程序#in elude <stdio.h>int max(i nt x, int y);void mai n()int a, b, c;printf( "input a & b:” );scanf( “ %d, %d "a,&b);c = max(a, b);printf (“ max=%d , c);int m

13、ax(int x, int y)int z;if (x > y)z = x;elsez = y; return (z);( 2)編譯并運行,在運行時從鍵盤輸入整數(shù)2和 5,然后按回車鍵,觀察并分析運行結果。5 基本數(shù)據(jù)類型與輸入輸出( 1) 輸入并運行下面的程序main( )char c1,c2;c仁a'c2=' b'printf("%c%cn",c1,c2) ; 運行此程序。 在此基礎上增加一個語句:printf("%d %dn",c1,c2) ; 再運行,并分析結果。 將第 2 行改為:int c1,c2 ;再使之運行,

14、并觀察結果。 再將第 3、4 行改為:c1=a;/* 不用單撇號 */c2=b;現(xiàn)使之運行,分析其運行結果。 再將第 3、4 行改為:c1="a"/* 用雙撇號 */c2="b"再使之運行,分析其運行結果。 再將第 3、4 行改為:cl=300 ;/*用大于 255 的整數(shù) */c2=400;再使之運行,分析其運行結果。(2) 輸入并運行以下程序main( )char cl=' a' ,c2=' b' ,c3=' c' ,c4=' 101' ,c5=116' printf("

15、;a%c b%ctc%ctabcn",cl,c2,c3) ;printf("tb%c%c",c4,c5) ; 在上機前先用人工分析程序,寫出應得結果,上機后將二者對照。(3) 輸入并運行下面的程序main( )short int a,b ; unsigned c,d ; long e,f ; a=100; b=-100 ; e=50000; f=32767 ; c=a; d=b; printf("%d,%dn",a,b) ; printf("%u,%un",a,b) ; printf("%u,%un",c

16、,d) ; c=a=e; d=b=f ; printf("%d,%dn",a,b) ; printf("%u,%un",c,d) ; 請對照程序和運行結果分析: 將一個負整數(shù)賦給一個無符號的變量,會得到什么結果。畫出它們在內(nèi)存中的表示形式。 將一個大于 32767 的長整數(shù)賦給整型變量, 會得到什么結果。 畫出它們的內(nèi)存中的表示形式。 將一個長整數(shù)賦給無符號變量,會得到什么結果(分別考慮該長整數(shù)的值大于或等于 65535 以及小于 65535 的情況)。畫出它們在內(nèi)存中的表示形式。讀者可以改變程序中各變量的值,以便比較。例如: a=65580,b=-40

17、000,e=65535,f=65580 。 (4) 輸入以下程序main( )int i,j,m,n ;i=8; j=10; m=+i ; n=j+ ; printf("%d,%d,%d,%d",i,j,m,n) ; 運行程序,注意 i、j、m、n 各變量的值,分別作以下改動并運行。 將第 4、 5 行改為:m=i+ ; n=+j ; 再運行。 將程序改為: main( ) int i,j ;i=8;j=10;prin tf("%d,%d",i+,j+); 在的基礎上,將 printf語句改為:prin tf("%d,%d",+i,+

18、j); 再將printf語句改為:prin tf("%d,%d,%d,%d",i,j,i+,j+); 將程序改為mai n()int i,m=0,n=0 ;i=8;j=10 ;m += i+ ;n -= -j ;prin tf("i=%d,j=%d,m=%d, n=%d",i,j,m, n);五、課外練習輸入a、b、c三個值,輸出其中最大者。實驗2選擇分支結構程序設計實驗名稱:選擇分支結構程序設計所涉及課程:程序設計及c語言承擔實驗室計算機實驗室實驗項目性質(zhì):上機實驗計劃學時:2實驗環(huán)境要求:Win98/2K、VC+6.0適用專業(yè):計算機科學與技術、電子

19、信息工程、電子信息科學與技術實驗目的與要求1 了解C語言表示邏輯量的方法(以0代表 假”以非0代表 真”。2學會正確使用邏輯運算符和邏輯表達式。3熟練掌握if語句和switch語句。4結合程序掌握一些簡單算法。5學習調(diào)試程序。.實驗內(nèi)容本實驗要求事先編好解決下面問題的程序,然后上機輸入程序并調(diào)試運行程序。(1)有一函數(shù):x(x<1)y=Y2x-1(1 < x<10)3x-11 (x > 10)用scanf函數(shù)輸入x的值,求y值。運行程序,輸入的值(分別為<1、K <10、> 10三種情況)檢查輸出的值是否正確。(2)給出一個百分制成績,要求輸出成績等級

20、A、B、C、D、E。90分以上為A,分為B, 7079分為C, 6069分為D, 60分以下為 E。 事先編好程序,要求分別用 if 語句和 switch 語句實現(xiàn)。運行程序,并檢查結果是否正確。 再運行一次程序,輸入分數(shù)為負值(如-70),這顯然是輸入時出錯,不應給出等級。修改程序,使之能正確處理任何數(shù)據(jù)。當輸入數(shù)據(jù)大于 100 或小于 0 時,通知用戶 “輸入數(shù)據(jù)錯 ”,程序結 束。(3)給一個不多于5位的正整數(shù)年,要求: 求出它是幾位數(shù); 分別打印出每一位數(shù)字;按 逆序打印出各位數(shù)字,例如原數(shù)為 321,應輸出 123。應準備以下測試數(shù)據(jù):要處理的數(shù)為 1位正整數(shù);要處理的數(shù)為 2位正整

21、數(shù);要處理的數(shù)為 3位正整數(shù);要處理的數(shù)為 4 位正整數(shù);要處理的數(shù)為 5位正整數(shù);除此之外,程序還應當對不合法的輸入作必要的處理。例如:輸入負數(shù);輸入的數(shù)超過 5 位(如 123456)。三、 預習內(nèi)容預習教材第 4、 5 章。四、課外練習1企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時,獎金可提10% ;利潤高于10萬元,低于 20 萬元時,低于 10 萬元的部分按 10%提成,高于 10萬元的部分,可可提成 7.5%; 20 萬到 40萬之間時,高于 20萬元的部分,可提成 5%; 40 萬到 60萬之間時高于 40萬元的部分,可 提成 3%; 60 萬到 100 萬之間時,

22、高于 60 萬元的部分,可提成 1.5%,高于 100 萬元時,超過 100 萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發(fā)放獎金總數(shù)?2 輸入某年某月某日,判斷這一天是這一年的第幾天?實驗 3 循環(huán)結構程序設計實驗 名稱 :循環(huán)結構程序設計實驗項目性質(zhì) : 上機實驗所涉及課程 :程序設計及 C 語言計劃學時 : 4承擔實驗室 :計算機實驗室實驗環(huán)境要求 : Win98/2K 、 VC+6.0適 用 專業(yè) :計算機科學與技術、電子信息工程、電子信息科學與技術實驗目的與要求1 熟悉掌握用 while 語句, do-while 語句和 for 語句實現(xiàn)循環(huán)的方法。2 掌握在程序設計中用循環(huán)的方

23、法實現(xiàn)一些常用算法(如窮舉、迭代、遞推等)3 進一步學習調(diào)試程序。實驗內(nèi)容編程序并上機調(diào)試運行。(1)輸入兩個正整數(shù) m和n,求它們的最大公約數(shù)和最小公倍數(shù)。 在運行時,輸入的值 m>n,觀察結果是否正確。再輸入時,使 m<n,觀察結果是否正確。修改程序,不論 m 和 n 為何值(包括負整數(shù)) ,都能得到正確結果。(2) .輸入一行字符,分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其它字符的個數(shù)。 在得到正確結果后,請修改程序使之能分別統(tǒng)計大小寫字母、空格、數(shù)字和其它字符的個數(shù)。(3) 猴子吃桃問題。猴子第一天摘下若干個桃子,當即吃了一半,還不過癮,又多吃了一個。第 二天早上又將剩下的桃

24、子虼掉一半,又多吃一個。以后每天早上都吃了前一天剩下的一半零一個。 到第 10 天早上想再吃時,見只剩一個桃子了。求第一天共摘了多少桃子。在得到正確結果后, 修改題目, 改為猴子每天吃了前一天剩下的一半后, 再吃兩個。 請修改程序,并運行,檢查結果是否正確。三、 預習內(nèi)容預習教材第 6 章。四、課外練習1 輸出 100-200 間不能被 3 整除的數(shù)。2. 輸入初值 ,輸出 100個不能被 3 整除的數(shù)。3 求 S=1+(1+2)+(1+2+3)+.+(1+2+3+.+n) 的值。4 設 S=1*2*3*.*n, 求 S 不大于 400000 時的最大 n。5 找出 11000 間的全部 ”同

25、構數(shù) ”.如果一個數(shù)出現(xiàn)在其平方數(shù)右端 ,則稱此數(shù)為同構數(shù) , 如 1 在 12=1 的右端 ,5 在 52=25 的右端 ,25 在 252=625 的右端等。6 百雞問題?!半u翁一 ,值錢五 ,雞母一 ,值錢三 ,雞雛一 , 值錢一 ,百錢買百雞 ,問雞翁、雞母、雞雛各 幾何?”實驗 名稱 所涉及課程 承擔實驗室數(shù)組的應用 程序設計及 C 語言 計算機實驗室實驗 4 數(shù)組的應用實驗項目性質(zhì) : 上機實驗計劃學時 : 4實驗環(huán)境要求 : Win98/2K 、VC+6.0適 用 專業(yè) :計算機科學與技術、電子信息工程、電子信息科學與技術一、實驗目的與要求1 掌握一維數(shù)組和二維數(shù)組的定義、賦值和

26、輸入輸出的方法;2 掌握字符數(shù)組和字符串函數(shù)的使用;3 掌握與數(shù)組有關的算法(特別是排序算法) 。二、實驗內(nèi)容編程序并上機調(diào)試運行。(1) 用選擇法對 10 個整數(shù)排序。 10個整數(shù)用 scanf 函數(shù)輸入。(2) 有 15 個數(shù)存放在一個數(shù)組中,輸入一個數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個元 素的值。如果該數(shù)不在數(shù)組中,則輸出 “無此數(shù) ”。以 15 個數(shù)用賦初值的方法在程序中給出。要找的 數(shù)用函數(shù)輸入。(3) 將兩個字符串連接起來,不要用函數(shù)。(4) 找出一個二維數(shù)組的“鞍點” ,即該位置上的元素在該行上最大,在該列上最小。也可能沒 有鞍點。應當至少準務兩組測試數(shù)據(jù): 二維數(shù)組有鞍點

27、9 80 205 4090-60961210-310189二維數(shù)組沒有鞍點9802054090-601961210-31018945541567用 scanf 函數(shù)從鍵盤輸入數(shù)組各元素的值, 檢查結果是否正確。 題目并末指定二維數(shù)組的行數(shù)和 列數(shù),程序應能處理任意行數(shù)和列數(shù)的數(shù)組。因此,從理論上來說,應當準備許多種不同行數(shù)和列 數(shù)的數(shù)組數(shù)據(jù),但這樣的工作量太大,一般來說不需要這樣做,只需準備典型的數(shù)據(jù)即可。如果已指定了數(shù)組的行數(shù)和列數(shù), 可以在程序中對數(shù)組元素賦初值, 而不必用 scanf 函數(shù)。請自 己修改程序以實現(xiàn)之。三、預習內(nèi)容預習教材第 7 章。四、課外練習1 利用一維數(shù)組 ,統(tǒng)計一個

28、班學生 0-9,10-19,.90-99 及 100 各分數(shù)段的人數(shù)。2 動員成績排名 .設有一表格記錄了 10 人參加的男子 100M 決賽成績 , 運動員號碼和成績自行確 定 ,設計一程序 ,將給定的成績排名輸出。3 已知某班學生 M(M<100) 人 ,其 N(N<4) 門課程 .度按平均成績輸出學生平均成績名次表 (要求每 個學生的信息包括 :名次 ,學號(用整型數(shù) ),平均成績等 )。實驗 5 函數(shù)實驗 名稱 :函數(shù)實驗項目性質(zhì) :上機實驗所涉及課程 :程序設計及 C 語言計劃學時 : 4承擔實驗室 :計算機實驗室 實驗環(huán)境要求 : Win98/2K 、VC+6.0 適

29、用 專業(yè) :計算機科學與技術、電子信息工程、電子信息科學與技術一、實驗目的與要求與要求1 掌握定義函數(shù)的方法;2 掌握函數(shù)實參與形參的對應關系以及“值傳遞”的方式;3 掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法;4 掌握全局變量和局部變量、動態(tài)變量和靜態(tài)變量的概念和使用方法;5 學習對多文件程序的編譯和運行。二、實驗內(nèi)容 編程序并上機調(diào)試運行。(1) 寫一個判別素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。 本程序應當準備以下測試數(shù)據(jù): 17、34、2、1、0。分別輸入數(shù)據(jù),運行程序并檢查結果是否正 確。(2) 用一個函數(shù)來實現(xiàn)將一行字符串中最長的單詞輸出。此行字符串從主函數(shù)傳遞給該函數(shù)。 把

30、兩個函數(shù)放在同一個程序文件中,作為一個文件進行編譯和運行。把兩個函烽分別話兩個程序文件中,作為兩個文件進行編譯、連接和運行。(3) 用遞歸法將一個整數(shù) n轉換成字符串。例如,輸入 483,應輸出字符串“ 483o” n的位數(shù)不確 定,可以是任意的整數(shù)。(4) 求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)” 用一個函數(shù)求最大公約數(shù), 用另一函數(shù)根據(jù)求出的 最大公約數(shù)求最小公倍數(shù)” 不用全局變量,分別用兩個函數(shù)求最大公約數(shù)和最小公倍數(shù)。兩個整數(shù)在主函數(shù)中輸入,并傳送給函數(shù) 1,求出的最大公約數(shù)返回主函數(shù),然后再與兩個整數(shù)一起作為實參傳遞給函數(shù)2,以求出最小公倍數(shù),再返回到主函數(shù)輸出最大公約數(shù)和最小公倍數(shù)”

31、用全局變量的方法,分別用兩個函數(shù)求最大公約數(shù)和最小公倍數(shù),但其值不由函數(shù)帶回”將 最大公約數(shù)和最小公倍數(shù)都設為全局變量,在主函數(shù)和最小公倍數(shù),但其值不由函數(shù)帶回”將最大 公約數(shù)和最小公倍數(shù)都設為全局變量,在主函數(shù)中輸出它們的值”(5) 寫一函數(shù),輸入一個十六進制數(shù),輸出相應的十進制數(shù)”三、預習內(nèi)容預習教材第 8 章”四、課外練習1 編寫一函數(shù) ,用來判斷一個一元二次方程aX*X+b*X+c=0 是否有實根” 函數(shù)的參數(shù)是該方程的系數(shù)( float 型),有實根返回 1,否則返回 0”2 編寫一函數(shù),求出一個給定數(shù)字的所有因子.如 72=2*2*2*2*3*3 ”3 設計一個求最長單詞函數(shù) Ma

32、xphase(), 參數(shù) str 為字符串 ,函數(shù)聲明如下:int Maxphase(char str);4 某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上 5,然后用和除以 10 的余數(shù)代替該數(shù)字, 再將第一位和第四位交換, 第二位和 第三位交換”5 有 n 個人圍成一圈,順序排號”從第一個人開始報數(shù)(從 1 到 3 報數(shù)),凡報到 3 的人退出 圈子,問最后留下的是原來第幾號的那位”實驗 6 指針實驗 名稱 所涉及課程 承擔實驗室 適 用 專業(yè)指針程序設計及 C 語言計算機實驗室實驗項目性質(zhì) : 上機實驗計劃學時 : 6實驗環(huán)境要求 :

33、Win98/2K 、VC+6.0計算機科學與技術、電子信息工程、電子信息科學與技術一、實驗目的與要求1 通過實驗進一步掌握指針的概念,會定義和使用指針變量;2 能正確使用數(shù)組的指針和指向數(shù)組的指針變量;3 能正確使用字符串的指針和指向字符串的指針變量;4 能正確使用指向函數(shù)的指針變量;5 了解指向指針的概念及其使用方法”二、實驗內(nèi)容 編程序并上機調(diào)試運行程序(都要求用指針處理) ”(1) 輸入三個整數(shù), 按由小到大的順序輸出, 然后將程序改為:輸入三個字符串, 按由小到大順 序輸出” 將一個3 X3的矩陣轉置,用一函數(shù)實現(xiàn)之。用主函數(shù)中用sca nf函數(shù)輸入以下矩陣兀素/p>

34、19將數(shù)組名作為函數(shù)實參,在執(zhí)行函數(shù)的過程中實現(xiàn)矩陣轉置,函數(shù)調(diào)用結束后在主函數(shù)中輸出已轉置的矩陣。(3) 有 n 個人圍成一圈,順序排號。從第 1 個人開始報數(shù)(從 1 到 3 報數(shù)),凡報到 3 的人退出 圈子,問最后留下的是原來的第幾號的那位。(4) 用一個函數(shù)實現(xiàn)兩個字符串的比較,即自己寫一個 strcmp 函數(shù),函數(shù)原型為:int strcmp(char *pl,char *p2) ;設pl指向字符串si, p2指向字符串s2,要求當s仁s2時,函數(shù)返回值為 0;如果s1ms2則返回它 們二者第一個不相同字符的 ASCII碼差值(如“BOY與“BAD的第二個字母不相同, “O與 “A

35、之差 為79-65=14);如果s1>s2,則輸出正值;如果 s1<s2則輸出負值。兩個字符串si、s2由main函數(shù)輸入,strcmp函數(shù)的返回值也由 main函數(shù)輸出。(5) 用指向指針的指針的方法對 n個整數(shù)排序并輸出。要求將排序單獨寫成一個函數(shù)。n和各整數(shù)在主函數(shù)中輸入,最后在主函數(shù)中輸出。三、預習內(nèi)容預習教材第 i0 章。四、課外練習1 編寫程序?qū)崿F(xiàn)將一個一維數(shù)組中的數(shù)據(jù)向右循環(huán)移動,移動次數(shù)由鍵盤輸入。 如數(shù)組各元素為 0,1, 2,3, 4,5,6,7,8,9, 10;移位三次后,各元素的值依次為: 8, 9,10 ,0, 1, 2,3,4,5,6,7。2 有 n 個

36、整數(shù),使其前面各數(shù)順序向后移 m 個位置,最后 m 個數(shù)變成最前面的 m 個數(shù)。3 輸入數(shù)組,最大的與第一個元素交換,最小的與最后一個元素交換,輸出數(shù)組。4 函數(shù) int merge(char *A,char *B,char *C) 將 2個按升序 (從小到大 )排列的數(shù)列 A1,A2,AN和B1,B2,BM中各元素按其大小關系存放到數(shù)組 C.同時必須注意對數(shù)組 A或B殘余元素的的 追加處理。實驗 名稱 所涉及課程 承擔實驗室結構體程序設計及 C 語言 計算機實驗室實驗 7 結構體實驗項目性質(zhì) : 上機實驗計劃學時 : 2實驗環(huán)境要求 : Win98/2K 、 VC+6.0適 用 專業(yè):計算機

37、科學與技術、電子信息工程、電子信息科學與技術實驗目的與要求1 掌握結構體型變量的定義和使用;2 掌握結構體型數(shù)組的概念和使用;3 掌握鏈表的概念,初步學會對鏈表進行操作;4 掌握共用體的概念與使用。實驗內(nèi)容編程序,然后上機調(diào)試運行。(1) 有10個學生,每個學生的數(shù)據(jù)包括學號、 姓名、 3門課的成績, 從鍵盤輸入 10個學生數(shù)據(jù), 要求打印出 3 門課總平均成績,以及最高分的學生的數(shù)據(jù)(包括學號、姓名、 3 門課的成績、平均 分數(shù))要求用in put函數(shù)輸入10個學生數(shù)據(jù);用 average函數(shù)求總平均分;用 max函數(shù)找出最高分的 學生數(shù)據(jù);總平均分和最高分學生的數(shù)據(jù)都在主函數(shù)中輸出。(2)

38、 13個人圍成一圈,從第 1個人開始順序報號 1 、 2、3。凡報到 “ 3者”退出圈子,找出最后留 在較圈子中的人原來是序號。本題要求用鏈表實現(xiàn)。(3) 建立一個鏈表,每個結點包括:學號、姓名、性別、年齡。輸入一個年齡,如果鏈表中的結 點所包含的年齡等于此年齡,則將此結點刪去。(4) 輸入和運行以下程序union dataint i2 ;float a ;long b ;char c4 ; u;main( ) scanf("%d,%d",&u.iO,&u.il;printf(iO=%d,i1=%da=%fb=%ldc0=%c,c1=%c,c2=%c,c3=

39、%c, u.i0,u.il,u.a,u.b,u.c0,u.c1,u.c2,u.c3);輸入兩個整數(shù)10000、20000給u.i0和u.i1,分析運行結果。然后將 scanf 語句為:scanf("%ld",&u.b) ;輸入60000給b,分析運行結果。三、 預習內(nèi)容 預習教材第 11 章。四、課外練習1寫一個程序包含一個輸入函數(shù)in put,用來輸入5個學生成績的數(shù)據(jù)記錄,每個記錄含學號、姓名、3門課程成績;一個輸出函數(shù)print,用于打印學生成績(含學號、姓名、3門課程成績)信息。2 有 10個學生,每個學生的數(shù)據(jù)包括學號、姓名、 3門課程的成績,從鍵盤輸入

40、10個學生的 數(shù)據(jù),創(chuàng)建一個單向鏈表,并輸出該鏈表。實驗 8 文件實驗 名稱 :文件實驗項目性質(zhì) :上機實驗所涉及課程 :程序設計及 C 語言計劃學時 : 2承擔實驗室 :計算機實驗室 實驗環(huán)境要求 : Win98/2K 、VC+6.0 適 用 專業(yè) :計算機科學與技術、電子信息工程、電子信息科學與技術一、實驗目的與要求1 掌握文件以及緩沖文件系統(tǒng)、文件指針的概念;2 學會使用文件打開、關閉、讀、寫等文件操作函數(shù);3 學會用緩沖文件系統(tǒng)對文件進行簡單的操作。二、實驗內(nèi)容 編寫程序并上機調(diào)試運行。(1) 有 5 個學生,每個學生有 3 門課的成績,從鍵盤輸入以上數(shù)據(jù)(包括學生號、姓名、 3門課 成績),計算出平均成績,將原有數(shù)據(jù)和計算出的平均分數(shù)存放在磁盤文件 stud 中。 設 5 名學生的學號、姓名和 3 門課成績?nèi)缦拢?9101Wang89,98,67.599103Li60,80,9099106Fun75.5,91.5,9999110Ling

溫馨提示

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

評論

0/150

提交評論