江苏省XY中等专业学校2022-2023-1教案 编号:
备课组别 | 计算机 | 课程 名称 | C语言 | 所在 年级 | 三年级 | 主备 教师 | ||
授课教师 | 授课 系部 | 授课班级 | 授课 日期 | |||||
课题 | 函数的调用 | |||||||
教学 目标 | 1、认识函数的调用过程 | |||||||
2、能看懂函数调用的程序 | ||||||||
3、培养学生对函数调用的学习 | ||||||||
重点 | 函数调用的方法 | |||||||
难点 | 函数调用过程对结果的影响 | |||||||
教法 | 讲授法、案例教学法、讨论法 | |||||||
教学设备 | 黑板 计算机 网络机房 | |||||||
教学 环节 | 教学活动内容及组织过程 | 个案补充 | ||||||
教 学 内 容 | 一、导入: 认识函数的调用的过程,了解函数的调用 二、讲授: 定义:一个函数调用另一个函数称为函数调用,其调用者称为主调函数,被调用者称为被调函数。 例如: int max(int a, int b) { int m; m = (a > b) ? a : b;printf函数有返回值吗 return(m);} main( ) {int x = 5, y = 9, z; z = max(x, y); printf("较大数=%d \n", z); } void max(int a, int b) { int m; m = (a > b) ? a : b; printf("较大数=%d \n", m);} main( ) { int x = 5, y = 9; max(x, y); } 函数实参形参 函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须有返回值。 函数参数的传递方式发生函数调用时,实参与形参的传递方式有两种:1、值传递方式2、地址传递方式。 值传递方式如果参数传递的是数据本身,就称为“值传递”。 C语言规定,数值只能由实参传递给形参,形参不能反过来传值给实参,即传值是单向的。也就是说,形参的任何变化不会影响到实参。 值传递过程如下: ① 发生函数调用时,系统临时创建形参变量; ② 实参将其数值复制一份给形参变量; ③ 函数调用过程中,形参的任何改变只发生在被调函数内部,不会影响到实参; ④ 当被调函数运行结束返回主调函数时,形参的存储空间被自动释放。 三、应用举例 例1、以下程序试图通过调用swap( )函数,交换主函数中变量x、y的数值。根据程序代码以及运行结果,思考主函数中变量x、y中的数值真的实现交换了吗?为什么? void swap(int a, int b) {int t; printf("(2) a=%d, b=%d\n", a, b) ; t = a; a = b; b = t; printf("(3)a=%d, b=%d\n", a, b) ;} void main( ) {int x = 2, y = 4; printf("(1)x=%d, y=%d\n", x, y); swap(x, y); printf("(4)x=%d, y=%d\n", x, y); } 例2、利用递归的方法求一个正整数的逆序数。 #include “stdio.h” main() {long x; void fun(long ); printf(“\n从外部输入一个正整数给x:”); scanf(“%ld”,&x); printf(“\n%ld的逆序数是:\n”,x); fun(x); } void fun(long a) {if (__________) printf(“%ld”,a); else {printf(“%d”,a%10); ______________}} 答案: a.a<10 b.fun(a/10) 例3、以下程序的功能是计算s=1+请改错。 #include <stdio.h > float fun(int n) { float p=1.0; p=p*n; return p;} void main() {int i,n;doublen s=0.0; /***********FOUND***********/ scanf(“%d”,n); for(i=1;i<=n;i++) /***********FOUND***********/ s=s+1.0/p; printf(“s=%f\n”,s) } 答案: a. scanf(“%d”,n);改为scanf(“%d”,&n); b. s=s+1.0/p;改为s=s+1.0/fun(i); | |||||||
板 书 设 计 | 函数的调用 一、函数实参形参 二、应用举例 | |||||||
教 后 札 记 | ||||||||
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论