c语言实验报告参考.doc

上传人:飞****2 文档编号:52214418 上传时间:2022-10-21 格式:DOC 页数:53 大小:307.50KB
返回 下载 相关 举报
c语言实验报告参考.doc_第1页
第1页 / 共53页
c语言实验报告参考.doc_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《c语言实验报告参考.doc》由会员分享,可在线阅读,更多相关《c语言实验报告参考.doc(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C语言程序设计实验报告实验名称熟悉C语言的运行环境学院计算机科学学院班级软件3班姓名李漫学号任课教师廖雪花实验时间实验一实验目的和要求1. 熟悉C语言的运行环境,了解和使用Visual C+(简称VC+)集成开发环境2. 熟悉VC+环境的基本指令和功能键。3. 熟悉常用的功能菜单指令。4. 掌握C语言程序的书写格式和C语言程序的结构。5. 掌握C语言的上机步骤,了解运行一个C程序的方法。6. 完成实验报告。实验内容1. 熟悉Visual C+的实验环境实验步骤1. 启动VC+,看初始化界面,2. 查看各项菜单,看看都有哪些子菜单3. 将鼠标放置于各工具条图标上,了解系统有哪些命令。4. 在任意

2、工具条上单击鼠标右键,弹出式菜单上将显示所有可能的工具条,选择其中没有对号()的项,看看有什么效果,在选择有对号的项,看看有什么效果。可以通过该方法对VC+的显示界面进行定制。5. 将鼠标移动到任意工具条上,把鼠标放到图标间隙,按下鼠标左键不放,移动鼠标到屏幕中间,有什么现象发生?再将它拖回原来的位置,有什么现象发生?6. 将鼠标移动到左边的工作区窗口,按下鼠标左键不放,移动鼠标到屏幕中间,有什么现象发生?再将它拖回原来的位置,有什么现象发生?7. 将鼠标移动到下边的输出窗口,按鼠标右键,弹出一个菜单,选择其中的菜单项Hide,结果如何?要重新显示该窗口,选择菜单View |Output窗口是

3、不是又显示出来了?8. 选择菜单Help |Contents联机帮助系统,学习使用该帮助系统。9. 选择菜单File|Exit退出VC+二 完成一个输出“hello world”实验目的和要求1. 完成一个输出“hello world”的程序,熟悉VC+中有关的编辑和编译命令的使用方法。实验步骤1. 启动VC+。2. 从主菜单中选择File|New,将显示出New对话框。3. 选择Projects标签,并从列表中单击Win32 Console Application。4. 在“Location:” 编辑框中输入或通过对话框选择第一步建立的文件夹。5. 在对话框右上角的“Project name

4、:”编辑框内键入项目的名字 “Hello”6. 单击Ok键继续。7. 系统将显示一个询问项目类型的程序向导,选择“An empty project”。8. 单击Finishi按钮结束,最后在单击Ok按钮完成。9. 在主菜单上选择File| New标签,单击“C/C+ Source File。”10. 选中“Addto project:”11. 在右边的File 编辑框中输入“Hello”单击Ok按钮。输入代码/*显示hello world!*/ /*注释文本*/ #include /*编译预处理*/int main(void) /*定义主函数main(void)*/printf(hello w

5、orld!n); /*调用printf()函数输出文字*/return 0; /*返回一个整数0*/运行结果问题及解决方法再输入return 0后忘记输入;导致错误实验总结通过该实验对输出和换行指令有一定了解。再输入代码时符号很重要。三 完成3个数据的输入、求和并输出计算结果的程序实验步骤1. 创建一个控制台项目。选择菜单File|New,在Projects标签下Win32 Console Application,输入文件名“Sum”,然后单击Ok。2. 在项目中增加一个文件。选择菜单File|New,在Files标签下选择C/C+ Source File,输入文件名“Sum”,然后单击Ok按

