C语言--第六章:函数--教学设计(修改)
C教案—第六章

第十七讲函数(1)学时:2学时授课形式:板书+多媒体讲解+实例程序演示主要内容及时间安排(课堂90分钟, 80分钟讲课,5分钟复习,5分钟总结):(1)模块化程序结构的概念、C语言程序结构回顾(5分钟);(2)函数调用简单例子分析(10分钟);(3)函数的定义方法(三种有参、无参、空函数)(10分钟)(4)函数参数和函数值(参数传递方法、参数类型对应关系、函数返回值的含义、返回值的类型等)(20分钟)(5)简单函数定义和调用举例(40分钟)(6)总结、习题布置和下一节知识点提要(习题8.1、8.3、8.4,下一节函数的使用深入、变量的作用域、变量的存储分类等)(5分钟)重点:函数定义方法、函数调用方法、函数参数传递方法、返回值的使用和类型确定;难点:函数调用方法、函数参数传递方法。
教学内容细节:一、以具体实例引出函数的优点及函数的作用例题:打印行列数不同的*号组成的多个矩形,比如打印3*4的、5*6、9*9的。
例题2:求连加和。
输入的数不同;例题3:程序规模方面考虑,如果有些题目太大,把所有程序都编在主函数中,主函数可读性会下降,规模结构也不尽合理。
所以可以考虑将部分程序功能做成功能包(函数),什么时候需要这个功能,什么时候调用这个功能包,这时只写功能包的名字就好了。
代码的重用性增强、程序结构简化、可读性强、结构性强。
二、函数的定义方法定义函数的一般形式如下:类型标识符函数名(形式参数列表){声明部分;执行部分;}说明:(1)类型标识符:C语言的数据类型,包括基本数据类型、指针、结构体等;(2)函数名:符合C语言用户标识符的命名规则;(3)形式参数列表:与从主调函数中传过来的参数相对应的形式参数列表,根据实际情况可有可无,但是小扩号必须要有;与形参对应的是实参,主调函数中变量成为实际参数,实际参数在程序运行时分配空间,直到程序结束,空间释放,而形式参数什么时侯调用什么时候分配空间,子函数调用结束空间就释放。
C语言函数教学设计修改

C语言函数教学设计修改Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】《C语言程序设计》之----- “函数”教学设计贵州交通技师学院张红《C语言程序设计》之----- “函数”教学设计【教材】:教材:《C语言程序设计实训教程》,主编:康英健。
出版社:海军出版社。
中职中专教材。
【教学内容分析】:函数是C语言程序设计中非常重要的一个知识点。
是学生从杂乱的程序中重新整理排版的思维。
在以后的工作中广泛使用,学生在以后的程序设计中,都需要把相对独立的功能独立出来。
实现“低耦合,高内聚”的效果。
所以函数是程序设计思想的一个升华,也是一个重点和难点。
学生需要学好函数的知识,才能更好的学后续的专业课程。
【学生情况分析】:中职学生整体来说学习基础较差,自主学习的能力也欠缺。
特别对学科专业基础的理论知识体系明显处于劣势,在学习方面多经挫折,信心不足,缺乏学习的积极性。
在理解逻辑思维方面难度较大。
所以在讲解这节知识的过程中,我通过故事的形式导入,让学生理解函数真正的含义。
【教学目标】:本次课需要学生了解什么是函数。
通过本节教学,提升学生的自学能力,增强学生的自信心,并能在平时的编程工作中灵活的运用函数的知识来解决具体的问题。
1、知识目标①了解简单函数的概念②知道函数的分类③掌握函数的定义方法④知道函数参数及返回值2、能力目标:①通过教师的讲解,让学生能以此类推,灵活的使用函数的方法编程。
②在教师的指导下,对认识不到位的知识点进行加深理解。
3、情感目标:①通过“函数”的学习,渗透分工意识;②通过“函数”的学习,加深大家对繁琐问题简单化的直接运用理念。
③通过该知识点的学习,增强学生处理工作简化事项的自信心和面对挫折并敢于解决的勇气。
【教学重点】:掌握函数的定义方法。
【教学难点】:了解函数的简单概念,怎样抽象出具体的独立的函数。
【教学方法】:在教学过程中先通过故事情景引出问题,然后讨论解决问题的方法,引出本节课的主要教学内容。
C语言教案:第6章--函数

