第一篇:C语言实验报告_二_
C语言实验报告
(二)课程名称 _____ C语言程序设计_____ 实验项目 ___顺序结构程序设计___ 实验仪器 ______计算机___________
系 别_____信息与通信工程学院_______ 专 业______物联网_________ 班级/学号___ __
学生姓名 _______________ 实验日期 ____2014年11月13日___ 成 绩 _______________________
指导教师
______ _____
一、实验目的1、2、3、4、掌握C语言中,选择结构
掌握C语言中,分段函数的输入与输出 掌握if,else条件语句的用法 掌握数学函数的使用
二、实验内容
1.有一分段函数如下:
编写程序,输入x(实数)的值,输出以如下格式:x=??.??,y=??.??(即小数部分保留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.从键盘输入三个实数,输出最大数和最小数。样例输入: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数后,判别这三个值是否可以表示一个三角形的三条边。 样例输入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个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。样例输入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.编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op操作数2 计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)。 样例输入1:21.23+12.56 样例输出1:21.23+12.56=33.79 样例输入2:1*2 样例输出2:1.00*2.00=2.00 在做除法运算时,若操作数2为0,则输出:除数为0 ·程序代码: #include“stdio.h” int main(){ double a,b;char ch;scanf(“%lf%c%lf”,&a,&ch,&b);if(ch=='/'&&b==0)printf(“除数为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.某产品生产成本c=c1+m*c2,其中c1为固定成本,c2为单位产品可变成本,m为生产数量。当m<10000时,c1=20000元,c2=10元;当m≥10000时,c1=40000元,c2=5元; 编写一个程序,其功能为:根据输入的生产数量,输出总生产成本及单位生产成本。输入 生产数量 输出 生产数量 总生产成本 单位可变成本 样例输入 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.根据键盘输入的一个字符所属类别,判别它属于:大写字母(输出:1)、小写字母(输出:2)、数字字符(输出: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.输入 是一个实型数据。 输出 以如下格式输出:x=0.250,y=5.250(即输出一律保留3位小数) 样例输入 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、掌握关系表达式和逻辑表达式的使用。掌握选择结构程序设计的一般方法。熟练使用if语句进行程序设计。 掌握使用switch语句实现多分支选择结构。 二、实验内容 有一分段函数如下: 编写程序,输入(x实数)的值,输出以如下格式:x=??.??,y=??.??(即小数部分保留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、从键盘输入三个实数,输出最大数和最小数。样例输入: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数后,判别这三个值是否可以表示一个三角形的三条边。样例输入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个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。样例输入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、编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op操作数2 计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)。 样例输入1:21.23+12.56 样例输出1:21.23+12.56=33.79 样例输入2:1*2 样例输出2:1.00*2.00=2.00 在做除法运算时,若操作数2为0,则输出:除数为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(“除数为0n”);} else printf(“%.2f/%.2f=%.2fn”,x,y,x/y);break;} return 0;} 6、描述 某产品生产成本c=c1+m*c2,其中c1为固定成本,c2为单位产品可变成本,m为生产数量。当m<10000时,c1=20000元,c2=10元;当m≥10000时,c1=40000元,c2=5元; 编写一个程序,其功能为:根据输入的生产数量,输出总生产成本及单位生产成本。输入 生产数量 输出 生产数量 总生产成本 单位可变成本 样例输入 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、描述 根据键盘输入的一个字符所属类别,判别它属于:大写字母(输出:1)、小写字母(输出:2)、数字字符(输出: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、描述 实现如下分段函数: 输入 是一个实型数据。输出 以如下格式输出:x=0.250,y=5.250(即输出一律保留3位小数)样例输入 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;} 三、实验体会 通过选择结构这一章的学习,我了解了关系表的事和逻辑表达式的使用以及选择结构程序设计的一般方法。知道了if语句的使用和switch语句多分支选择结构。经过这一章的学习,我对c语言程序设计有了更大的兴趣,希望能带给我以后更大的学习乐趣。 成都大学《Visual FoxPro 程序设计》实验报告 实验二 数据表文件的建立与操作 班级:级专业班姓名:实验时间:年月日 实验目的: 1.学习用菜单法和命令法进行数据表结构的建立、显示、修改及数据表文件的打开和关闭。2.熟悉掌握用菜单法和命令法进行数据表数据的添加、浏览、修改、删除、检索与统计。实验内容: 1.完成“Visual FoxPro程序设计上机实验及习题集·实验3”中1~10项。2.完成“Visual FoxPro程序设计上机实验及习题集·实验4”中1~6项。 3.分别复制文件XS.DBF和CJ.DBF为学生.DBF和成绩.DBF,创建一个名为练习.DBC的数据库,在其中完成下列操作,写出命令语句: ① 显示86年出生的学生记录,要求只显示学号、姓名和出生日期。 ② 将所有的团员记录复制到文件:团员.DBF。 ③ 将所有入校总分在500分以下(不包括500分)的学生的入校总分增加5%。 ④ 设当前记录指针在第一条,分别用命令:GO、SKIP、LOCATE和SEEK实现将指针定位到 第五条记录。 ⑤ 建立一个以入校总分和出生日期排序的索引文件(复合索引,索引名为ZFRQ)。 ⑥ 设已分别在两个工作区打开了学生.DBF和课程.DBF,将两个表连接成学生成绩.DBF,在其中包含字段:学号、姓名、语文、数学、英语。 ⑦ 设学生.DBF和课程.DBF两表已按学号建立了索引,按学号建立两表的临时关联。 实验收获和建议: 成都大学计算机基础教研室制 《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语言实验报告