第一篇:c語言實驗報告
實驗一 熟悉C語言程序的運行環(huán)境
一、實驗?zāi)康?/p>
1、了解在該系統(tǒng)上如何編輯、編譯、連接和運行一個C 程序;
2、通過運行簡單的C程序,初步了解C程序的特點。
二、實驗預(yù)習(xí)
1、認(rèn)真閱讀簡單的C程序介紹,C程序上機步驟部分內(nèi)容;
2、編寫好所需要的程序,程序的書寫應(yīng)該清楚整潔,一般檢查應(yīng)該是沒有明顯的錯誤。
如果在程序中有疑問的地方,可以標(biāo)記起來,以便于上機調(diào)試時予以注意。初學(xué)者特別忌諱
上機前自己不編寫程序,到時隨便地抄別人的程序。
三、實驗指導(dǎo)
1、輸入并運行一個簡單的程序,從而熟悉所用系統(tǒng)的上機方法與步驟。(1)選擇File->New,使編輯窗口變成空白(2)輸入下面的程序(例題1.1)#include
(4)如果編譯無錯誤,按【Ctrl+F9】鍵使程序運行,按【Alt+F5】鍵,切換到用戶 屏,觀察分析運行結(jié)果。
2、輸入并運行一個需要在運行時輸入數(shù)據(jù)的程序(1)清空編輯窗口,輸入下面的程序(例題1.2)。#include
四、實驗內(nèi)容
1、在C 編輯環(huán)境下編輯實驗指導(dǎo)中給出的程序、編譯并運行。
2、試編寫一程序完成如下信息的顯示。********************************** “How are you!” **********************************
3、編寫一個C 程序(習(xí)題1.6):輸入a, b, c 三個值,輸出其中最大者。根據(jù)上述題目要求編程并上機調(diào)試運行。
五、實驗報告要求
實驗結(jié)束后,應(yīng)整理實驗報告,其內(nèi)容應(yīng)包括:
1、實驗題目
2、設(shè)計思路
3、寫出程序源代碼
4、寫出程序運行結(jié)果
5、對實驗結(jié)果進行分析、總結(jié)
六、設(shè)計思路
1.5題:以main為主函數(shù),對三條語句進行編碼,分別輸出,即可達到所要求的結(jié)果。1.6題:以main為主函數(shù),先輸入三個整形十進制數(shù),任取其一,與其它兩個中的任一進行對比,取其最大,再與剩余的一個進行對比,可得最大。
七、源程序清單 1.5題:
#include
printf(“n**********************n”);printf(“ ”how are you“n”);printf(“**********************n”);} 1.6題:
#include 八、分析、總結(jié)、及心得 通過本次實驗讓我學(xué)會c程序的編寫應(yīng)注意的一些細(xì)節(jié),理解一些簡單程序的編寫方法。 實驗二 數(shù)據(jù)類型,運算符與表達式 一、實驗?zāi)康?/p> 1、掌握C 語言數(shù)據(jù)類型,以及對它們賦值的方法; 2、掌握不同的數(shù)據(jù)類型之間賦值的規(guī)律; 3、學(xué)會使用C 的有關(guān)算術(shù)運算符,以及包含這些運算符的表達式,特別是自加和自減運算符的使用; 4、進一步熟悉C 程序的編輯、編譯、連接和運行的過程。 二、實驗預(yù)習(xí) 1、認(rèn)真閱讀教材數(shù)據(jù)類型,算術(shù)運算符和表達式,賦值運算符和表達式部分內(nèi)容。 三、實驗指導(dǎo) 1、輸入并運行下面的程序: #include (1)將一個負(fù)整數(shù)賦給一個無符號的變量,會得到什么結(jié)果。 (2)將一個大于32767 的長整數(shù)賦給整形變量,會得到什麼結(jié)果。 (3)將一個長整數(shù)賦給無符號的變量,會得到什麼結(jié)果(分別考慮該長整數(shù)的值大于或等于65535 以及小于65535 的情況)。 同學(xué)們可以改變程序中各變量的值,以便比較。例如: a = 65580, b =-40000, e = 65535,f = 65580。 2、輸入下面程序: #include (4)在(3)的基礎(chǔ)上,將printf 語句改為: printf(“%d,%d”, ++i, ++j);運行并分析結(jié)果。(5)再將printf 語句改為: printf(“%d,%d,%d,%d”, i, j, i++, j++);運行并分析結(jié)果。(6)將程序改為: #include 四、實驗內(nèi)容 1、在C 編輯環(huán)境下編輯實驗指導(dǎo)中給出的程序、編譯并運行。 2、試編一程序?qū)崿F(xiàn)輸入長寬高,計算長方體的表面積。 3、按習(xí)題3.7 的要求編程序并上機運行,該題的要求是: 要將“China”譯成密碼,譯碼規(guī)律是:用原來字母后面的第4個字母代替原來的字母。例如,字母“A”后面第4 個字母是“E”,用“E”代替“A”。因此,“China”應(yīng)譯為“Glmre”。請編一程序,用賦初值的方法使c1、c2、c3、c4、c5 五個變量的值分別為’C’、’h’、’i’、’n’、’a’,經(jīng)過運算,使c1、c2、c3、c4、c5 分別變?yōu)椤疓’、’l’、’m’、’r’、’e’、,并輸出。 (1)輸入編好的程序,并運行該程序。分析是否符合要求。 五、實驗結(jié)果 1題: (1):100,-100 100,65436 100,65436(2):-15536,32767(3):5000,32767 2題: (1):9,119,10(2):9,11,8,11(3):8,10(4):9,11(5):9,11,8,10(6):i=9,j=9,m=8,n=-9 六、源程序清單 四.2題 #include #include 七、分析、總結(jié)、及心得 通過本次的實驗,熟悉如何定義一個整型、字符型和實型的變量,掌握算術(shù)運算符的使用,以及包含這些運算符的表達式,特別是自加和自減運算符的使用,學(xué)會一些簡單程序編寫所注意的問題。 實驗三 簡單C程序設(shè)計 一、實驗?zāi)康?/p> 1、掌握C 語言中賦值語句的使用方法; 2、掌握不同類型數(shù)據(jù)的輸入輸出方法,能正確使用各種格式轉(zhuǎn)換符; 二、實驗預(yù)習(xí) 1、認(rèn)真閱讀數(shù)據(jù)的輸入輸出部分內(nèi)容。 三、實驗指導(dǎo) 1、從鍵盤輸入兩個0 到127 的整數(shù),求兩數(shù)的平方差并輸出其值以及這兩個整數(shù)的ASCII 碼對應(yīng)的字符。 (1)算法分析:標(biāo)準(zhǔn)ASCII 碼值范圍是0 到127,所以在這范圍內(nèi)的數(shù)可以以字符形式輸出,實現(xiàn)方法是用格式輸出函數(shù)并用格式符c 控制輸出。(2)根據(jù)結(jié)果書寫源程序 #include 注意輸入時兩數(shù)間應(yīng)以空格間隔,不能用逗號,只有源程序輸入函數(shù)中兩格式符以逗號間隔時輸入才可以是:100,50↙(6)查看結(jié)果【Alt+F5】 2、輸入程序 #include (2)在此基礎(chǔ)上,修改程序的第7~11 行: a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789 d=f;e=g;p=a=m=50000;q=b=n=-60000;運行程序,分析結(jié)果。(3)將printf 語句改為: printf(“a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn”,a,b,c1,c2,d,e);printf(“f=%f,g=%fnm=%d,n=%dnp=%d,q=%dn”,f,g,m,n,p,q);運行程序,分析結(jié)果。 (4)將p、q 改用%o 格式符輸出。運行程序,分析結(jié)果。 四、實驗內(nèi)容 1、在C 編輯環(huán)境下編輯實驗指導(dǎo)中給出的程序、編譯并運行。 2、本節(jié)實驗題目: (1)若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'。想得到以下的輸出格式和結(jié)果,請寫出程序。要求輸出結(jié)果如下:(注意空格的輸出)a= 3 b= 4 c= 5 x=1.200000,y=2.400000,z=-3.600000 x+y= 3.60 y+z=-1.20 z+x=-2.40 u= 51274 n= 128765 c1='a' or 97(ASCII)c2='B' or 98(ASCII)(2)假設(shè)m是一個三位數(shù),試編寫一程序完成將m的個位,十位,百位反序輸出(例如:123反序輸出為321)。 五、實驗結(jié)果 三、1: d,2,7500 2、(1): a=61,b=62 c1=a,c2=b d= 3.56,e=-6.87 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=32768,q=40000(2): a=-15536,b=5536 c1==,c2=> d=3157.89,e= 0.12 f= 3157.890121,g= 0.123456789000 m=50000,n=-60000 p=50000,q=5536(3): c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 m=-15536,n=0 p=5536,q=-1(4): a=15536,b=5536 c1==,c2=> d= 3157.890137,e= 0.123456791043 f=3157.890121,g=0.123457 p=12640,q=177777 六、源程序清單 2(1): #include }(2:)#include } 七、分析、總結(jié)、及心得 在本次實驗中,學(xué)會了賦值語句的使用方法,不同類型數(shù)據(jù)的輸入輸出,尤其是某些空格應(yīng)特別注意,了解了在scanf語句中不能用n,這也是我一直犯的錯誤。 實驗四 選擇結(jié)構(gòu)程序設(shè)計 一、實驗?zāi)康?/p> 1、學(xué)會正確使用邏輯運算符及邏輯表達式; 2、熟練掌握if 語句與switch 語句; 二、實驗預(yù)習(xí) 1、認(rèn)真閱讀if 語句和switch 語句部分內(nèi)容。 2、編寫好所需要的程序。 三、實驗指導(dǎo) 1、輸入三角形的三邊長,判斷這個三角形是否是直角三角形。 (1)算法分析:直角三角形斜邊最長,要先找出三邊中最長的邊,判斷最長邊的平方 是否等于其余兩邊的平方和,若相等就是直角三角形。根據(jù)分析結(jié)果書寫源程序。#include t=a; a=b; b=t;}/* a 中放a,b 中較長邊*/ if(a t=a; a=c; c=t;}/* a 中放a,b,c 中的最長邊*/ if(a*a==b*b+c*c) printf(“Y”);else printf(“N”);}(2)編輯源程序(3)編譯【F9】,直到?jīng)]有錯誤。(4)運行【Ctrl+F9】,輸入: 3,4,5↙ (5)查看結(jié)果【Alt+F5】,輸出: Y 四、實驗內(nèi)容 1、在C 編輯環(huán)境下編輯實驗指導(dǎo)中給出的程序、編譯并運行。 2、本節(jié)實驗題目: (1)給出一個百分制成績,要求輸出成績等級A、B、C、D。90 分以上為A,80~89分為B,70~79 分為C,60~69 分為D,60 分以下為E。 ①事先編好程序,要求分別用if 語句和switch 語句實現(xiàn)。運行程序,并檢查結(jié)果是否正確。 ②再運行一次程序,輸入分?jǐn)?shù)為負(fù)值(如-70),這顯然是輸入時出錯,不應(yīng)給出等級。 ③修改程序,使之能正確處理任何數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)大于100 或小于0 時,通知用戶“輸入數(shù)據(jù)錯”,程序結(jié)束。 (2)給出一個不多于5位的正整數(shù),要求:①求出它是幾位數(shù)。②分別打印出每一位數(shù)。③按逆序打印出各位數(shù)字。 五、簡述編程思路 2.1.1首先寫一段程序(switch語句)來對不是所要求的輸入的判斷與執(zhí)行,其次寫出主要要執(zhí)行的語句對于switch要求用break跳出,if則不同,六、源程序清單 2.1.1:(用switch)#include scanf(“%f”,&a);} switch((int)a/10){ case 0: case 1: case 2: case 3: case 4: case 5:b='E';break; case 6:b='D';break; case 7:b='C';break; case 8:b='B';break; case 9: case 10:b='A';} printf(“b=%cn”,b); } 2.1.2:(用if) #include scanf(“%f”,&a);} if(a>=0&&a<60) b='E';else if(a>=60&&a<70) b='D';else if(a>=70&&a<80) b='C';else if(a>=80 &&a<90) b='B';else b='A'; printf(“b=%cn”,b); } 2.2: #include } 七、實驗心得 通過本次實驗,明白了if和switch的聯(lián)系,以及長整形在打印時注意的地方,學(xué)會使用邏輯運算符及邏輯表達式。 實驗五 循環(huán)控制 一、實驗?zāi)康?/p> 1.熟練掌握for 語句、while 語句、do-while 語句實現(xiàn)循環(huán)的方法; 2.理解循環(huán)嵌套及其使用方法; 3.掌握break 語句與continue 語句的使用; 4.掌握用循環(huán)實現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。 二、實驗預(yù)習(xí)1.認(rèn)真閱讀本章教材中循環(huán)控制部分.2.編寫好所需要的程序。 三、實驗指導(dǎo) 1.打印如下圖案 * * * * * * * * * * * * * * * * (1)算法分析:從圖案中找出行數(shù),空格數(shù),星號數(shù)間的關(guān)系如下: 行數(shù)空格數(shù)星號數(shù) 1 3 1 2 2 3 3 1 5 4 0 7 i 4-i 2*i-1 可用雙重循環(huán)控制整個圖案的輸出。若用循環(huán)變量i,j 分別控制外層,內(nèi)層循環(huán),則 i 的取值從1 到4,表示行數(shù),在每行中要確定前面空格個數(shù)和星號個數(shù),空格個數(shù)是4-i,星號個數(shù)是2*i-1。 (2)根據(jù)分析結(jié)果寫出源程序 #include (6)查看結(jié)果【Alt+F5】。輸出題目要求的圖案。 四、實驗內(nèi)容 1.在C 編輯環(huán)境下編輯實驗指導(dǎo)中給出的程序,編譯并運行。2.要求學(xué)生獨立完成如下題目: (1)輸出100到1000之間的所有水仙花數(shù)。所謂水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。 (2)輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字 和其他字符的個數(shù)。 (3)試?yán)脠D形函數(shù)完成極坐標(biāo)函數(shù)ρ=cos(3*X)圖像的繪制?!具M階題目,選做】 根據(jù)以上題目要求編程并上機調(diào)試運行。 五、編程思路 2(1)對一個數(shù)字每一位的輸出的前提下在利用一個if語句即可。2(2)先明白英文字母、空格、數(shù)字的ASCII,在用if函數(shù)即可。 六、程序運行結(jié)果 2(1): #include printf(“%dn”,a); a++;} }(2): #include if(c>=65&&c<=90||c>96&&c<=122) i++; else if(c>=48&&c<=57) j++; else if(c==32) k++; else l++;} printf(“i=%d,j=%d,k=%d,l=%dn”,i,j,k,l); }(3): #include int main(){ int gdriver, gmode;float p,x,px,py,zx,zy;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, “c: c”);for(x=0;x<=2*PI;x+=0.01){ p=cos(3*x); zx=p*cos(x); zy=p*sin(x); px=320+zx*100; py=240-zy*100; putpixel(px,py,14);} getch();closegraph();return 0;} 七、實驗總結(jié)、心得 通過本次實驗,理解了一些循環(huán)語句的選擇、運用,對一些簡單循環(huán)的嵌套有了更進一步的理解。 《Matlab語言》實驗(報告)題庫 1、TDOA信號分析類 (1)已給出一段事先采集的信號,該信號為進行TDOA定位使用的基本信號,其格式為GPS+IQ + GPS+IQ …,即每包數(shù)據(jù)由GPS頭文件和IQ信號構(gòu)成,GPS頭文件共58B,其數(shù)據(jù)格式為 $HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0*,每包IQ數(shù)據(jù)共8192B,其數(shù)據(jù)格式為I0,Q0,I1,Q1,I2,Q2…,I2047,Q2047,即I數(shù)據(jù)2048點、Q數(shù)據(jù)2048點交叉出現(xiàn)。換言之,每包數(shù)據(jù)實際內(nèi)容為:$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0* I0 Q0 I1 Q1 I2 Q2 … I2047 Q2047,程序前期已實現(xiàn)讀取IQ數(shù)據(jù)文件并進行關(guān)鍵信息讀取分解,請根據(jù)程序提醒,完成相關(guān)功能(數(shù)據(jù)及程序見“1-實際IQ信號實驗”文件夾)。 2、TDOA時差估計仿真類 (2)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。自行仿真2個具有一定時差的信號,用廣義互相關(guān)法(GCC)計算該2個信號的時差,并與設(shè)定時差進行對比分析(需給出詳細(xì)過程及適當(dāng)?shù)姆抡鎴D)。 (3)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。自行仿真2個具有一定時差的信號,用互模糊函數(shù)法計算該2個信號的時差,并與設(shè)定時差進行對比分析(需給出詳細(xì)過程及適當(dāng)?shù)姆抡鎴D)。 (4)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。自行仿真2個具有一定時差的信號,用廣義互相關(guān)(GCC)結(jié)合多項式擬合方法計算該2個信號的時差,并比較廣義互相關(guān)法估計時差和廣義互相關(guān)結(jié)合多項式擬合方法估計時差的結(jié)果,進行分析(需給出詳細(xì)過程及適當(dāng)?shù)姆抡鎴D)。 (5)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。自行仿真2個具有一定時差的信號,自選方法計算該2個信號的時差,并與設(shè)定時差進行對比分析(需給出詳細(xì)過程及適當(dāng)?shù)姆抡鎴D)。 3、TDOA時差估計實測類 下面三題使用“3-TDOA實測類-數(shù)據(jù)”。 (6)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),用廣義互相關(guān)(GCC)計算該2路信號的時差,統(tǒng)計每包數(shù)據(jù)計算結(jié)果,并分析之(需給出詳細(xì)解決過程及適當(dāng)?shù)姆治鰣D)。 (7)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),用廣義互相關(guān)(GCC)結(jié)合多項式擬合方法計算該2路信號的時差,比較廣義互相關(guān)法估計時差和廣義互相關(guān)結(jié)合多項式擬合方法估計時差的結(jié)果,并分析之(需給出詳細(xì)解決過程及適當(dāng)?shù)姆治鰣D)。 (8)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),自選方法計算該2路信號的時差,統(tǒng)計每包數(shù)據(jù)計算結(jié)果,并分析之(需給出詳細(xì)解決過程及適當(dāng)?shù)姆治鰣D)。 4、信號頻域分析類 (9)生成一個帶有噪聲的正弦波信號,信號的頻率、幅度,噪聲的幅度自行設(shè)定。(將帶有噪聲的正弦信號放入for循環(huán)中,利于pause,實現(xiàn)噪聲動態(tài)變化效果,并在for循環(huán)內(nèi)畫出其時域圖和幅頻圖(采樣率和采樣點數(shù)自行設(shè)定),觀察動態(tài)變化情況),最后總結(jié)系統(tǒng)采樣率和采樣點數(shù)對仿真信號效果的影響。 (10)自行生成一段時域信號,要求在不同的時間,信號具有不同的頻率(即非平穩(wěn)信號),用短時傅里葉變換對其進行時頻分析,并呈現(xiàn)時頻分析結(jié)果。 (11)自行生成一段時域信號,要求在不同的時間,信號具有不同的頻率(即非平穩(wěn)信號),用小波變換對其進行時頻分析,并呈現(xiàn)時頻分析結(jié)果。 5、信號調(diào)制解調(diào)類 (12)自行產(chǎn)生正弦信號作為基帶信號、載波,試合成AM信號,在AM信號上加高斯白噪聲,并將AM信號解調(diào),畫出各信號(基帶信號、載波、合成的AM信號、解調(diào)后的基帶信號)時域圖及頻譜圖,并對比總結(jié)解調(diào)效果。 (13)自行產(chǎn)生正弦信號作為基帶信號、載波,試合成FM信號,在FM信號上加高斯白噪聲,并將FM信號解調(diào),畫出各信號(基帶信號、載波、合成的FM信號、解調(diào)后的基帶信號)時域圖及頻譜圖,并對比總結(jié)解調(diào)效果。 (14)自行產(chǎn)生一個正弦信號,以此為載波,生成一段2ASK信號,其中數(shù)字序列隨機生成,畫出數(shù)字基帶序列、正弦信號、2ASK信號的時域圖。 (15)自行產(chǎn)生兩個不同頻率的正弦信號,以此為載波,生成一段2FSK信號,其中數(shù)字序列隨機生成,畫出數(shù)字基帶序列、兩個正弦信號、2FSK信號的時域圖。 (16)用Matlab模擬通信系統(tǒng)收發(fā)過程,要求:發(fā)射站發(fā)射FM調(diào)制信號,接收站接收該信號,并進行解調(diào),系統(tǒng)參數(shù)及傳播環(huán)境/過程參數(shù)自定。 6、信號分離類 (17)自行生成一個含有3個頻率(信號頻率相近,如200Hz,210Hz,300Hz)的信號,其他參數(shù)自定,直接用FFT難以將不同頻率信號,尤其頻率較近的信號進行分離,試用AR等高階功率譜方法,將該信號進行分離,并繪制分離前后的頻譜圖(即信號的FFT圖、信號的AR分離圖)。 (18)自行生成一個含有不同頻率或不同相位的信號,直接用FFT難以將不同頻率信號,尤其頻率較近或同頻率不同相位的信號進行分離,試用MUSIC方法,將該信號進行分離,并繪制分離前后的頻譜圖(即原信號的FFT圖、信號的MUSIC分離圖),并總結(jié)現(xiàn)象。 (19)自行產(chǎn)生一段含有低頻、高頻和噪聲成分的信號,嘗試設(shè)計不同的濾波器,將高頻信號及噪聲濾掉,并繪制濾波前后的信號對比圖(含時域、頻域圖)。 7、深度學(xué)習(xí)類 (20)設(shè)計一個神經(jīng)網(wǎng)絡(luò)(可以是任意類型的神經(jīng)網(wǎng)絡(luò)),對手寫數(shù)字進行分類,要求小組內(nèi)每個成員至少每人手寫一個數(shù)字,然后識別,并分析識別準(zhǔn)確率。 (21)自行找一個預(yù)訓(xùn)練好的網(wǎng)絡(luò),對日常生活物品進行識別,要求小組內(nèi)每個成員拍照1~2個物品,通過網(wǎng)絡(luò)進行識別,并分析識別效果。 學(xué)號:__________ 姓名:__________ 班級:__________ 日期:__________ 指導(dǎo)教師:__________ 成績:__________ 實驗一 上機操作初步和簡單的C程序設(shè)計 一、實驗?zāi)康?、熟悉C語言運行環(huán)境Turbo C++3.02、會簡單的程序調(diào)試 3、熟悉C語言各種類型數(shù)據(jù)的輸入輸出函數(shù)的使用方法 4、掌握順序結(jié)構(gòu)程序設(shè)計 二、實驗內(nèi)容 1、上機運行本章3個例題,熟悉所用系統(tǒng)的上機方法與步驟。(習(xí)題1.7) 2、編寫一個C程序,輸入a、b、c 3個值,輸出其中最大者。(習(xí)題1.6) 3、設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù),輸出計算結(jié)果,輸出時要求有文字說明,取小數(shù)點后2位數(shù)字。注意:在Trubo C++ 3.0中不能輸入漢字,只能輸入英文或拼音。(習(xí)題4.8) 4、運行如下程序,寫出運行結(jié)果。第一┆范文網(wǎng)004km.cn整理該文章,版權(quán)歸原作者、原出處所有...#include void main() { int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%dn”,a,b); } 三、實驗步驟與過程 四、程序調(diào)試記錄 C語言程序設(shè)計(B) (2010-2011-2) 實驗報告 教學(xué)班級: 學(xué)號: 姓名: 課程教師: 實驗輔導(dǎo)教師: 江西理工大學(xué) 自由編輯的程序 一、實驗前的源程序: //任意整數(shù)的疊加 #include 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `for' [Error] D:Program FilesC-Free 4temp未命名10.cpp:7: parse error before `)' 構(gòu)建中止 未命名10: 2 個錯誤, 0 個警告 實驗后的源程序: //任意整數(shù)的疊加 #include int i,j,sum=0;printf(“please input a int numbern”);scanf(“%d”,&j);for(i=0;i<=j;i++)sum=sum+i;printf(“此數(shù)的疊加=%dn”,sum);} 二、實驗前的源程序: /*小寫字母轉(zhuǎn)大寫字母*/ #include 江西理工大學(xué) } c2='s';c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c); 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: `c' undeclared(first use this function)[Error] D:Program FilesC-Free 4temp未命名11.cpp:9:(Each undeclared identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名11.cpp:9: for each function it appears in.)構(gòu)建中止 未命名11: 3 個錯誤, 0 個警告 實驗后的源程序: /*小寫字母轉(zhuǎn)大寫字母*/ #include 三、實驗前的源程序: /*查看某一年是否為閏年*/ #include { if(year%100==0) { if(year%400==0) i=1; else 江西理工大學(xué) i=0; } else i=1; } else i=0;if(i) printf(“%d 是閏年n”,year);else printf(“%d 不是閏年n”,year);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名14.cpp:15: parse error before `else' [Error] D:Program FilesC-Free 4temp未命名14.cpp:25: parse error at end of input 構(gòu)建中止 未命名14: 2 個錯誤, 0 個警告 實驗后的源程序: /*查看某一年是否為閏年*/ #include { if(year%100==0) { if(year%400==0) i=1; else i=0; } else i=1; } else i=0;if(i) 江西理工大學(xué) printf(“%d 是閏年n”,year);else printf(“%d 不是閏年n”,year);} 數(shù)據(jù)的輸入和輸出 四、程序改錯題 改錯前的源程序;#include #include 改錯前的源程序;#include 江西理工大學(xué) #include long x=7654123;x*=10;printf(“x=%7d”,x);} 改錯前的源程序: #include #include 五、程序編寫題:已知char ch’b’;int i=3 ,j=5;float x=22.354,y=435.6789;根據(jù)下面的輸出結(jié)果編寫程序。ch =’b’,ASCII=98 i=3□□□□□□j=5 x=22.35□□□y=435.68 實驗前的源程序: #include 江西理工大學(xué){ char ch='b';int i=3,j=5;float x=22.354,y=435.6789;printf(“ch='%c',ASCII=%dn”,ch,ch);printf(“i=%d j=%dn”,i,j);printf(“x=%.2f y=%.2fn”,x,y);} 實驗錯誤報告:無 實驗后的源程序: #include j=%dn”,i,j);printf(“x=%.2f y=%.2fn”,x,y);} 六、從鍵盤輸入一行字符,統(tǒng)計其中小寫字母、大寫字母和其它字符的個數(shù): 實驗前的源程序: #include “stdio.h” void main(){ printf(“請任意輸入一串字符:n”); char ch,sum1=0,sum2=0,other=0; ch=getchar(); while(c!='n') { if(c>='A'&&c<='Z')sum1++; else if(c>='a'&&c<='z')sum2++; else other++; c=getchar(); } printf(“大寫字母的個數(shù):%dn”,sum1);printf(“小寫字母的個數(shù):%dn”,sum2); 江西理工大學(xué)printf(“其他字符母個數(shù):%dn”,other);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: `c' undeclared(first use this function)[Error] D:Program FilesC-Free 4temp未命名7.cpp:7:(Each undeclared identifier is reported only once [Error] D:Program FilesC-Free 4temp未命名7.cpp:7: for each function it appears in.)構(gòu)建中止 未命名7: 3 個錯誤, 0 個警告 實驗后的源程序: #include “stdio.h” void main(){ printf(“請任意輸入一串字符:n”); char ch,sum1=0,sum2=0,other=0; ch=getchar(); while(ch!='n') { if(ch>='A'&&ch<='Z')sum1++; else if(ch>='a'&&ch<='z')sum2++; else other++; ch=getchar(); } printf(“大寫字母的個數(shù):%dn”,sum1);printf(“小寫字母的個數(shù):%dn”,sum2);printf(“其他字符母個數(shù):%dn”,other);} 七、使用以下公式求∏的近似值,要求精確到最后一項的絕對值小于10e-4 ∏/4=1-1/3+1/5-1/7+…… 實驗前的源程序: #include “stdio.h” #include “math.h” main(){ 江西理工大學(xué) } float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.o/j);continue;break;} printf(“∏=%fn”,sum*4.0); 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名9.cpp:13: nondigits in number and not hexadecimal [Error] D:Program FilesC-Free 4temp未命名9.cpp:19: parse error at end of input 構(gòu)建中止 未命名9: 2 個錯誤, 0 個警告 實驗后的源程序: #include “stdio.h” #include “math.h” main(){ float sum=0;int i,j;for(i=1;;i++){ j=2*i-1;if(1.0/j>0.0001){ sum+=pow(-1,i+1)*(1.0/j);continue;} break;} printf(“∏=%fn”,sum*4.0);} 八、用選擇法對10個整數(shù)排序: 實驗前的源程序: 江西理工大學(xué)#include scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]) { k=a[j]; a[j]=a[j+1]; k=a[j+1];} printf(“這10個整數(shù)從小到大排列為:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“這10個整數(shù)從大到小排列為:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名1.cpp:33: parse error at end of input 構(gòu)建中止 未命名1: 1 個錯誤, 0 個警告 實驗后的源程序: //用選擇法對10個整數(shù)排序 #include 江西理工大學(xué) int i,j,k;for(i=0;i<10;i++){ scanf(“%d”,a[i]);} printf(“n”);for(i=0;i<10;i++)for(j=0;j<10-j;j++){ if(a[j]>a[j+1]){ k=a[j]; a[j]=a[j+1]; k=a[j+1];} } printf(“這10個整數(shù)從小到大排列為:”);for(j=0;j<10;j++){ printf(“%d ”,a[j]);} printf(“n”);printf(“這10個整數(shù)從大到小排列為:”);for(j=9;j>=0;j--){ printf(“%d ”,a[j]);} } 九、求一個3*3的整數(shù)矩陣對角線元素之積: 實驗前的源程序: #include scanf(“%d”,&a[i][j])} for(i=0;i<3;i++) 江西理工大學(xué) { for(j=0;j<3;j++) { printf(“%d ”,a[i][j]); } printf(“n”); } printf(“n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) if(i=j) ji*=a[i][j]; printf(“主對角線的積為:%dn”,ji); } } 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名4.cpp:11: parse error before `}' 構(gòu)建中止 未命名4: 1 個錯誤, 0 個警告 實驗后的源程序: #include scanf(“%d”,&a[i][j]);} for(i=0;i<3;i++){ for(j=0;j<3;j++) { printf(“%d ”,a[i][j]); } printf(“n”); } 江西理工大學(xué) printf(“n”); for(i=0;i<3;i++) { for(j=0;j<3;j++) if(i=j) ji*=a[i][j]; printf(“主對角線的積為:%dn”,ji); } } 十、將一個數(shù)組中的值按你需從新存放。例如,原來順序為8,6,5,4,1。要求改為1,4,5,6,8。 實驗前的源程序: #include scanf(“%d”,&a[i]);} for(i=0;i t=a[i]; a[i]=a[j-i-1]; t=a[j-i-1];} printf(“該數(shù)組逆序排列為:”); for(i=0;i printf(“%d ”,a[i]);printf(“n”);} 實驗錯誤報告: [Error] D:Program FilesC-Free 4temp未命名3.cpp:25: parse error at end of input 構(gòu)建中止 未命名3: 1 個錯誤, 0 個警告 江西理工大學(xué)實驗后的源程序: #include scanf(“%d”,&a[i]);} for(i=0;i t=a[i]; a[i]=a[j-i-1]; a[j-i-1]=t;} printf(“該數(shù)組逆序排列為:”); for(i=0;i printf(“%d ”,a[i]);} printf(“n”);} 江西理工大學(xué) C語言程序設(shè)計(B) (2010-2011-2) 實驗報告 教學(xué)班級: 學(xué)號: 姓名: 課程教師:王華金 實驗輔導(dǎo)教師:王華金 江西理工大學(xué)P123-- 五、1、編寫函數(shù),找出5*5數(shù)組對角線上元素的最小值,并在主函數(shù)中調(diào)用它。要求元素的值通過鍵盤輸入。 實驗前的源程序: #include for(j=0;j<5;j++) if(i==j) if(p[i][j] return min;} void main(){ int i,j,m,a[5][5];printf(“請輸入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主對角線上元素的最小值為:%dn”,m);} 實驗錯誤報告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:13: error: `main' must return `int' [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名4.cpp:27:2: warning: no newline at end of file 構(gòu)建中止 未命名4: 1 個錯誤, 1 個警告 江西理工大學(xué) 實驗后的源程序: #include for(j=0;j<5;j++) if(i==j) if(p[i][j] return min;} main(){ int i,j,m,a[5][5];printf(“請輸入a[5][5]:n”);for(i=0;i<5;i++)for(j=0;j<5;j++)scanf(“%d”,&a[i][j]);printf(“a[5][5]:n”);for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%4d”,a[i][j]);printf(“n”);} m=func(a);printf(“主對角線上元素的最小值為:%dn”,m);} P123-- 五、3、編寫從整形數(shù)組中檢索給定數(shù)值的函數(shù),若找到則輸出該數(shù)值在數(shù)組中的位置。 實驗前的源程序: #include “stdio.h” int Find(int array[],int Array size,int num){ int i;for(i=0;i 江西理工大學(xué)int main(){ int a[]={1,2,3,4,5};num=4,n=5,index;index=find(a,5,num);if(index)printf(“%d在數(shù)組中第%d位置”,num,index);else printf(“數(shù)組中沒有這個數(shù)!”);} 實驗錯誤報告: [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:2: error: expected `,' or `...' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before “size” [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: `size' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `)' before ';' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:5: error: expected `;' before ')' token [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `num' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `n' was not declared in this scope [Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:13: error: `index' was not declared in this scope 江西理工大學(xué)[Error] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:14: error: `find' was not declared in this scope [Warning] C:Users陶鑫DocumentsC-FreeTemp未命名3.cpp:19:2: warning: no newline at end of file 實驗后的源程序: #include “stdio.h” int Find(int Array[], int Array_size, int num){ int i;for(i=0;i P123-- 五、6、輸入10名學(xué)生5門課的成績,分別用函數(shù)求:(1)每門課的平均分。(2)找出最高的分?jǐn)?shù)所對應(yīng)的學(xué)生和成績。 實驗前的源程序: #include for(i=0;i<10;i++) { printf(“輸入第%d個學(xué)生五門課的成績:”,i+1); for(j=0;j<5;j++) scanf(“%f”,&a[i][j]); } } void aver_cour(float a[10][5])//課程的平均分 江西理工大學(xué) { int i,j; float sum; for(i=0;i<5;i++) { sum=0; for(j=0;j<10;j++) sum+=a[j][i]; printf(“第%d門課的平均成績?yōu)椋?6.2fn”,i+1,sum/10); } } void highest(float a[10][5])//查找最高分 { int i,j,flag1,flag2;float max=0; for(i=0;i<10;i++) { for(j=0;j<5;j++) {第二篇:《Matlab語言》實驗報告
第三篇:c語言實驗報告
第四篇:C語言 實驗報告
第五篇:C語言實驗報告