6、钮。输入代码/*完成3个数据的输入、求和并输出计算结果的程序*/#include /*编译预处理*/int main(void)float a,b,c; /*定义变量 a,b,c*/printf(please input a,b and c:); /*提示输入变量的值*/scanf(%f%f%f,&a,&b,&c); /*读取变量的值*/ printf(%.2fn,a+b+c); /*输出运算结果*/测试数据 12 13 14运行结果四 在屏幕上显示图形实验要求和目的1. 输出下列图形B B B B 2. A BBB CCCCC实验步骤创建一个控制台项目。选择菜单File|New,在Proje

7、cts标签下Win32 Console Application,输入文件名“字母”,然后单击Ok按钮。在项目中增加一个文件。选择菜单File|New,在Files标签下选择C/C+ Source File,输入文件名“字母”,然后单击Ok按钮。输入代码/*显示字母*/#include /*编译预处理*/int main(void) /*定义主函数main(void)*/printf( B n);printf(B B n);printf( B n); /*调用printf()函数输出文字*/return 0; /*返回一个数字0*/运行结果2输入代码/*显示字母*/#include /*编译预处

8、理*/int main(void) /*定义主函数main(void)*/printf( A n);printf( BBB n);printf( CCCCC n); /*调用printf()函数输出文字*/ return 0; /*返回一个数字0*/运行结果问题及解决方法在本实验中,注意main函数前使用的时int,在编码最后,需写return 0,前后应保持一致。在换行时应注意写n,而不是n。实验总结通过本实验,能清楚地理解到输出函数printf的含义,对换行符号n用法更加熟练。实验二一 计算输入的任意两个精度的平均值试验目的和要求1. 正确理解数据的类型,学会定义数据。2. 正确输入两个数

9、据,并求其平均值。实验内容1. 输入两个双精度值,并求其平均值。2. 在程序内部加以必要的注释。算法描述开始 输出结果定义a=(x+y)/2输入数据x,y声明变量x,y,a源代码及说明/*两个值的平均值*/#includevoid main (void) double x,y,a;scanf(%lf,%lf,&x,&y);a=(x+y)/2;printf(The average is :%f, a);运行结果输入5,7实验总结通过该试验,理解了c语言中的数据类型,掌握输入输出数值的函数。二 编写一个c程序,测试下列表达式试验目的和要求1. 理解+,+,+i,i+,的意义和优先级。2. 理解运算

10、符的优先级和结合顺序。实验内容1 定义两个整型数值i,j。并定义+i,+i,i+,+j,+j,j+.输出函数值。源代码及说明/*显示字母*/#includeint main(void)int i,j;i=10;j=101;printf(i=%d,andj=%dn,i,j);printf(i+=%d,andj+=%dn,i+,j+);printf(+i=%d,and+j=%dn,+i,+j);printf(i+1=%d,andj+1=%dn,i+1,j+1);printf(+i+j+=%dn,(+i)+(j+);运行结果问题及解决方法从键盘输入表达式时没有注意与数学表达式的区别,导致运行错误。实

11、验总结通过该试验正确理解+,+i,i+,的意义,理解运算符的优先级。三 输入7个数据的程序,并进行运算实验目的和要求1. 准确定义数据的类型,理解符号的优先运算。源代码及说明#include void main (void)float a,b,c,d,e,f,g;printf(please input a,b,c,d,e,fand g);scanf(%f%f%f%f%f%f%f,&a,&b,&c,&d,&e,&f,&g); printf(%.2fn,a+b*(c-d)/e*f-g);运行结果算法描述开始声明变量a,b,c,d,e,f,g输入值a,b,c,d,e,f,g定义函数输出结果实验总结通

12、过该试验,掌握输入函数scanf的用法,理解了%。2f的含义。四 编译一个程序 将china译为glmre实验目的及要求编写一个程序,将china译为glmre源代码及说明#include /*加密程序*/main()char c1,c2,c3,c4,c5;scanf(%c,%c,%c,%c,%c,&c1,&c2,&c3,&c4,&c5);printf(%c,%c,%c,%c,%c,c1+4,c2+4,c3+4,c4+4,c5+5);运行结果问题及解决方法在试验中,变量的类型没有定义为char,导致输出的结果不是字符。算法描述开始声明变量c1,c2,c3,c4,c5输入变量的值定义函数输出结果