24
第24页,共55页。
如:
#define R 3.0
#define PI 3.1415
#define L 2*PI*R
二、带参数的宏定义(类函数宏)
#define 宏名(参数表) 字符串
例1: #define S(a,b) a*b
area=S(3,2);
展开为:area=3*2;
2022/1/24
}
f()
{int a=20;
printf("f ():a=%d\n",a);
}
2022/1/24
30
第30页,共55页。
(3)可以在复合语句中定义局部变量。
如: main() {int x=10; {int x=100; printf("1:x=%d\n",x); } printf("2:x=%d\n",x); }
a=10
swap(a,b);
b=15
printf("a=%d\nb=%d\n",a,b);
}
swap(int x,int y)
{int t; t=x;x=y;y=t; /*交换x和y的值*/ }
2022/1/24
结果:
a= 10 b= 15
9
第9页,共55页。
2、数组元素作函数参数 例: 用数组元素作实参,输出1 ~ 5的平方。
(4)局部变量分为动态存储类别和静态存储方式。
2022/1/24
31
第31页,共55页。
2、全局变量
全局变量: 在函数之外定义的变量。
有效范围: 从定义位置开始到本源程序结束
如: int a,b;
main() {
C语言课件第六章函数

printf(“Max=%d”,a);
}
合 iTemp的作用域。 iTemp 肥 ⒉register存储类型
工 作用域和生存期和auto相同,
差别在于,如果CPU内部的寄存
业 器空闲,则使用寄存器作为变量 大 的存储单元,以提高速度。主要
用于循环变量。
学
⒊static(静态)存储类型
作用域:在定义的复合语句内引用,出了复合语句不可见。
定义!
学
⒉函数的定义
格式: type 函数名(参数说明表) int max(int x ,int y)
{ 内部说明语句 ;
如果函数有{ 返回值,应含
功能语句 ; 有return语句。int z ;
Xuan shanli
}
z=x>=y? x : y ;
说明:
合 ⑴函数不能嵌套定义,但可以嵌套引r用et,ur包n (括z引) ;用自己。
关于返回值的几点说明:
⑴函数可以通过一个return语句返回一个值,也可以不返回值,
此时应在定义函数时用void类型加以说明。
⑵函数中可以出现多个return语句,遇到一个return 语句,则
返回值,且返回调用函数,继续执行。
⑶返回值的类型应与函数的类型一致,如不一致,以函数类型
Xuan shanli
fun( );
a
printf(“a=%d,b=%d\n”,a,b);
}
合
void fun(void) {
b
肥
int c;
工
c=a; a=b; b=c; }
业
大
学
外部变量的副作用
Xuan shanli
#include <stdio.h>
《C语言程序设计》第六章函数

