圳职业技术学院 Shenzhen Polytechnic 第六单元(2):函数的参数传递方式 教学内容 函数的参数传递方式 教学目标 应知 了解函数的两种传递方式:值传递和地址传递 应会 能够进行普通变量和数组元素作函数参数的程序设计 能够以数组名字作函数参数进行程序设计 难点 函数的两种传递方式 教学方法 □通过程序改造和完善,在现有的基础之上进行任务推动 教学过程 1.在前次课求两个数中最大数的函数基础上,将两个形参分别加2,再分别 打印形参和实参,发现形参改变,实参未变。(普通变量作函数参数时 形参变化不影响实参) 2.接前例,在主函数中将实参加2,再分别打印实参和形参,发现形参和实 参均有变化(普通变量作函数参数时,实参值可以传给形参,函数参数的 单向值传递)。 3.定义一个整型数组a[10] 1.将a数组各个数组元素的值加2 将第一步在函数中实现,以数组元素作函数参数(数组元素作函数参数时单向 值传递) 3.将第一步在函数中实现,以数组名称作函数参数(数组名作函数参数时,参数 传递形式是地址传递,形参数组值改变会影响实参数组) 4.编程训练:将一个字符串中各个小写字符改成大写字母 1.用函数实现单个字符改成大写 2.用函数实现将一个字符串中的小写字母改为大写字母 计算机系乌云高娃 Wygwl2lcn, com第42页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 42 页 共 83 页 第六单元(2):函数的参数传递方式 教学内容 函数的参数传递方式 教学目标 应知 了解函数的两种传递方式:值传递和地址传递 应会 能够进行普通变量和数组元素作函数参数的程序设计 能够以数组名字作函数参数进行程序设计 难点 函数的两种传递方式 教学方法 通过程序改造和完善,在现有的基础之上进行任务推动 教学过程 1. 在前次课求两个数中最大数的函数基础上,将两个形参分别加 2,再分别 打印形参和实参,发现形参改变,实参未变。(普通变量作函数参数时, 形参变化不影响实参) 2. 接前例,在主函数中将实参加 2,再分别打印实参和形参,发现形参和实 参均有变化(普通变量作函数参数时,实参值可以传给形参,函数参数的 单向值传递)。 3. 定义一个整型数组 a[10] 1. 将 a 数组各个数组元素的值加 2 2. 将第一步在函数中实现,以数组元素作函数参数(数组元素作函数参数时单向 值传递) 3. 将第一步在函数中实现,以数组名称作函数参数(数组名作函数参数时,参数 传递形式是地址传递,形参数组值改变会影响实参数组 ) 4. 编程训练:将一个字符串中各个小写字符改成大写字母 1. 用函数实现单个字符改成大写 2. 用函数实现将一个字符串中的小写字母改为大写字母
圳职业技术学院 Shenzhen Polytechnic 学生容易出错的地方 厘在函数调用时,实参和形参的类型不一致 问题与讨论 如何构造函数? 函数中的功能应该是相对独立还是依赖于函数外的数据? 怎样使得一个函数具有更大的通用性? 小结(可由问题与讨论方式给出) 简单变量作函数参数时实参与形参是如何传递的? 在C语言中,参数的值传递,具有如下特点 1.实参与形参各自占据独立的存储单元 2.调用时,将实参的值传入形参单元 3.在被调用的函数内,访问相应的形参单元 4.函数调用结束后,释放形参单元 参数的地址传递有什么特点? 课后任务 编写两个函数,分别求出两个正整数的最大公约数和最小公倍数;在主函数中输入 两个正整数,调用函数,输出其最大公约数和最小公倍数 计算机系乌云高娃 Wygwl2lcn, com第43页共83页
深 圳 职 业 技 术 学 院 Shenzhen Polytechnic 计算机系乌云高娃 Wygw@21cn.com 第 43 页 共 83 页 学生容易出错的地方 在函数调用时,实参和形参的类型不一致 问题与讨论 如何构造函数? 函数中的功能应该是相对独立还是依赖于函数外的数据? 怎样使得一个函数具有更大的通用性? 小结(可由问题与讨论方式给出) 简单变量作函数参数时实参与形参是如何传递的? 在 C 语言中,参数的值传递,具有如下特点: 1. 实参与形参各自占据独立的存储单元 2. 调用时,将实参的值传入形参单元 3. 在被调用的函数内,访问相应的形参单元 4. 函数调用结束后,释放形参单元 参数的地址传递有什么特点? 课后任务 编写两个函数,分别求出两个正整数的最大公约数和最小公倍数;在主函数中输入 两个正整数,调用函数,输出其最大公约数和最小公倍数