13、实验总结通过该实验,理解函数char的意义。五 输入存款和存期,年利率,算出利息实验目的和要求编写一个程序,当输入存款,存期,年利率时,可以计算出利息。源代码及说明#include stdio.hmain()int i;float j=1,money,year,rate,erest;printf(%f%f%fn,money,rate,year);scanf(%f %f %f,&money,&rate,&year);for (i=1;i=year;i+)j*=(1+rate);erest=money*j-money;printf(%f,erest);运行结果算法描述 J=yearJ*=(1+ra

14、te)输入i=year定义变量i,j,,money,year,rate,erest开始真假erest=money*j-money 输出结果输入money,year,rate实验总结通过该试验,掌握for语句格式及使用方法,在编程中学会各种算法和编程技巧。六 输入华氏温度,输出对应的摄氏温度实验目的和要求编写一个程序,输入华氏温度,输出对应的摄氏温度。源代码及说明f代表华氏温度,c代表摄氏温度/*温度的表示*/main()float f,c;scanf(%f,&f);printf(%f,c=5*(f-32)/9);实验总结通过该试验,实现了摄氏温度和华氏温度的互换。 实验三一 编写一个程序完成输

15、入一个整数 输出符号试验目的和要求1. 了解和掌握分支语句的使用。2. 正确使用ifelse语句。开始输入变量Printf(this number has nosign)变量符号输出+输出-=0非0=0非0算法描述源代码及说明#include void main (void)int n;printf(enter n :);scanf (%d,&n);if (n0)printf(+n);else if (n0)printf(-n);else printf(this number has no sign n);运行结果实验拓展#include void main (void)int n;print

16、f(enter n :);scanf (%d,&n);if (n0)printf(+n);else if (n0)printf(-n);else printf(this number has no sign n);运行结果实验总结通过该试验理解两种if语句的异同点。并正确掌握和使用。二 编写程序计算居民交水费实验目的和要求1.了解和掌握分支语句的使用。2.正确使用ifelse语句。算法描述开始输入变量输出y=2*5x-10.5变量的值输出y=0输出y=4x/3=0非0=0非0源代码及说明#includevoid main()double x,y;printf(Enter x:);scanf(%

17、lf,&x);if(x0)y=0;else if(x=15)y=4*x/3;elsey=2.5*x-10.5;printf(f(%.2lf)=%.2lfn,x,y);实验拓展 用ifelse改写#includevoid main()double x,y;printf(Enter x:);scanf(%lf,&x);if(x0)y=0;else if(x=15)y=4*x/3;elsey=2.5*x-10.5;printf(f(%.2lf)=%.2lfn,x,y);运行结果实验总结通过该试验,正确理解if和else的配对关系,在缺省时,else总是和他上面离它最近的未配对的if配对。三 输入学生

18、成绩 判断等级实验目的和要求1. 了解和掌握switch语句。2. 正确使用switch语句判断学生成绩等级。源程序及说明# include void main (void)int iscore,iGrade;printf (please input the score n);scanf (%d,&iscore);iGrade=iscore/10;switch(iGrade)case 9 :printf (优秀n);break;case 8 :printf(良好n);case 7:printf(中等n);break;case 6: printf(及格n);break;default: prin

19、tf(不及格n);break;运行结果实验拓展 运行结果 四 输入2个时间 计算差值实验目的和要求正确理解和掌握分支语句,并且熟练运用。源代码及说明#include main()int a,b,c,d,e,f; int r,s,t;printf (请输入出发时间);scanf (%d:%d:%d/n,&a,&b,&c);printf(请输入到达时间);scanf (%d:%d:%d/n,&d,&e,&f);if(cf) r=(f+60)-c;if(be)s=(e+60-1)-b;t=(d-1)-a;else s=e-b;t=b-a;elser=f-c;if(be)s=(e+60)-b;t=(d

20、-1)-a;else s=e-b;t=d-a;printf(%d:%d:%dn,t,s,r);运行结果 实验总结:通过该程序,理解ifelse的使用方法。五 运输公司对运输费的计算实验目的和使用正确理解和使用switch语句,编写一个程序,当输入距离时,可以计算出运费。源代码及说明#include main ()int c,s;float p,w,d,f;scanf(%f,%f,%d,&p,&w,&s);if (s=3000)c=12;else c=s/250;switch (c) case 0: d=0;break;case 1:case 2:case 3: d=5;break;case 4

