第一篇:C語言實驗報告_二_
C語言實驗報告
(二)課程名稱 _____ C語言程序設(shè)計_____ 實驗項目 ___順序結(jié)構(gòu)程序設(shè)計___ 實驗儀器 ______計算機___________
系 別_____信息與通信工程學院_______ 專 業(yè)______物聯(lián)網(wǎng)_________ 班級/學號___ __
學生姓名 _______________ 實驗日期 ____2014年11月13日___ 成 績 _______________________
指導教師
______ _____
一、實驗目的1、2、3、4、掌握C語言中,選擇結(jié)構(gòu)
掌握C語言中,分段函數(shù)的輸入與輸出 掌握if,else條件語句的用法 掌握數(shù)學函數(shù)的使用
二、實驗內(nèi)容
1.有一分段函數(shù)如下:
編寫程序,輸入x(實數(shù))的值,輸出以如下格式:x=??.??,y=??.??(即小數(shù)部分保留2位)·程序代碼:
#include “stdio.h” int main(){ float x,y;scanf(“%f”,&x);if(x<1)y=x*x;else if(x<10)y=5*x-1;else y=2*x+4;printf(“x=%.2f,y=%.2fn”,x,y);return 0;}
2.從鍵盤輸入三個實數(shù),輸出最大數(shù)和最小數(shù)。樣例輸入:1.23 3.45 5.67 樣例輸出:5.67 1.23 ·程序代碼:
#include“stdio.h” int main(){ double num1,num2,num3,min,max,t;scanf(“%lf%lf%lf”,&num1,&num2,&num3);min=num1;if(min>num2)min=num2;else min=num1;if(min>num3)
min=num3;max=num1;if(max 3.讀入3個非零的double數(shù)后,判別這三個值是否可以表示一個三角形的三條邊。 樣例輸入1:1.23 1.23 1.23 樣例輸出1:yes.樣例輸入2:5.23 3.45-12.34 樣例輸出2:no.·程序代碼: #include“stdio.h” int main(){ double a,b,c;scanf(“%lf%lf%lf”,&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b)printf(“yes.n”);else printf(“no.n”);return 0;} 4.讀入3個非零整數(shù)后,判別這三個值是否可以表示一個直角三角形的三條邊。樣例輸入1:3 4 5 樣例輸出1:yes.樣例輸入2:5 6 1 樣例輸出2:no.·程序代碼: #include“stdio.h” #include“math.h” int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a+b>c&&b+c>a&&a+c>b){ if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)printf(“yes.n”);else printf(“no.n”);} else printf(“no.n”);return 0;} 5.編程設(shè)計一個簡單的計算器程序,要求根據(jù)用戶從鍵盤輸入的表達式: 操作數(shù)1 運算符op操作數(shù)2 計算表達式的值,指定的運算符為加(+)、減(-)、乘(*)、除(/)。 樣例輸入1:21.23+12.56 樣例輸出1:21.23+12.56=33.79 樣例輸入2:1*2 樣例輸出2:1.00*2.00=2.00 在做除法運算時,若操作數(shù)2為0,則輸出:除數(shù)為0 ·程序代碼: #include“stdio.h” int main(){ double a,b;char ch;scanf(“%lf%c%lf”,&a,&ch,&b);if(ch=='/'&&b==0)printf(“除數(shù)為0n”);else switch(ch){ case'+':printf(“%.2f+%.2f=%.2fn”,a,b,a+b);break;case'-':printf(“%.2f-%.2f=%.2fn”,a,b,a-b);break;case'*':printf(“%.2f*%.2f=%.2fn”,a,b,a*b);break;case'/':printf(“%.2f/%.2f=%.2fn”,a,b,a/b);break;} return 0;} 6.某產(chǎn)品生產(chǎn)成本c=c1+m*c2,其中c1為固定成本,c2為單位產(chǎn)品可變成本,m為生產(chǎn)數(shù)量。當m<10000時,c1=20000元,c2=10元;當m≥10000時,c1=40000元,c2=5元; 編寫一個程序,其功能為:根據(jù)輸入的生產(chǎn)數(shù)量,輸出總生產(chǎn)成本及單位生產(chǎn)成本。輸入 生產(chǎn)數(shù)量 輸出 生產(chǎn)數(shù)量 總生產(chǎn)成本 單位可變成本 樣例輸入 6000 樣例輸出 6000 80000 10 ·程序代碼: #include“stdio.h” int main(){ int c,m,c2;scanf(“%d”,&m);if(m<10000){c2=10;c=20000+c2*m;} else { c2=5;c=40000+c2*m;} } printf(“%d %d %dn”,m,c,c2);return 0; 7.根據(jù)鍵盤輸入的一個字符所屬類別,判別它屬于:大寫字母(輸出:1)、小寫字母(輸出:2)、數(shù)字字符(輸出:3)、其它字符(輸出:4)。 輸入 一個字符 輸出 字符類別號 樣例輸入 A 樣例輸出 1 ·程序代碼: #include“stdio.h” int main(){ char ch;scanf(“%c”, &ch);if(ch >= 'A' && ch <= 'Z')printf(“1n”);else if(ch >= 'a' && ch <= 'z')printf(“2n”);else if(ch >= '0' && ch <= '9')printf(“3n”);else printf(“4n”);return 0;} 8.輸入 是一個實型數(shù)據(jù)。 輸出 以如下格式輸出:x=0.250,y=5.250(即輸出一律保留3位小數(shù)) 樣例輸入 0.250 樣例輸出 x=0.250,y=5.250 ·程序代碼: #include“stdio.h” int main(){ char ch;scanf(“%c”, &ch);if(ch >= 'A' && ch <= 'Z')printf(“1n”);else if(ch >= 'a' && ch <= 'z')printf(“2n”);else if(ch >= '0' && ch <= '9')printf(“3n”);else printf(“4n”);return 0;} 一、實驗目的1、2、3、4、掌握關(guān)系表達式和邏輯表達式的使用。掌握選擇結(jié)構(gòu)程序設(shè)計的一般方法。熟練使用if語句進行程序設(shè)計。 掌握使用switch語句實現(xiàn)多分支選擇結(jié)構(gòu)。 二、實驗內(nèi)容 有一分段函數(shù)如下: 編寫程序,輸入(x實數(shù))的值,輸出以如下格式:x=??.??,y=??.??(即小數(shù)部分保留2位)程序代碼: #include “stdio.h” int main(){ float x,y;scanf(“%f”,&x);if(x<1) y=x*x;if(x>=1&&x<10) y=5*x-1; if(x>=10) y=2*x+4;printf(“x=%.2f,y=%.2fn”,x,y);return 0;} 2、從鍵盤輸入三個實數(shù),輸出最大數(shù)和最小數(shù)。樣例輸入:1.23 3.45 5.67 樣例輸出:5.67 1.23 程序代碼: #include “stdio.h” int main(){ float a,b,c,max,min;scanf(“%f%f%f”,&a,&b,&c);if(a>b){max=a;min=b;} else {max=b;min=a;} if(a>c) if(b>c){min=c;} else {min=b;} else {max=c;} printf(“%.2f %.2fn”,max,min);return 0;} 3、讀入3個非零的double數(shù)后,判別這三個值是否可以表示一個三角形的三條邊。樣例輸入1:1.23 1.23 1.23 樣例輸出1:yes.樣例輸入2:5.23 3.45-12.34 樣例輸出2:no.程序代碼: #include “stdio.h” int main(){ double a,b,c;scanf(“%lf%lf%lf”,&a,&b,&c);if(a>0&&b>0&&c>0) if(a+b>c&&b+c>a&&a+c>b) printf(“yes.n”); else printf(“no.n”); else printf(“no.n”); return 0;} 4、讀入3個非零整數(shù)后,判別這三個值是否可以表示一個直角三角形的三條邊。樣例輸入1:3 4 5 樣例輸出1:yes.樣例輸入2:5 6 1 樣例輸出2:no.程序代碼: #include “stdio.h” int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a>0&&b>0&&c>0) if(a+b>c&&b+c>a&&a+c>b) if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b) printf(“yes.n”); else printf(“no.n”); else printf(“no.n”); else printf(“no.n”); return 0;} 5、編程設(shè)計一個簡單的計算器程序,要求根據(jù)用戶從鍵盤輸入的表達式: 操作數(shù)1 運算符op操作數(shù)2 計算表達式的值,指定的運算符為加(+)、減(-)、乘(*)、除(/)。 樣例輸入1:21.23+12.56 樣例輸出1:21.23+12.56=33.79 樣例輸入2:1*2 樣例輸出2:1.00*2.00=2.00 在做除法運算時,若操作數(shù)2為0,則輸出:除數(shù)為0 程序代碼: #include “stdio.h” int main(){ float x,y;char ch;scanf(“%f%c%f”,&x,&ch,&y);switch(ch){ case '+':printf(“%.2f+%.2f=%.2fn”,x,y,x+y);break;case '-':printf(“%.2f-%.2f=%.2fn”,x,y,x-y);break;case '*':printf(“%.2f*%.2f=%.2fn”,x,y,x*y);break; case '/':if(y==0) {printf(“除數(shù)為0n”);} else printf(“%.2f/%.2f=%.2fn”,x,y,x/y);break;} return 0;} 6、描述 某產(chǎn)品生產(chǎn)成本c=c1+m*c2,其中c1為固定成本,c2為單位產(chǎn)品可變成本,m為生產(chǎn)數(shù)量。當m<10000時,c1=20000元,c2=10元;當m≥10000時,c1=40000元,c2=5元; 編寫一個程序,其功能為:根據(jù)輸入的生產(chǎn)數(shù)量,輸出總生產(chǎn)成本及單位生產(chǎn)成本。輸入 生產(chǎn)數(shù)量 輸出 生產(chǎn)數(shù)量 總生產(chǎn)成本 單位可變成本 樣例輸入 6000 樣例輸出 6000 80000 10 程序代碼: #include “stdio.h” int main(){ int m,c1,c2,c;scanf(“%d”,&m);if(m<10000){c1=20000;c2=10;} else {c1=40000;c2=5;} c=c1+c2*m;printf(“%d %d %dn”,m,c,c2);return 0;} 7、描述 根據(jù)鍵盤輸入的一個字符所屬類別,判別它屬于:大寫字母(輸出:1)、小寫字母(輸出:2)、數(shù)字字符(輸出:3)、其它字符(輸出:4)。 輸入 一個字符 輸出 字符類別號 樣例輸入 A 樣例輸出 程序代碼 #include “stdio.h” int main(){ char ch;scanf(“%c”,&ch);if(65<=ch&&ch<=90) printf(“1n”); else if(97<=ch&&ch<=122) printf(“2n”);else if(47<=ch&&ch<=58) printf(“3n”);else printf(“4n”);return 0;} 8、描述 實現(xiàn)如下分段函數(shù): 輸入 是一個實型數(shù)據(jù)。輸出 以如下格式輸出:x=0.250,y=5.250(即輸出一律保留3位小數(shù))樣例輸入 0.250 樣例輸出 x=0.250,y=5.250 程序代碼 #include “stdio.h” int main(){ float x,y;scanf(“%f”,&x);if(x<3){y=x+5;} else if(x==3){y=2*x;} else if(x<10){y=6*x-4;} else {y=3*x-11;} printf(“x=%.3f,y=%.3fn”,x,y);return 0;} 三、實驗體會 通過選擇結(jié)構(gòu)這一章的學習,我了解了關(guān)系表的事和邏輯表達式的使用以及選擇結(jié)構(gòu)程序設(shè)計的一般方法。知道了if語句的使用和switch語句多分支選擇結(jié)構(gòu)。經(jīng)過這一章的學習,我對c語言程序設(shè)計有了更大的興趣,希望能帶給我以后更大的學習樂趣。 成都大學《Visual FoxPro 程序設(shè)計》實驗報告 實驗二 數(shù)據(jù)表文件的建立與操作 班級:級專業(yè)班姓名:實驗時間:年月日 實驗目的: 1.學習用菜單法和命令法進行數(shù)據(jù)表結(jié)構(gòu)的建立、顯示、修改及數(shù)據(jù)表文件的打開和關(guān)閉。2.熟悉掌握用菜單法和命令法進行數(shù)據(jù)表數(shù)據(jù)的添加、瀏覽、修改、刪除、檢索與統(tǒng)計。實驗內(nèi)容: 1.完成“Visual FoxPro程序設(shè)計上機實驗及習題集·實驗3”中1~10項。2.完成“Visual FoxPro程序設(shè)計上機實驗及習題集·實驗4”中1~6項。 3.分別復制文件XS.DBF和CJ.DBF為學生.DBF和成績.DBF,創(chuàng)建一個名為練習.DBC的數(shù)據(jù)庫,在其中完成下列操作,寫出命令語句: ① 顯示86年出生的學生記錄,要求只顯示學號、姓名和出生日期。 ② 將所有的團員記錄復制到文件:團員.DBF。 ③ 將所有入校總分在500分以下(不包括500分)的學生的入??偡衷黾?%。 ④ 設(shè)當前記錄指針在第一條,分別用命令:GO、SKIP、LOCATE和SEEK實現(xiàn)將指針定位到 第五條記錄。 ⑤ 建立一個以入??偡趾统錾掌谂判虻乃饕募◤秃纤饕?,索引名為ZFRQ)。 ⑥ 設(shè)已分別在兩個工作區(qū)打開了學生.DBF和課程.DBF,將兩個表連接成學生成績.DBF,在其中包含字段:學號、姓名、語文、數(shù)學、英語。 ⑦ 設(shè)學生.DBF和課程.DBF兩表已按學號建立了索引,按學號建立兩表的臨時關(guān)聯(lián)。 實驗收獲和建議: 成都大學計算機基礎(chǔ)教研室制 《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è)定時差進行對比分析(需給出詳細過程及適當?shù)姆抡鎴D)。 (3)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。自行仿真2個具有一定時差的信號,用互模糊函數(shù)法計算該2個信號的時差,并與設(shè)定時差進行對比分析(需給出詳細過程及適當?shù)姆抡鎴D)。 (4)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。自行仿真2個具有一定時差的信號,用廣義互相關(guān)(GCC)結(jié)合多項式擬合方法計算該2個信號的時差,并比較廣義互相關(guān)法估計時差和廣義互相關(guān)結(jié)合多項式擬合方法估計時差的結(jié)果,進行分析(需給出詳細過程及適當?shù)姆抡鎴D)。 (5)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。自行仿真2個具有一定時差的信號,自選方法計算該2個信號的時差,并與設(shè)定時差進行對比分析(需給出詳細過程及適當?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é)果,并分析之(需給出詳細解決過程及適當?shù)姆治鰣D)。 (7)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),用廣義互相關(guān)(GCC)結(jié)合多項式擬合方法計算該2路信號的時差,比較廣義互相關(guān)法估計時差和廣義互相關(guān)結(jié)合多項式擬合方法估計時差的結(jié)果,并分析之(需給出詳細解決過程及適當?shù)姆治鰣D)。 (8)在TDOA定位技術(shù)中,時差估計是一個非常重要的環(huán)節(jié)。根據(jù)提供的TDOA數(shù)據(jù),自選方法計算該2路信號的時差,統(tǒng)計每包數(shù)據(jù)計算結(jié)果,并分析之(需給出詳細解決過程及適當?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、深度學習類 (20)設(shè)計一個神經(jīng)網(wǎng)絡(luò)(可以是任意類型的神經(jīng)網(wǎng)絡(luò)),對手寫數(shù)字進行分類,要求小組內(nèi)每個成員至少每人手寫一個數(shù)字,然后識別,并分析識別準確率。 (21)自行找一個預訓練好的網(wǎng)絡(luò),對日常生活物品進行識別,要求小組內(nèi)每個成員拍照1~2個物品,通過網(wǎng)絡(luò)進行識別,并分析識別效果。 學號:__________ 姓名:__________ 班級:__________ 日期:__________ 指導教師:__________ 成績:__________ 實驗一 上機操作初步和簡單的C程序設(shè)計 一、實驗目的1、熟悉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)的上機方法與步驟。(習題1.7) 2、編寫一個C程序,輸入a、b、c 3個值,輸出其中最大者。(習題1.6) 3、設(shè)圓半徑r=1.5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù),輸出計算結(jié)果,輸出時要求有文字說明,取小數(shù)點后2位數(shù)字。注意:在Trubo C++ 3.0中不能輸入漢字,只能輸入英文或拼音。(習題4.8) 4、運行如下程序,寫出運行結(jié)果。第一┆范文網(wǎng)www.tmdps.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語言實驗二實驗報告
第三篇:實驗報告二
第四篇:《Matlab語言》實驗報告
第五篇:c語言實驗報告