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