中南大学C语言报告6
更新时间:2023-12-21 05:13:01 阅读量: 教育文库 文档下载
中南大学
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 -
正在阅读:
中南大学C语言报告612-21
2019届高三数学理一轮复习课时跟踪检测五十六 排列与组合重点高中 含解析 精品09-12
浙江全面推行新型居住证制度了04-19
高三地理高考第一轮单元复习 人类的居住地与地理环境 105-23
大学校园主持人大赛主题活动策划完整方案11-27
关于“城市空间发展战略研究”的思考04-26
2018年中国高拍仪扫描仪市场现状调研与发展前景分析报告目录03-03
《管理信息系统》电子教案05-04
个人所得税代扣代缴系统常见问题解答10-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 中南大学
- 语言
- 报告
- 互联网留学:英国出国留学费用
- AutoCAD施工图绘制课程教案
- 2014高考语文大一轮复习讲义 语言表达和运用 考点针对练(一)压缩语段
- 化工原理上册概念题复习题(DOC)
- 八年级语文下册 11孟子两章学案2无答案 冀教版
- 新食记 美食广场工程条件 - 图文
- 2019年春季学期新人教版四年级数学下册全一册教案1
- 战略控制的过程--注册会计师考试辅导《公司战略与风险管理》第六章讲义1
- Java技术:Java期末综合练习题
- 11矩阵、行列式与算法初步a
- 拖航合同 doc
- 坟墓对联
- 孙晓岐:认知的重要性
- 内部存储器RAM和ROM使用说明
- 萧山区河庄小学2018学年第一学期第4周工作安排
- 山东省潍坊市第一中学高三政治一轮复习学案:必修一经济生活第1、2单元(月考考前)
- 高中数学 1.2.2 条件语句教案 新人教A版必修3
- 2018-2019学年九年级物理全册第十八章电功率比例式的应用讲义新版新人教版 doc - 图文
- 小学语文人教版四年级上册第一单元电子备课3、鸟的天堂 - 图文
- 六年级下册数学试题-北京101中学小升初数学模拟题(7)(无答案)全国通用