中南大学C语言报告6
中南大学
C语言程序设计实验报告
实验题目 函数的定义与用法
学生姓名 樊列龙
指导教师 季桂树
学 院 信息科学与工程学院
专业班级 1132班
学生学号 0909113224
2012年 5 月 9 日
函数的定义与用法
一、 实验目的
(1) 掌握C语言函数的定义与调用的规则.
(2) 掌握函数的形参与实参的对应关系以及值传递的方式. (3) 掌握函数的嵌套与递归调用的方法. (4) 熟悉怎样运用函数实现指定的任务. (5) 熟悉全局变量和局部变量的概念和方法。
二、 实验过程
1 函数的定义与调用 ○
编辑如下程序:
#include
func(int a,int b) {
int c; c=a+b;
return(c); }
main() {
int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--); printf(“%d”,r); } 运行结果:
2形式参数与实际参数 ○
- 1 -
输入两个数,要求输出其中值较大者。要求用函数来找到大数. 解:(1)先编写max函数
int max(int x,int y)
{
int z; z=x>y?x:y; return(z); {
(2)再编写主函数
#include
int main()
{
int max(int x,int y); int a,b,c;
printf(“please enter two integer numbers:”); scanf(“%d,%d”,&a,&b); c=max(a,b);
printf(max is %d\\n);
}
运行结果:
please enter two integer numbers:12 -34 max is 12
程序分析:
先定义max函数。第一行定义了一个函数名为max,函数类型为int.指定两个形参x和y,形参类型为int.
主函数中包含一个函数调用max(a,b)。max后面括号内的a和b是实参。A和b是在main 函数中定义的变量,x和y是函数max的形式参数。通过函数调用,在两个函数之间发生数据传递,实参a和
- 2 -
b的值传递给形式参数x和y,在max函数中把x和y中的大者赋给变量z,z的值作为函数值返回main函数,赋给变量c.
实参向形式数据传递是“值传递”,单向传递,只能由实参传给形参,而不能由形参传给实参。实参和形参在内存中占有不同的内存单元。在定义函数中指定的形参,在未出现函数调用时他们并不占内存单元,在发生函数调用时,函数max的形参临时分配内存单元。函数调用结束,形参单元被释放,实参单元仍然保持原有值不发生改变。 3函数的嵌套使用 ○
输入4个整数,找出其中最大的数。 编写如下程序:
#include
- 3 -
else return b; } 运行结果: please enter 4 interger number:12 45 -6 89 max=89 程序分析: 在主函数中调用max4函数,因此在开头要对其声明。在max4函数中三次调用了max2函数,因此在max4的开头要对max2坐声明。由于在主函数中没有直接调用max2函数,因此在主函数中不必对max2作声明。 max4函数的执行程序是这样的:第一次调用max2函数得到的函数是a和b中的大数,把它赋给变量m,第二次得到m和d的较大者,赋给m。第三次得到m和d的大者,这是一种递推方法。 程序改进: (1)可将max2函数的函数体改为只用一个return语句,返回一个条件表达式的值: int max2(int a,int b); {return(a>b?a:b);} (2)在max4函数中,三个调用max2的语句,可以用下一行代替:
- 4 -
m=max2(max2(max2(a,b),c),d); 甚至可以取消变量m,max4可写成: int max4(int a,int b,int c,int d); { int max2(int a,int b); return max2(max2(max2(a,b),c),d); } 由此可以看出,不仅要写出正确的程序,还要学习怎样使程序更加简练、专业和易读。
三、 实验小结
本次上机学习了C语言函数的相关知识,通过实践操作对C语言程序设计的基本思想方法有了初步的理解。并且体会到编写优秀的程序是需要一个过程的,只有经过不断的实践操作,不断的积累经验,才能在程序编写的过程中得心应手,从而编写出更加简练易读专业的程序。
- 5 -
m=max2(max2(max2(a,b),c),d); 甚至可以取消变量m,max4可写成: int max4(int a,int b,int c,int d); { int max2(int a,int b); return max2(max2(max2(a,b),c),d); } 由此可以看出,不仅要写出正确的程序,还要学习怎样使程序更加简练、专业和易读。
三、 实验小结
本次上机学习了C语言函数的相关知识,通过实践操作对C语言程序设计的基本思想方法有了初步的理解。并且体会到编写优秀的程序是需要一个过程的,只有经过不断的实践操作,不断的积累经验,才能在程序编写的过程中得心应手,从而编写出更加简练易读专业的程序。
- 5 -
…… 此处隐藏:779字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




