已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计 实验报告班级 日期 2012/4/16 学生姓名 学号 第 2 次上机 实验1 函数与程序结构 (一) 实验目的(1)熟悉和掌握函数的定义、声明;函数调用与参数传递方法;以及函数返回值类型的定义和返回值使用。(2)熟悉和掌握不同存储类型变量的使用。(3)熟悉多文件编译技术。(二) 实验内容及要求1源程序改错下面是计算s=1!+2!+3!+n!的源程序,在这个源程序中存在若干语法和逻辑错误。要求在计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务。源程序:#includevoid main(void) int k; for(k=1;k6;k+) printf(k=%dtthe sum is %ldn,k,sum_fac(k);long sum_fac(int n) long s=0; int i; long fac; for(i=1;i=n;i+) fac*=i; s+=fac; return s;改后:#includelong sum_fac(int);void main(void) int k; for(k=1;k6;k+) printf(k=%dtthe sum is %ldn,k,sum_fac(k);long sum_fac(int n) long s=0; int i; long fac=1; for(i=1;i=n;i+) fac*=i; s+=fac; return s;2源程序修改替换(1)修改上述源程序中的sum_fac函数,使其计算量最小。(2)修改上述源程序中的sum_fac函数,计算 (1)#includelong sum_fac(int);void main(void) int k; for(k=1;k6;k+) printf(k=%dtthe sum is %ldn,k,sum_fac(k);long sum_fac(int n) static long s=0; static long fac=1; fac*=n; s+=fac; return s;(2)#includedouble sum_fac(int);void main(void) int k; for(k=1;k6;k+) printf(k=%dtthe sum is %fn,k,sum_fac(k);double sum_fac(int n) double s=0; int i; long fac=1; for(i=1;i=n;i+) fac*=i; s+=1.0/fac; return s;3跟踪调试下面是计算fabonacci数列前n项和的源程序,现要求单步执行该程序,并观察p,i,sum,n值,即:(1)刚执行完scanf(%d,&k);语句时,p,i值是多少?(2)从fabonacci函数返回后,光条停留在哪个语句上?(3)进入fabonacci函数时,watch窗口显示的是什么?(4)当i=3时,从调用fabonacci函数到返回,n值如何变化?源程序:void main(void) int i,k; long sum=0,*p=∑ scanf(%d,&k); for(i=1;i=4 is the sum of two primes.10=3+712=5+720=3+17(1) #includeint a(int x,int y) int temp; temp=x%y; if(temp=0) return y; else return a(y,temp); void main() int x,y; printf(Input x,y (xy):n); scanf(%d %d,&x,&y); printf(最大公约数是%dn,a(x,y);(2)#include#includeint a(int j) int i,n; n=sqrt(j); for(i=2;i=n;i+) if(j%i=0)return 0; return j;void main()int n,j,up;printf(input up:n);scanf(%d,&up);printf(4=2+2n);for(n=6;n=up;n+=2)for(j=3;j=n/2;j+=2)if(a(j)&a(n-j)printf(%d=%d+%dn,n,j,n-j);break;(3)#include#includeint a(int j) int i,n; n=sqrt(j); for(i=2;i=4 is the sum of two primes.n);for(n=BEGIN;n=END;n+=2)for(j=2;j=n/2;j+)if(a(j)&a(n-j)printf(%d=%d+%dn,n,j,n-j);break;实验心得与体会通过编程,调试,从错误中学习各种语法细节,补充自己平时没注意的知识,而且明白了程序设计不单单需要对代码熟练,更重要的是要有好的设计思路。一个好的设计思路不仅能处理一些实用的问题,还能节约设计程序所用的时间和运行程序所花的时间。所以我应该尝试多设计一些简捷实用的程序,尽量多想一些简单可行的方法。选做题(1) 假设一个C程序由file1.c和file2.c两个源文件及一个file.h头文件组成,file1.c、file2.c和file.h的内容分别如下所述。试编辑该多文件C程序,并编译和链接。然后运行生成的可执行文件。源文件file1.c的内容为:#include file.hint x,y; /* 外部变量的定义性说明 */char ch; /* 外部变量的定义性说明 */void main(void) x=10; y=20; ch=getchar(); printf(in file1 x=%d,y=%d,ch is %cn,x,y,ch); func1();源文件file2.c的内容为:#include file.hvoid func1(void) x+; y+; ch+; printf(in file2 x=%d,y=%d,ch is %cn,x,y,ch);头文件file.h的内容为:#include extern int x,y; /* 外部变量的引用性说明 */extern char ch; /* 外部变量的引用性说明 */void func1(void); /* fu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初一英语语法专项训练(附答案)
- 2025年中学生物高分题库及答案
- 扣款管理协议书范本
- 2025年中职经济贸易(国际贸易法规基础)试题及答案
- 2025年中职建筑工程施工(混凝土工程)试题及答案
- 2025年中职计算机应用技术(办公软件高级应用)试题及答案
- 2025年中职机电一体化技术(机电一体化应用)试题及答案
- 外科围手术期健康教育路径优化实践
- 可视化分析:成本管控目标的图形解读
- 骨牵引护理常见误区与规避课件
- JJG 908-2023汽车侧滑检验台
- 国能生物质发电厂(供热)工程可行性研究报告
- GB/T 3280-2015不锈钢冷轧钢板和钢带
- GB/T 13773.2-2008纺织品织物及其制品的接缝拉伸性能第2部分:抓样法接缝强力的测定
- 二十五项反措继电保护课件
- 8-《天工开物》两则课件
- 风光互补发电系统技术方案
- 河流纳污能力计算
- 武当逍遥剑剑谱及动作要领分解
- 山东省地层、侵入岩、构造单元划分方案
- 2017~2020年上海高考英语试题概要写作汇总附参考例文+评分标准
评论
0/150
提交评论