《C语言程序设计》第六章函数函数是C语言中的一个重要概念,可以将一段程序逻辑封装成一个独立的代码块,供其他地方调用。
在本章中,我们将讨论函数的定义、声明、调用、形参和实参等相关内容。
1.函数定义和声明函数定义是指给函数取一个名字,并在花括号{}内编写函数的代码实现。
一个函数的定义一般包括函数的返回类型、函数名、形参列表和函数体。
例:int add(int a, int b)return a + b;}函数声明是指告诉编译器函数的存在,但不实现函数的具体代码。
函数声明一般包括函数的返回类型、函数名和形参列表。
例:int add(int a, int b);2.函数调用函数调用是指在程序中使用函数,让函数执行具体的逻辑。
函数调用的一般形式为:函数名(实参列表);实参列表是指函数调用时实际传递给形参的参数值。
例:int sum = add(1, 2);3.形参和实参形参是函数定义中用于接收调用函数时传递过来的参数值的变量。
函数调用时,传递给函数的参数值称为实参。
形参和实参在数量、类型、顺序上必须保持一致。
例:int add(int a, int b)return a + b;}int sum = add(1, 2); // 形参a接收到实参1,形参b接收到实参24.函数的返回值类型函数的返回值类型定义了函数的返回结果的类型。
函数可以有不同的返回值类型,如整型、浮点型、字符型、指针等。
返回值类型通过函数的声明或定义来指定。
例:int add(int a, int b) // 返回类型为int(整型)return a + b;}5.无返回值函数和有返回值函数无返回值函数指在函数定义或声明时,返回值类型为void。
这种函数通常用于执行一些操作,没有返回结果。
有返回值函数指在函数定义或声明时,返回值类型为非void类型。
这种函数通常用于计算并返回一个结果。
例:void printHello( // 无返回值函数printf("Hello!");}int add(int a, int b) // 有返回值函数return a + b;}6.函数的嵌套调用在一个函数中调用另一个函数,称为函数的嵌套调用。
C++程序设计第6章教案

第6章函数一、教学要求熟练掌握C++语言中函数与函数调用;使用函数形式编写程序;不同返回值类型函数的编写与调用。
掌握C++语言中的编译预处理;形数与实际参数的关系;根据变量的生存期与作用域正确使用变量;C++语言中函数参数。
了解常见的编译预处理方式;C++语言中变量与其生存期。
二、教学重点C++语言中函数与函数调用;使用函数形式编写程序;不同返回值类型函数的编写与调用。
三、教学难点形数与实际参数的关系;根据变量的生存期与作用域正确使用变量。
四、课时安排本章安排10课时。
其中,理论讲授6课时,上机实验4课时。
五、教学大纲一、程序与函数二、函数定义与声明1.函数声明2.函数定义三、函数参数与调用1.函数调用模式2.按数值调用函数3.函数嵌套与递归四、函数与指针1.指针参数类型2.数组参数3.函数返回指针类型五、变量作用域与生存期1.变量作用域2.变量生存期六、预处理1.定义2.件包含3.件编译六、主要概念1.函数声明2.函数定义3.函数的传值调用与地址调用4.按数值调用函数5.函数嵌套调用6.函数递归调用7.指针参数类型8.数组参数9.函数返回指针类型10.形式参数11.实际参数12.变量作用域13.局部变量14.文件变量15.全局变量16.变量生存期17.普通变量生存期18.静态变量生存期19.宏定义20.文件包含21.条件编译七、实验实验1 函数的调用(2学时)1. 在主函数中调用其他函数。
2. 编写一个求阶乘函数,并调用求输出1~5的阶乘值(即1!,2!,3!,4!,5!)。
实验2 变量不同域(2学时)1.用extern对外部变量作提前引用声明,以扩展程序文件中的作用域。
2.静态局部变量的值。
3.输入两个整数,要求输出其中的大者。
用外部函数实现。
C语言程序设计:第6章 函数 课件教案

C语言程序设计课件教案第六章函数教学目的掌握函数的定义、函数的声明、函数的调用、函数的设计原则,能够灵活的去定义和调用函数。
教学要求1.掌握函数的定义、声明、调用掌握常量的概念与使用2.熟练掌握函数的设计原则3.熟练掌握函数形参的异常判断、函数返回值的使用重点和难点1.函数定义和使用2.形参的异常判断、函数返回值的使用教学支撑环境与教学资源:1.笔记本电脑2.VC20103.投影仪教学方法讲授法、练习法、讨论法授课课时6课时教学过程一、课程引入什么是模块化?模块化有哪些特点?我们C语言中是否可以实现模块化编程?函数是完成一个个特定任务的语句集合,它能完成你所想要的某种特定任务,当你要用时,只需要调用它即可,在后续的修改或是维护过程中,只需要针对这一个进行修改即可。
作用1:减少程序的代码量作用2:代码复用作用3:使程序具有良好的结构二、函数的定义函数的定义:包括两个部分,分别是“函数头”和“函数体”。
返回值数据类型函数名(数据类型形参1,数据类型形参2,....)//函数头{//函数体(可以有多条语句)}[注意1]:函数的返回值和参数可以是任意类型,包括空类型!!当函数无返回值或无形参列表时,建议用void指明[注意2]:函数名是一种标识符,必须符合标识符的命名规则!单词首字母不大写,从第二个单词起首字母大写。
[注意3]:函数的参数可以没有,也可以有多个参数(本章最后讲解)【思考】如果源文件只有如上说是的代码可以运行吗?同学们自己尝试一下![注意4]:一个项目中必须要有一个主函数,没有主函数,程序找不到执行的入口,代码无法运行。
[注意5]:函数头要有头注释(功能,参数,返回值),函数定义不可以嵌套。
【思考】现在在上面代码的基础上添加好主函数,试试可以运行吗?[注意6]:函数如果不被调用,就不会执行。
三、函数的调用语法 : 函数名(实际参数1,实参2,...)#include <stdio.h>void printStar(void){printf("****");return ;}int main(void){printStar();//调用函数printStarreturn 0;}[注意1]:如果是A函数调用B函数,则A函数叫主调函数,B叫被调用函数在这个代码示例中,main函数就可以称为主调函数,prinfStar函数就可以称为被调函数。
计算机-C语言《函数》教案

难点:函数的定义方法和值的返回方法格式应用。
教学方法及师生互动设计:
教学方法:课堂讲授教学法,通过案例程序的扩展,实行对比教学。
师生互动设计:
1.利用课件教学,演示教学相关知识点,采用设问、引导教学。
2.利用阶段性课堂练习、点评和提问,即时掌握教学反馈信息。
课堂练习、作业:Βιβλιοθήκη 第三部分:采用实例教学法,配合案例分析,时间为20分钟。
(注:根据需要可多页)第4页
教学内容(讲稿)
备注
(包括:教学手段、时间分配、临时更改等)
第四部分:(归纳总结)
[师]本节课,我们一起了了解结构化程序的设计思想、理解了函数的定义方法和掌握了函数的值的返回方法。函数的学习让我们进入了一个新的领域,随着以后的学习,我们将更加深入函数在C语言中的重要地位。
{}
[师]利用课件,给出各种形式的自定义函数。请同学们找出这些函数的结构和各个函数的区别。
[生](思考、讨论)
[师]看屏幕,分析总结演示的各个函数的结构及其区别:
(注:根据需要可多页)第3页
教学内容(讲稿)
备注
(包括:教学手段、时间分配、临时更改等)
[师]课堂练习:课件演示,请写出s=1+2+3+…+n的自定义函数,函数名为mysum。
[生](思考、讨论、写程序)
[师]点评分析学生的程序设计,课件演示,给出标准答案,进行分析归纳。
[师]那么函数体的最终运算的结果如何返回给其他函数。
第三部分:(理论提高)
[师]函数值的返回格式:
格式1:return;
格式2:return表达式;或return(表达式);
功能:使程序控制从被调用函数返回调用函数,并把表达式的值返回给调用函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》之
----- “函数”教学设计
贵州交通技师学院
张红
《C语言程序设计》之
----- “函数”教学设计【教材】:
教材:《C语言程序设计实训教程》,主编:康英健。
出版社:海军出版社。
中职中专教材。
【教学内容分析】:
函数是C语言程序设计中非常重要的一个知识点。
是学生从杂乱的程序中重新整理排版的思维。
在以后的工作中广泛使用,学生在以后的程序设计中,都需要把相对独立的功能独立出来。
实现“低耦合,高内聚”的效果。
所以函数是程序设计思想的一个升华,也是一个重点和难点。
学生需要学好函数的知识,才能更好的学后续的专业课程。
【学生情况分析】:
中职学生整体来说学习基础较差,自主学习的能力也欠缺。
特别对学科专业基础的理论知识体系明显处于劣势,在学习方面多经挫折,信心不足,缺乏学习的积极性。
在理解逻辑思维方面难度较大。
所以在讲解这节知识的过程中,我通过故事的形式导入,让学生理解函数真正的含义。
【教学目标】:
本次课需要学生了解什么是函数。
通过本节教学,提升学生的自学能力,增强学生的自信心,并能在平时的编程工作中灵活的运用函数的知识来解决具体的问题。
1、知识目标
①了解简单函数的概念
②知道函数的分类
③掌握函数的定义方法
④知道函数参数及返回值
2、能力目标:
①通过教师的讲解,让学生能以此类推,灵活的使用函数的方法编程。
②在教师的指导下,对认识不到位的知识点进行加深理解。
3、情感目标:
①通过“函数”的学习,渗透分工意识;
②通过“函数”的学习,加深大家对繁琐问题简单化的直接运用理念。
③通过该知识点的学习,增强学生处理工作简化事项的自信心和面对挫折并敢于解决的勇
气。
【教学重点】:
掌握函数的定义方法。
【教学难点】:
了解函数的简单概念,怎样抽象出具体的独立的函数。
【教学方法】:
在教学过程中先通过故事情景引出问题,然后讨论解决问题的方法,引出本节课的主要教学内容。
在教学过程中主要采取启发式教学法和任务驱动法相结合,同时进行实例的演示和小组讨论,以完成任务为主线、以学生为主体,调动学生的学习积极性,促使学生积极探究、互助学习。
【教学课时】:
1课时(45分钟)
【教学过程】:
修改:
printch()
{
printf(“-------------------------\n”);
}
main()
{
printch();
printf(“ I am a student.\n ”);
printch();
getch();
}
三、函数的定义
如何求一个正整数的阶乘呢?在第四章应用循环解决了这个问题,但是要计算几个不同数的阶乘之和,能否应用函数来解决呢?
1.应用举例:求6!+5!+4!=?
流程图:
源代码:
long fact(x)
{
int z=1,i;
for(i=1;i<=x;i++)
z=z*i;
return z;
}
main()
{
int a,b,c;
long s;
scanf(“%d %d %d”,&a,&b,&c);
s=fact(a)+fact(b)+fact(c);
printf(“%ld”,s);
}
2.应用举例:输出两个数的最大值。
怎么样抽象出具体的子函数?学生思
考,哪些
可以抽
象出来
成为一
个独立
的功能,
并根据
要求在
草稿本
上写
学生回
忆以前
所学知
识
学生思
考问题
学生观
察整个
程序运
行的过
程并复
习以前
的循环
体的知
识点
教师补
充
教师引
导教师
提问
教师总
结补充
知识点
教师演
示整个
程序运
行的过
程,并
仔细给
学生讲
解整个
过程
main()
{
int a=1,b=2,z;
if(a>b)
z=a;
else
z=b;
printf(“max is %d”,z); getch();
}
修改:
int max(int x,int y) {
int m;
if(x>y)
m=x;
else
m=y;
return m;
}
main()
{
int a=1,b=2,z;
z=max(a,b);
printf(“max is %d”,z); getch();
} 依葫芦
画瓢,学
生思考
怎样抽
象出具
体的子
函数
学生观
察理解
学生观
察视频
学生观
察整个
程序运
行的过
程并复
习以前
的循环
体的知
教师提
问
关键步
骤需要
教师重
点强调
教师补
充
教师引
导
教师补
充
教师总
结
【教学反思】
1、根据本门课程的要求,我使用了故事情节导入的方法,来提升学生对函数这
个知识点的兴趣和理解。
并能形象的让学生感知函数在程序设计中的作用。
2、本节课在时间上的安排,教师讲解、演示及总结的时间使用为25分钟,学生
讨论、思考使用时间为20分钟。
学生在思考的过程中发现问题,通过老师的引导和相互讨论等方法解决问题,充分体现了做中学,做中教的教学理念。
3、在教学知识点讲授上,专门复习了循环语句的使用,增加学生对以前知识点
的掌握,同时通过应用案例教学,让学生掌握函数的使用方法,通过ppt动画放映过程,能更好的让学生理解整个程序的运行过程。
帮助那些容易遗忘的同学完成本次课的学习任务。
4、对于基础落后的学生,我采取的方式是多鼓励,多关注,希望他们能重新塑
造自己的信心。