版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章,函数与指针、数组关系,回顾-1,函数是程序中的一个相对独立的单元或模块 使用函数带来的好处: 程序更清晰、易维护、分模块方便设计与开发、提高代码的重用性 语言提供了极为丰富的内置函数,要使用这些内置函数,需要在程序前包含相应的头文件 自定义函数是用户在程序中根据需要而编写的函数,回顾-2,函数的结构包括:返回值类型、函数名、参数列表、函数体 函数原型说明以便向编译器指出该函数使用什么样的格式和语法 函数调用时程序控制流将转向被调函数,被调函数执行结束时,控制流返回主调函数 return 语句用于向调用函数返回值,目标,理解两种参数传递的方式:传值、引用 熟悉带参函数的调用 熟悉指针与函
2、数的关系 熟练使用数组作为函数参数,函数形参和实参1-1,void main ( ) . . . . . . display ( 10, 20.5 ); display ( int num, float fraction ) . . . . . . ,实际参数,函数调用,形式参数,void main() int a = 0; /初始化a值为0 func(a); /调用函数func printf(%d,a); /输出a的结果 /定义函数func void func(int a) a = 10; /让参数a等于10 ,传值调用,0,传值调用,将会输出什么,#include void increme
3、nt(int,int); void main() int num1,num2; printf(n 请输入两个数: ); scanf( %d %d, ,传值调用示例,请输入两个数 :,34 56,递增前的值是 34 和 56,_,递增后的值是 34 和 56,34,56,子函数中的值是 35 和 57,35,34,56,57,void main() int a = 0; /初始化a值为0 func( /让参数a等于10 ,引用调用(传址)2-1,FFE0,引用调用,a=FFE0,将会输出什么,#include void increment(int*, int*); void main() int
4、 num1,num2; printf(n 请输入两个数: ); scanf( %d %d, ,引用调用示例,请输入两个数 :,45 67,递增前的值是 45 和 67,_,递增后的值是 46 和 68,45,67,子函数中的值是 46 和 68,46,FF23,FF05,68,FF23,FF05,数组作为函数参数3-2,在用数组作实参时,以传址方式调用函数,也就是说把实参数组的首地址赋给形参 实际上形参数组和实参数组为同一数组,共同拥有一段内存空间,数组作为参数示例1,问题描述: 通过函数实现5个学员成绩的排序。,#include #define N 5 void sort(float); v
5、oid main() float gradeN; int i; printf(n 输入 %d 个学员的成绩:n,N); for(i=0;iN;i+) scanf(%f, ,void sort(float aN) int i,j; float temp; for(i=0;i aj+1) temp = aj+1; aj+1 = aj; aj = temp; ,传递数组时不使用 “ void main() int arr15; int i, larg_num; printf(n 请输入 5 个不同的值,存储在一个数组中 n); for (i = 0; i = 4; i+) scanf(%d, ,数组
6、作为参数示例,int find_larg(int *ptr) int high = *ptr,i; ptr+; for (i = 1; i =4; i+) if (high *ptr) high = *ptr; ptr+; return high; ,函数实参是一维数组元素3-3 课本例9,二维数组与函数4-1,#define X 6 #define Y 6 Main() double aXY; fun(a); / 实参为二维数组名 课本 例12,指针数组做实参4-2,main() double sMN,*psM; for(i=0;iM;I+) psi=si; fun(ps); fun(double *a) 课本 例13,总结,采用传值调用方式时,在被调用函数中改变形参的值,只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年昌吉市应急管理系统事业单位人员招聘考试备考试题及答案详解
- 2026年北京大学第一医院肿瘤诊所中心医护人员招聘笔试模拟试题及答案解析
- 医学就业指导
- 2026年本溪市卫生健康系统事业单位人员招聘考试备考试题及答案详解
- 2026年定西市水利系统事业单位人员招聘考试备考试题及答案详解
- 2026江苏有线数据公司南通分公司招聘2人考试模拟试题及答案解析
- 2026年亳州市社区工作者招聘考试备考试题及答案详解
- 2026黑龙江哈尔滨理工大学招聘30人考试备考题库及答案解析
- 2026 增肌期桃课件
- web前端开发职业规划
- 长城的历史资料概括
- 2020新版药品GCP考试题库及答案
- 证据法学-典型案例分析
- 2022年一级注册建筑师考试《建筑材料与构造》真题及答案解析
- 滴水实验 说课课件
- 小型液压机液压系统设计
- 玉米的综合利用玉米皮的综合利用
- GB/T 4450-1995船用盲板钢法兰
- 汽轮机TSI系统详解
- 建档立卡-退役军人信息登记表(基础电子档案)
- (部编版)统编四年级语文下册第六单元《习作:我学会了-》教学课件
评论
0/150
提交评论