第一篇:C語言實驗報告(六)
華北水院高級語言程序設計(C語言)實驗報告
2014--2015學年 第二學期 2014級 通信專業 班級:164 學號 :201416430 姓名:詹曉東
一、實驗題目:指針
二、實驗目的:(略)
三、實驗內容
1.程序驗證(略)2.程序設計
1)下面程序的功能是分別求出數組中所有3的倍數之和以及所有5的倍數之和。形參n給了數組中數據的個數,利用指針three返回3的倍數之和,利用指針five返回5的倍數之和。例如:數組中的值依次為:1,5,9,2,3,15,11,6,10;則利用指針three返回3的倍數之和33;利用指針five返回5的倍數之和30。請在下面空白處完善這一函數的功能,并且調試運行出結果。源代碼:#include
for(i=0;i<=n;i++){if(a[i]%3==0)
*three+=a[i];
if(a[i]%5==0)
*five+=a[i];}} void main(){ int a[N]={1,5,9,2,3,15,11,6,10},i,n=9,three,five;
three=five=0;
printf(“The original data is:n”);
for(i=0;i printf(“%5d”,*(a+i)); printf(“nn”); fun(a,n,&three,&five); printf(“3的倍數之和:%dn”,three); printf(“5的倍數之和:%dn”,five);} 運行結果: 2)從鍵盤輸入一個字符串,實現利用字符指針將字符串的字符順序逆置并輸出。(例如輸入abcdef,輸出fedcba)。請編寫相應的程序代碼,并調試運行出正確結果。源代碼:#include char str[80]; char s; printf(“請輸入一個字符串:n”); scanf(“%s”,str); j=strlen(str); printf(“字符串逆序輸出為:n”); for(i=j;i>0;i--) { s=str[i-1]; printf(“%c”,s);} printf(“n”);} void fun(char *s) { int i,j; char temp; j=strlen(s);for(i=0;i s[i]=s[j-i-1]; s[j-i-1]=temp; } } 運行結果: 實驗心得:通過本次的學習,我對于指針的使用有了一定的了解,但是由于較難,在過程中遇到很多的困難,今后應多加練習才能有進步。 《C語言及程序設計》實驗報告 實驗六 選擇、循環結構程序設計 實驗目的: 進一步對選擇結構和循環結構進行程序設計。實驗內容: 1、打印輸出如下圖所示的圖形: A BBB CCCCC DDDDDDD #include “stdio.h” #include “conio.h” main(){ int i,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(“ ”); for(k=0;k<=2*i;k++) printf(“%c”,'A'+i); printf(“n”);} getch();} 2、編程序解決百錢買百雞問題。公元前5世紀,我國數學家張丘建在《算經》中提出“百雞問題”:雞翁一值錢五,雞母一值錢三,雞雛三值錢一。百錢買百雞,問雞翁、雞母、雞雛各幾何? 提示:采用窮舉法解決該問題。先設變量,列出數學中的方程式,然后用for循環處理窮舉。 #include 《C語言及程序設計》實驗報告 main(){int x,y,z;for(x=0;x<20;x++)for(y=0;y<34;y++)for(z=0;z<100;z++)if((15*x+9*y+z==300)&&(x+y+z==100)&&(z%3==0))printf(“%d,%d,%dn”,x,y,z);getche();} 電子技術基礎實驗報告六 《場效應管放大器》 實驗電路圖1-1: 圖1-1 實驗內容: a.1、靜態工作點的測量和調整 ? 關閉系統電源,按圖1-1連接電路。 ? 調節信號源使其輸出頻率為1KHz、峰峰值為200mv的正弦信號Ui,并用示波器同時檢測Uo和Ui的波形,如波形正常放大未失真,則斷開信號源,測量Ug、Us和Ud,把結果記入表1-1。? 若不合適,則適當調整Rg2和RS,調好后,再測量UG、US和UD 記入表1-1。 實驗結果見表1-2: Ug(V)Us(V) 0.20480 0.59547 UD(V)3.86010 UDS(V)3.30900 表1-2 UGS(V)-0.39000 ID(mA)1.26695 實驗結果分析: UDs=UD—Us,根據前三個測量值,可知理論值為3.26463,誤差為1.4%,在誤差范圍內; UGs=UG—Us,根據前三個測量值,可知理論值為-0.39067,誤差為0.2%,在誤差范圍內; ID=Us/R4,R4的值為470Ω,計算值為1.26695,理論值是1~3,測量合理。b.2、電壓放大倍數 AV和輸出電阻Ro的測量 ? 關閉系統電源,按圖6-2連接電路。 ? 在放大器的輸入端加入頻率為1KHz、峰峰值為500mv的正弦信號Ui,并用示波器同時觀察輸入電壓Ui輸出電壓UO的波形。在輸出電壓UO沒有失真的條件下,用交流毫伏表分別測量RL=∞和RL=4.7KΩ時的輸出電壓UO(注意:保持 Ui幅值不變),記入表1-3。 測量值 計算值 輸入輸出波 形 圖1-2 圖1-3 Ui(V)Uo(V)0.17705 0.17707 1.04557 0.51945 AV 5.91 2.93 Ro 4760 RL=∞ RL=4.7K 圖1-2 圖1-3 2)Ri的測量(測量方法同實驗五) 按圖6-2連接實驗電路,選擇合適大小的輸入電壓US(約50-100mV),使輸出電壓不失真,測出輸出電壓Uo1,然后關閉系統電源,在輸入端串入5.1K電阻(本電阻數量級應為場效應管Ri?U02RU01?U02輸入阻抗在同一數量級,以避免量化誤差,此處5.1K較小,但無法更改),測出輸出電壓Uo2,根據公式 求出 Ri,記入表1-4。 Uo1(V)0.10582 Uo2(V)0.10536 Ri(KΩ)1168.1 表1-4 五、實驗總結 1、整理實驗數據,將測得的AV、Ri、Ro和理論計算值進行比較。 答:Ri、Ro測量值分別為1.168MΩ,4760Ω 2、把場效應管放大器與晶體管放大器進行比較,總結場效應管放大器的特點。 3、分析測試中的問題,總結實驗收獲。思考題: 1、場效應管放大器輸入回路的電容C1為什么可以取得小一些(可以取C1=0.1μF)? 答:因為場效應管是高阻抗輸入管,所以輸入信號要求小的幅度,否則將產生大幅度失真的。為了達到最佳匹配,所以輸入耦合電容要選得小一些。 2、在測量場效應管靜態工作電壓UGS時,能否用直流電壓表直接并在G、S兩端測量?為什么? 答:不可以,因為這樣測量可能使G極擊穿,因為場效應管的G極輸入為高阻。有些場效應管的G極是帶保護的,對于沒有保護的場效應管人體手的觸碰的靜電都有可能將其G極擊壞。而且場效應管子的各個極性阻抗非常高、受到感應的影響會很大,萬用表的表筆針和人體手指的感應會影響工作點的較大變化 3、為什么測量場效應管輸入電阻時要用測量輸出電壓的方法? 答:要測這個放大電路的輸入電阻,本來只要測出輸入電壓Ui和輸入電流Ii,那么輸入電阻Ri=Ui/Ii,但是我們實驗室里沒有測量微小交流電流的《交流微安表》,只有測量微小電壓的交流毫伏表,為了將這個電流量轉換成電壓,于是在輸入電路中串聯了一個電阻R,這個R的大小應當和輸入電阻的大小相當。這樣,輸入電流Ii=(Us-Ui)/R,在這里,Us是信號源輸出電壓,Ui是放大電路輸入端得到的電壓,只要測出這兩個電壓,就可求出輸入電阻了。 在一般的共射放大電路中,由于輸入電阻只有幾千歐,所串聯的電阻R也就是幾千歐,用此法就可以測量輸入電阻了。但是,場效應管放大電路的輸入電阻很大,可達10M歐或更大,當所串R達到這樣大的值時,由于所用毫伏表的內阻也是很大,在毫伏表的輸入測量線上就會產生出幾毫伏的感應電壓,就會發生測量出Ui比Us大的情況。如何解決這一問題?有人提出一個方案:將實驗室用金屬網屏蔽起來,同時,進入實驗室的各種電線也要加濾波裝置,顯然不容易實現。 比較容易解決的方法是:不在R與放大電路的連接點測電壓。 《Matlab語言》實驗(報告)題庫 1、TDOA信號分析類 (1)已給出一段事先采集的信號,該信號為進行TDOA定位使用的基本信號,其格式為GPS+IQ + GPS+IQ …,即每包數據由GPS頭文件和IQ信號構成,GPS頭文件共58B,其數據格式為 $HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0*,每包IQ數據共8192B,其數據格式為I0,Q0,I1,Q1,I2,Q2…,I2047,Q2047,即I數據2048點、Q數據2048點交叉出現。換言之,每包數據實際內容為:$HT,20130114,084556,N3606.82273,E10343.59311,M1538.7,11,0* I0 Q0 I1 Q1 I2 Q2 … I2047 Q2047,程序前期已實現讀取IQ數據文件并進行關鍵信息讀取分解,請根據程序提醒,完成相關功能(數據及程序見“1-實際IQ信號實驗”文件夾)。 2、TDOA時差估計仿真類 (2)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,用廣義互相關法(GCC)計算該2個信號的時差,并與設定時差進行對比分析(需給出詳細過程及適當的仿真圖)。 (3)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,用互模糊函數法計算該2個信號的時差,并與設定時差進行對比分析(需給出詳細過程及適當的仿真圖)。 (4)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,用廣義互相關(GCC)結合多項式擬合方法計算該2個信號的時差,并比較廣義互相關法估計時差和廣義互相關結合多項式擬合方法估計時差的結果,進行分析(需給出詳細過程及適當的仿真圖)。 (5)在TDOA定位技術中,時差估計是一個非常重要的環節。自行仿真2個具有一定時差的信號,自選方法計算該2個信號的時差,并與設定時差進行對比分析(需給出詳細過程及適當的仿真圖)。 3、TDOA時差估計實測類 下面三題使用“3-TDOA實測類-數據”。 (6)在TDOA定位技術中,時差估計是一個非常重要的環節。根據提供的TDOA數據,用廣義互相關(GCC)計算該2路信號的時差,統計每包數據計算結果,并分析之(需給出詳細解決過程及適當的分析圖)。 (7)在TDOA定位技術中,時差估計是一個非常重要的環節。根據提供的TDOA數據,用廣義互相關(GCC)結合多項式擬合方法計算該2路信號的時差,比較廣義互相關法估計時差和廣義互相關結合多項式擬合方法估計時差的結果,并分析之(需給出詳細解決過程及適當的分析圖)。 (8)在TDOA定位技術中,時差估計是一個非常重要的環節。根據提供的TDOA數據,自選方法計算該2路信號的時差,統計每包數據計算結果,并分析之(需給出詳細解決過程及適當的分析圖)。 4、信號頻域分析類 (9)生成一個帶有噪聲的正弦波信號,信號的頻率、幅度,噪聲的幅度自行設定。(將帶有噪聲的正弦信號放入for循環中,利于pause,實現噪聲動態變化效果,并在for循環內畫出其時域圖和幅頻圖(采樣率和采樣點數自行設定),觀察動態變化情況),最后總結系統采樣率和采樣點數對仿真信號效果的影響。 (10)自行生成一段時域信號,要求在不同的時間,信號具有不同的頻率(即非平穩信號),用短時傅里葉變換對其進行時頻分析,并呈現時頻分析結果。 (11)自行生成一段時域信號,要求在不同的時間,信號具有不同的頻率(即非平穩信號),用小波變換對其進行時頻分析,并呈現時頻分析結果。 5、信號調制解調類 (12)自行產生正弦信號作為基帶信號、載波,試合成AM信號,在AM信號上加高斯白噪聲,并將AM信號解調,畫出各信號(基帶信號、載波、合成的AM信號、解調后的基帶信號)時域圖及頻譜圖,并對比總結解調效果。 (13)自行產生正弦信號作為基帶信號、載波,試合成FM信號,在FM信號上加高斯白噪聲,并將FM信號解調,畫出各信號(基帶信號、載波、合成的FM信號、解調后的基帶信號)時域圖及頻譜圖,并對比總結解調效果。 (14)自行產生一個正弦信號,以此為載波,生成一段2ASK信號,其中數字序列隨機生成,畫出數字基帶序列、正弦信號、2ASK信號的時域圖。 (15)自行產生兩個不同頻率的正弦信號,以此為載波,生成一段2FSK信號,其中數字序列隨機生成,畫出數字基帶序列、兩個正弦信號、2FSK信號的時域圖。 (16)用Matlab模擬通信系統收發過程,要求:發射站發射FM調制信號,接收站接收該信號,并進行解調,系統參數及傳播環境/過程參數自定。 6、信號分離類 (17)自行生成一個含有3個頻率(信號頻率相近,如200Hz,210Hz,300Hz)的信號,其他參數自定,直接用FFT難以將不同頻率信號,尤其頻率較近的信號進行分離,試用AR等高階功率譜方法,將該信號進行分離,并繪制分離前后的頻譜圖(即信號的FFT圖、信號的AR分離圖)。 (18)自行生成一個含有不同頻率或不同相位的信號,直接用FFT難以將不同頻率信號,尤其頻率較近或同頻率不同相位的信號進行分離,試用MUSIC方法,將該信號進行分離,并繪制分離前后的頻譜圖(即原信號的FFT圖、信號的MUSIC分離圖),并總結現象。 (19)自行產生一段含有低頻、高頻和噪聲成分的信號,嘗試設計不同的濾波器,將高頻信號及噪聲濾掉,并繪制濾波前后的信號對比圖(含時域、頻域圖)。 7、深度學習類 (20)設計一個神經網絡(可以是任意類型的神經網絡),對手寫數字進行分類,要求小組內每個成員至少每人手寫一個數字,然后識別,并分析識別準確率。 (21)自行找一個預訓練好的網絡,對日常生活物品進行識別,要求小組內每個成員拍照1~2個物品,通過網絡進行識別,并分析識別效果。 學號:__________ 姓名:__________ 班級:__________ 日期:__________ 指導教師:__________ 成績:__________ 實驗一 上機操作初步和簡單的C程序設計 一、實驗目的1、熟悉C語言運行環境Turbo C++3.02、會簡單的程序調試 3、熟悉C語言各種類型數據的輸入輸出函數的使用方法 4、掌握順序結構程序設計 二、實驗內容 1、上機運行本章3個例題,熟悉所用系統的上機方法與步驟。(習題1.7) 2、編寫一個C程序,輸入a、b、c 3個值,輸出其中最大者。(習題1.6) 3、設圓半徑r=1.5,圓柱高h=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數據,輸出計算結果,輸出時要求有文字說明,取小數點后2位數字。注意:在Trubo C++ 3.0中不能輸入漢字,只能輸入英文或拼音。(習題4.8) 4、運行如下程序,寫出運行結果。第一┆范文網www.tmdps.cn整理該文章,版權歸原作者、原出處所有...#include void main() { int a=1,b=2; a=a+b;b=a-b;a=a-b; printf(“%d,%dn”,a,b); } 三、實驗步驟與過程 四、程序調試記錄第二篇:C語言與程序設計實驗報告六
第三篇:電路實驗報告六
第四篇:《Matlab語言》實驗報告
第五篇:c語言實驗報告