程序設(shè)計(jì)及C語(yǔ)言試驗(yàn)指導(dǎo)書_第1頁(yè)
程序設(shè)計(jì)及C語(yǔ)言試驗(yàn)指導(dǎo)書_第2頁(yè)
程序設(shè)計(jì)及C語(yǔ)言試驗(yàn)指導(dǎo)書_第3頁(yè)
程序設(shè)計(jì)及C語(yǔ)言試驗(yàn)指導(dǎo)書_第4頁(yè)
程序設(shè)計(jì)及C語(yǔ)言試驗(yàn)指導(dǎo)書_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、1!: 蘭| 氣 選框中就會(huì)出現(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”選項(xiàng),在四個(gè) 標(biāo)簽中選擇“ File ”標(biāo)簽, 在

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

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

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

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

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

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

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

12、入變量或者表達(dá)式(圖中的i),就可以觀察變量或者表達(dá)式的值。X NameValueJiOxccccccccj*K Tat chi X Watch? Fatch3 W&cM /圖 7 Watch 窗口4進(jìn)一步練習(xí)(1)編輯并運(yùn)行以下程序#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)編譯并運(yùn)行,在運(yùn)行時(shí)從鍵盤輸入整數(shù)2和 5,然后按回車鍵,觀察并分析運(yùn)行結(jié)果。5 基本數(shù)據(jù)類型與輸入輸出( 1) 輸入并運(yùn)行下面的程序main( )char c1,c2;c仁a'c2=' b'printf("%c%cn",c1,c2) ; 運(yùn)行此程序。 在此基礎(chǔ)上增加一個(gè)語(yǔ)句:printf("%d %dn",c1,c2) ; 再運(yùn)行,并分析結(jié)果。 將第 2 行改為:int c1,c2 ;再使之運(yùn)行,

14、并觀察結(jié)果。 再將第 3、4 行改為:c1=a;/* 不用單撇號(hào) */c2=b;現(xiàn)使之運(yùn)行,分析其運(yùn)行結(jié)果。 再將第 3、4 行改為:c1="a"/* 用雙撇號(hào) */c2="b"再使之運(yùn)行,分析其運(yùn)行結(jié)果。 再將第 3、4 行改為:cl=300 ;/*用大于 255 的整數(shù) */c2=400;再使之運(yùn)行,分析其運(yùn)行結(jié)果。(2) 輸入并運(yùn)行以下程序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) ; 在上機(jī)前先用人工分析程序,寫出應(yīng)得結(jié)果,上機(jī)后將二者對(duì)照。(3) 輸入并運(yùn)行下面的程序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) ; 請(qǐng)對(duì)照程序和運(yùn)行結(jié)果分析: 將一個(gè)負(fù)整數(shù)賦給一個(gè)無(wú)符號(hào)的變量,會(huì)得到什么結(jié)果。畫出它們?cè)趦?nèi)存中的表示形式。 將一個(gè)大于 32767 的長(zhǎng)整數(shù)賦給整型變量, 會(huì)得到什么結(jié)果。 畫出它們的內(nèi)存中的表示形式。 將一個(gè)長(zhǎng)整數(shù)賦給無(wú)符號(hào)變量,會(huì)得到什么結(jié)果(分別考慮該長(zhǎng)整數(shù)的值大于或等于 65535 以及小于 65535 的情況)。畫出它們?cè)趦?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) ; 運(yùn)行程序,注意 i、j、m、n 各變量的值,分別作以下改動(dòng)并運(yùn)行。 將第 4、 5 行改為:m=i+ ; n=+j ; 再運(yùn)行。 將程序改為: main( ) int i,j ;i=8;j=10;prin tf("%d,%d",i+,j+); 在的基礎(chǔ)上,將 printf語(yǔ)句改為:prin tf("%d,%d",+i,+

18、j); 再將printf語(yǔ)句改為: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);五、課外練習(xí)輸入a、b、c三個(gè)值,輸出其中最大者。實(shí)驗(yàn)2選擇分支結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)名稱:選擇分支結(jié)構(gòu)程序設(shè)計(jì)所涉及課程:程序設(shè)計(jì)及c語(yǔ)言承擔(dān)實(shí)驗(yàn)室計(jì)算機(jī)實(shí)驗(yàn)室實(shí)驗(yàn)項(xiàng)目性質(zhì):上機(jī)實(shí)驗(yàn)計(jì)劃學(xué)時(shí):2實(shí)驗(yàn)環(huán)境要求:Win98/2K、VC+6.0適用專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)、電子

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