21、:case 5:case 6:case 7: d=8;break;case 8:case 9:case 10:case 11: d=10;break;case 12: d=15;break;f=p*w*s*(1-d/100.0);printf (freight=%15.4fn,f);运行结果实验总结通过该试验,正确的理解和运用switch 语句。实验四一 编写一个程序求出各个数代表什么实验目的和要求利用for循环编写一个程序,一直xyz+yzz=523,求出x,y,z分别代表什么数。源代码及说明#include void main(void) int x,y,z; for (x=1;x5;x+

22、) for (y=0;y5;y+) for (z=0;z5;z+) if (x*100+y*10+z)+(y*100+z*10+z)=532) printf (x=%d,y=%d,z=%dn,x,y,z); 运行结果实验结论通过该试验,理解for循环的计算。 二 打印对称图形实验目的和要求编写一个程序,打印出一个对称图形。源代码及说明#includevoid main (void)int i,j,k;int n;printf(Enter n(19):);scanf (%d,&n);for (i=0;i=n)k=2*n-2-i;for (j=0;jk;j+)printf( );for (j=0;

23、j2*(n-k)-1;j+) printf(%d,n-k);printf (n);运行结果三 编写一个程序求学生人数实验目的和要求编写一个程序,求出满足以下条件的学生人数源代码及说明#include void main(void) int n; for (n=900;n=1100;n+) if (n%5=2&n%7=3&n%3=1) printf(there are %d student in the ground n,n); 运行结果及说明四 编写一个程序判断是谁做了好事实验目的和要求编写一个程序,判断出是谁做了好事。源代码及说明#includestdio.hmain()int A,B,C,

24、D;for(A=0;A=1;A+) for(B=0;B=1;B+)for(C=0;C=1;C+)for(D=0;D=1;D+)if(A+B+C+D=1&!A+C+D+!D=3)printf(A=%d,B=%d,C=%d,D=%dn,A,B,C,D);printf(做好事的人是1);运行结果 实验总结通过该实验了解枚举的方法。初步认识逻辑与编程的关系。 实验五一 输入十个数再按顺序排列实验目的和要求1) 掌握一维和二维数组的使用技巧。2) 编写实验报告。实验内容从键盘输入十个数字,将小于零的的数移到数组前端,大于零的放在后面。按照要求确定数据的位置,注意数组处理的实验代码# include# d

25、efine N 10void main (void)int aN;int i,p1=0,p2=9,p,temp;printf (please input %d integer number n,N);for (i=0;i=N-1;i+)scanf (%d,&ai);for (;p1p2;)if (ap1=0)p=p1;while (ap1+1=0)p1+;if(p1+10)temp =ap1;ap1=ap2;ap2=temp;p2-;else p1+;if(ap2=0)p=p2;while (ap2=0)p2-;if (p2p2-1)temp=ap2-1;ap2-1=ap;ap=temp;p2

26、=p;continue;else break;if (ap20) temp=ap2;ap2=ap1;ap1=temp; p1+;else p2-;for (i=0;i=N-1;i+)printf (%5d,ai); printf(n);输入数字 -5 -89 -89 0 0 0 75 93 48 2运行结果实验总结通过该程序熟练的掌握二维数组的定义方法,如何构建数组,学习确定循环条件。二 输入一个数字 将它插入到数组中实验目的和要求1) 定义整型数组并初始化。2) 将数据插入数组中后,仍保持数组有序。3) 然后输出插入后的数组。实验代码# include void main (void)int

27、 a20=2,4,6,8,10,12,14,16;int i,j,n;printf ( Enter n:);scanf (%d,&n);for (i=0;in)for (j=8;ji;j-)aj=aj-1;ai=n;break;if (i=8)ai=n;for (i=0;i9;i+)printf (%d,ai);printf (n);输入数字5运行结果实验总结在该实验中,将n插到数组时,插入点后的数往后移位时注意算法的书写,不能写成aj=aj+1。注意循环结束后判断i的值,如果i比最后一个元素的下标都大说明比数组中任何一个数都大,此时应将n插在数组的最后。 三 矩阵的转置一 实验目的和要求1)

