第一篇: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电阻(本电阻数量级应为场效应管RiU02RU01U02输入阻抗在同一数量级,以避免量化误差,此处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.xiexiebang.com整理该文章,版权归原作者、原出处所有...#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语言实验报告