35、之差 為79-65=14);如果s1>s2,則輸出正值;如果 s1<s2則輸出負(fù)值。兩個(gè)字符串si、s2由main函數(shù)輸入,strcmp函數(shù)的返回值也由 main函數(shù)輸出。(5) 用指向指針的指針的方法對(duì) n個(gè)整數(shù)排序并輸出。要求將排序單獨(dú)寫成一個(gè)函數(shù)。n和各整數(shù)在主函數(shù)中輸入,最后在主函數(shù)中輸出。三、預(yù)習(xí)內(nèi)容預(yù)習(xí)教材第 i0 章。四、課外練習(xí)1 編寫程序?qū)崿F(xiàn)將一個(gè)一維數(shù)組中的數(shù)據(jù)向右循環(huán)移動(dòng),移動(dòng)次數(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 個(gè)

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

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

38、 13個(gè)人圍成一圈,從第 1個(gè)人開始順序報(bào)號(hào) 1 、 2、3。凡報(bào)到 “ 3者”退出圈子,找出最后留 在較圈子中的人原來是序號(hào)。本題要求用鏈表實(shí)現(xiàn)。(3) 建立一個(gè)鏈表,每個(gè)結(jié)點(diǎn)包括:學(xué)號(hào)、姓名、性別、年齡。輸入一個(gè)年齡,如果鏈表中的結(jié) 點(diǎn)所包含的年齡等于此年齡,則將此結(jié)點(diǎn)刪去。(4) 輸入和運(yùn)行以下程序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);輸入兩個(gè)整數(shù)10000、20000給u.i0和u.i1,分析運(yùn)行結(jié)果。然后將 scanf 語(yǔ)句為:scanf("%ld",&u.b) ;輸入60000給b,分析運(yùn)行結(jié)果。三、 預(yù)習(xí)內(nèi)容 預(yù)習(xí)教材第 11 章。四、課外練習(xí)1寫一個(gè)程序包含一個(gè)輸入函數(shù)in put,用來輸入5個(gè)學(xué)生成績(jī)的數(shù)據(jù)記錄,每個(gè)記錄含學(xué)號(hào)、姓名、3門課程成績(jī);一個(gè)輸出函數(shù)print,用于打印學(xué)生成績(jī)(含學(xué)號(hào)、姓名、3門課程成績(jī))信息。2 有 10個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、姓名、 3門課程的成績(jī),從鍵盤輸入

40、10個(gè)學(xué)生的 數(shù)據(jù),創(chuàng)建一個(gè)單向鏈表,并輸出該鏈表。實(shí)驗(yàn) 8 文件實(shí)驗(yàn) 名稱 :文件實(shí)驗(yàn)項(xiàng)目性質(zhì) :上機(jī)實(shí)驗(yàn)所涉及課程 :程序設(shè)計(jì)及 C 語(yǔ)言計(jì)劃學(xué)時(shí) : 2承擔(dān)實(shí)驗(yàn)室 :計(jì)算機(jī)實(shí)驗(yàn)室 實(shí)驗(yàn)環(huán)境要求 : Win98/2K 、VC+6.0 適 用 專業(yè) :計(jì)算機(jī)科學(xué)與技術(shù)、電子信息工程、電子信息科學(xué)與技術(shù)一、實(shí)驗(yàn)?zāi)康呐c要求1 掌握文件以及緩沖文件系統(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) 有 5 個(gè)學(xué)生,每個(gè)學(xué)生有 3 門課的成績(jī),從鍵盤輸入以上數(shù)據(jù)(包括學(xué)生號(hào)、姓名、 3門課 成績(jī)),計(jì)算出平均成績(jī),將原有數(shù)據(jù)和計(jì)算出的平均分?jǐn)?shù)存放在磁盤文件 stud 中。 設(shè) 5 名學(xué)生的學(xué)號(hào)、姓名和 3 門課成績(jī)?nèi)缦拢?9101Wang89,98,67.599103Li60,80,9099106Fun75.5,91.5,9999110Ling

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論