C语言程序设计 教案 7-4数组名作为函数参数.docx

C语言程序设计 教案 7-4数组名作为函数参数.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计本教程主要介绍C语言编程的基本概念和程序结构,主要包括变量流程控制数据类型运算符和数组等知识点1变量变量用于存储数值或字符,如int,char等常量float,double用于存储非数值信息2流程控制流程控制是编程的基本思想之一,即根据指令的顺序来完成一系列操作3数据类型不同的数据类型如int,char,float,double有不同的用途,如整型用于存储整数,浮点型用于存储小数,复杂数型用于存储复杂的

《C语言程序设计》教案

课程名称

C语言程序设计

任课教师

总课时

64

教学课题

输出排序后小组三门课成绩单

授课班级

授课日期

课时

2

教学目标

知识目标:1.掌握数组元素作为函数参数的用法

2.掌握数组名作为函数参数的用法

能力目标:能够使用函数输出排序后小组三门课成绩单

素质目标:团队合作能力、团队互助,自我学习的习惯、爱好和能力

重点难点

数组元素和数组名作为函数参数的用法

教学方法

演示、讲解、启发

教学资源

教材《C语言程序设计》

设备准备

VC++6.0,极域电子教室软件,分发工作任务单

教学环节(教学过程)

教学内容

教师活动

学生活动

教学目标

课时

1

发布任务

进行任务的问题描述和分析

倾听、思考

让学生理解任务要求和思路

10分钟

2

理论讲解

讲授函数调用

倾听、思考

预备需要的理论知识

15分钟

3

举例

通过一个案例进一步讲解函数的调用

倾听、思考

通过实际应用帮助学生理解理论知识

20分钟

4

应用

布置两个相关题目

思考、解答

通过做相关练习题帮助学生更好的理解相关知识

45分钟

教学内容(详细):

一.数组元素作为函数参数

数组元素可以用作函数实参,但不能用作形参。因为形参是在函数被调用时临时分配存储单元的,不可能为一个数组元素单独分配存储单元(数组是一个整体,在内存中占连续的一段存储单元)。在用数组元素作为函数实参时,把实参的值传给形参,是“值传递”方式。数据传递的方向是从实参传到形参,单向传递。

问题分析【例7-8】输入十个数,要求输出其中值最大的元素和该数是第几个数。

问题分析

程序代码可以定义一个数组a,长度为10,用来存放10个数。设计一个函数max,用来求两个数中的大者。在主函数中定义一个变量m,m的初值为a[0],每次调用max函数后的返回值存放在m中。用“打擂台”算法,依次将数组元素a[1]-a[9]与m比较,最后得到的m值就是10个数中的最大者。

程序代码

#includestdio.h

intmain(){

intmax(intx,inty); //函数声明

inta[10],m,n,i;

printf(enter10integerenumber:);

for(i=0;i10;i++) //输入10个数给a[0]~a[10]

scanf(%d,a[i]);

printf(\n);

for(i=1,m=a[0],n=0;i10;i++){

if(max(m,a[i])m){ //若max函数返回的值大于m

m=max(m,a[i]); //max函数返回的值取代m原值

n=i; //把此数组元素的序号记下来,放在n中

}

}

printf(Thelargestnumberis%d\nitisthe%dthnumber.\n,m,n+1);

return0;

}

intmax(intx,inty){ //定义max函数

return(xy?x:y); //返回x和y中的大者

}

程序执行的结果为:

说明

说明

从键盘输入10个数给a[0]-a[9]。变量m用来存放当前已比较过的各数中的最大者。开始时设m的值为a[0],然后将m与a[1]比,如果a[1]大于m,就以a[1]的值(此时也就是max(m,a[1])的值)取代m的原值。下一次以m的新值与a[2]比较,max(m,a[2])的值是a[0],a[1],a[2]中最大者,其余类推。经过9轮循环的比较,m最后的值就是10个数的最大数。

请注意分析怎样得到最大数是10个数中第几个数。当每次出现以max(m,a[i)的值取代m的原值时,就把i的值保存在变量n中。n最后的值就是最大数的序号(注意序号从0开始),如果要输出“最大数是10个数中第几个数”,应为n+1。例如n=6时表示数组元素a[6]是最大数,由于序号从0开始,因此它是10数中第7个数,故应输出的是n+1。

二.数组名作为函数参数

除了可以用数组作为函数参数外,还可以用数组名作为函数参数(包括实参和形参)。需要注意的是,用数组元素作为实参时,向形参变量传递的是数组元素的值,而用数组名作函数实参时,向形参(数组名或指针变量)传递的是数组首元素的地址。

问题分析【例7-9】有一个一维数组score,内放10个学生成绩,求平均成绩。

问题分析

算法设计用一个函数average来求平均成绩,不用数组元素作为函数实参,而是用数组名作为函数实参,形参也用数组名,在average函数中引用各数组元素,求平均成绩并返回main函数。

算法设计

使

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档