28、 定义一个二维数组及相关变量。2) 对二维数组进行赋值,可由键盘输入,也可以通过其他方式赋值。3) 输出转置前的二维数组。4) 对二维数组中的值进行转换。5) 输出转置后的二维数组的值。实验代码# include # define ROW 5# define COLUMN 5void main (void)int aROWCOLUMN;int i,j,k;for (i=0;iROW;i+)for (j=0;jCOLUMN;j+)aij=5*i+j+1;printf (转置前:n);for (i=0;iROW;i+)for (j=0;jCOLUMN;j+)printf (%-4d,aij);pr

29、intf (n);printf (-n);for (i=0;iROW;i+)for (j=0;ji;j+)k=aij;aij=aji;aji=k;printf (转置后:n);for (i=0;iROW;i+)for (j=0;jCOLUMN;j+)printf (%-4d,aij);printf (n);实验结果实验总结通过该试验,熟练掌握二维数组的定义方法,二维数组的赋值。怎样输出矩阵,学会对二维矩阵运用循环。 四 矩阵的旋转实验目的和要求1) 将任意一个方阵,以重心为原点分别旋转90度,输出矩阵。实验代码#include#define ROW 3void main(void) int i

30、,j,k; int aROWROW,bROWROW,cROWROW; for(i=0;iROW;i+) for(j=0;jROW;j+) aij=5*i+j+1; printf(原矩阵:n); for(i=0;iROW;i+) for(j=0;jROW;j+) printf(%d ,aij); printf(n); printf(-n); for(i=0;iROW;i+) for(j=0;jROW;j+) bjROW-1-i=aij; printf(沿顺时针旋转后的矩阵:n); for(i=0;iROW;i+) for(j=0;jROW;j+) printf(%d ,bij); printf(

31、n); printf(-n); for(i=0;iROW;i+) for(j=0;jROW;j+) cROW-1-ji=aij; printf(沿逆时针旋转后的矩阵:n); for(i=0;iROW;i+) for(j=0;jROW;j+) printf(%d ,cij); printf(n); 实验结果 实验总结通过该试验理解到矩阵下标之间的关系,有关矩阵旋转的问题,可以先列举一个具体的矩阵,再推倒出它的旋转后矩阵,其实质都是寻找下标之间的关系。五 随机产生10个数 按降序排列实验目的要求1) 编程实现随机产生100到200之间的是个数,并将其按降序排列和输出。实验代码# include #

32、 define N 10 void main(void) int i,j, min,temp,aN;printf(n请输入100到200之间的任意数n);for(i=0;iN;i+)printf (a %d= ,i);scanf(%d,&ai);printf (n);for (i=100;iN;i+);printf(%5d,ai);printf (n);for (i=0;iN-1;i+)min=i;for (j=i;jaj)min=j;temp=ai;ai=amin;amin=temp;printf (n排序后:n);for (i=0;iN;i+)printf (%d ,ai);实验数据12

33、14 17 87 54 24 67 95 26 38 实验结果实验总结学会定义数组,输入数据。学会交换数据的位置,以达到排列的目的。六 关于矩阵的加法 外围和等实验目的和要求定义有一个4*4的整型二维矩阵,其元素可以自己定义也可以从键盘输入。实验代码:#includevoid main()int s44=52,34,40,20,32,10,35,15,10,12,20,15,35,20,40,25;int i,j,a,b,c,d,t;printf(对角元素之和:%dn,s00+s11+s22+s33); printf(所有一行之和:);for(i=0;i=3;i+)a=si0+si1+si2+si3; printf(%d ,a); printf(n); printf(所有一列之和:); for(j=0;j=3;j+) b=s0j+s1j+s2j+s3j; printf(%d ,b); printf(n); printf(最外围数字之和:%dn,s00+s01+s02+s03+s13+s23+s33+s32+s31+s30+s20+s10); for(i=0;i4;i+) for(j=0;ji;j+) t=sij;si

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com