C语言程序设计 教案 7-1函数的定义、声明及应用_第1页
C语言程序设计 教案 7-1函数的定义、声明及应用_第2页
C语言程序设计 教案 7-1函数的定义、声明及应用_第3页
C语言程序设计 教案 7-1函数的定义、声明及应用_第4页
C语言程序设计 教案 7-1函数的定义、声明及应用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C语言程序设计》教案课程名称C语言程序设计任课教师总课时64教学课题学生管理系统功能模块设计授课班级授课日期课时2教学目标知识目标:1.掌握有参函数2.掌握有参函数3.掌握有参函数4.完成学生管理系统功能模块设计能力目标:能够定义、声明、调用函数素质目标:团队合作能力、团队互助,自我学习的习惯、爱好和能力重点难点函数的定义、声明、调用教学方法演示、讲解、启发教学资源教材《C语言程序设计》设备准备VC++6.0,极域电子教室软件,分发工作任务单教学环节(教学过程)教学内容教师活动学生活动教学目标课时1发布任务进行任务的问题描述和分析倾听、思考让学生理解任务要求和思路10分钟2理论讲解讲授函数定义、声明、调用方法倾听、思考预备需要的理论知识15分钟3举例通过一个案例进一步讲解函数的声明、定义、调用倾听、思考通过实际应用帮助学生理解理论知识20分钟4应用布置两个相关题目思考、解答通过做相关练习题帮助学生更好的理解相关知识45分钟教学内容(详细):一.函数的定义及声明一个C语言程序可以由一个主函数和若干个其他函数构成,由主函数可以调用其他的函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。一些常用的功能都可以编写成函数供选用,善于利用函数,可以有效的减少编写程序的工作量。在程序中编写函数时,一般要先声明、再定义,然后才能调用。1函数的定义函数的定义是让编译器知道函数的功能。其一般格式:类型标识符函数名([形式参数列表]){声明部分语句部分}(1)函数名函数名是一个用户定义的标识符,它的命名规则同变量完全一样,为了增加程序的可读性,一般取有助于记忆的名字并与其功能相关的名字作为函数名,但在同一程序中,不能有同名的函数。(2)函数体用左、右花括号括起来的部分称函数体,它由声明部分和语句部分组成。声明部分,主要用于对函数内所使用的变量以及对所调用的函数的类型进行说明;语句部分则是实现函数功能的核心部分,它由C语言的基本语句组成。(3)返回类型返回类型就是函数返回值的类型。对有值函数,一般通过函数调用得到一确定值,这个值就是函数返回值(简称函数值)。如floatfnSum(floata,floatb)将返回一个float类型的值。此时,在函数体部分有一返回语句“returnfSum;”。对无返回值函数,函数名前应加上void类型,在函数定义的<语句部分>中,可以有一返回语句“return;”,也可以不带返回语句,该函数执行到最后一个花括号时,自动返回。(4)形式参数列表形式参数列表中的参数被称为形式参数,简称形参。有形参的函数称为有参函数。没有参数的函数称为无参函数,其一般形式为:类型标识符函数名(){声明部分语句部分}2函数的声明函数声明是让编译器知道函数的类型、函数的参数个数、参数类型及参数顺序等信息。其一般格式为:类型标识符函数名(形式参数列表);其中,形式参数列表可以省略。(1)函数声明就是函数头部分,并在最后加了一个分号“;”。(2)函数声明中的参数列表,可省去参数名,但参数类型必须保留。例如,如下两种形式的函数声明等价。voidfnPower(floatx,intn);voidfnPower(float,int);3学生成绩管理系统菜单的显示利用系统提供的printf()函数在屏幕上输出系统各个功能项,称为菜单,为使菜单显示整齐、美观,通过输出一些“*”、“$”、“\t”和“\n”等来美化菜单显示。参考代码如下:voidfnShowMenu() //自定义函数显示菜单{system("cls"); //清屏函数printf("\n");printf("\t$************学生成绩管理系统************$\n");printf("\t$0.退出$\n");printf("\t$1.录入数据$\n");printf("\t$2.查询记录$\n");printf("\t$3.修改记录$\n");printf("\t$4.插入记录$\n");printf("\t$5.删除记录$\n");printf("\t$6.成绩排序$\n");printf("\t$7.数据统计$\n");printf("\t$8.浏览记录$\n");printf("\t$****************************************$\n");printf("\t\t请选择您的操作(0-8):");}函数的调用1函数调用的形式定义函数后,通过调用函数来执行函数的功能。调用函数的一般形式如下:<函数名>([<实参列表>]);其中,实参列表(简称实参)是有确定值的变量或表达式,若有多个参数,各参数间要用逗号分开。(1)在实参表中,实参的个数与顺序必须和形参的个数与顺序相同,实参的数据类型必须和对应的形参数据类型相同。(2)如为无参函数调用,则没有实参列表,但括号不能省略。(3)函数间可以互相调用,但不能调用main()函数。2函数调用的方式根据函数在程序中出现的位置,大致有三种调用方式:(1)函数语句把函数调用作为一条语句。如:在例7-1中,“fnPrint();”,执行该语句时,调用函数fnPrint(),执行其功能。这时不要求函数带返回值,只需要函数完成一定的操作。(2)函数表达式函数出现在一个表达式中,这时要求函数带回一个确定的值,用函数的返回值参加表达式的运算。如:x=3*fnMax(a,b);。(3)函数参数函数调用做为函数的实参,如:result=fnMax(a,fnMax(b,c));。3函数调用时的数据传递形式参数和实际参数当被调函数是有参函数时,主调函数和被调函数之间有数据传递关系。定义函数时的参数称为形式参数,简称形参。形参在该函数未被调用时是没有确定的值,只是形式上的参数,也不占内存,只有发生调用时,形参才被分配内存单元,接受实参传来的值。调用函数时的参数称为实参,实参可以是变量、常量或表达式,是有确定的值,是实实在在的参数。定义函数时必须定义形参的类型。函数的形参与实参个数要求相等,对应类型一致。形参和实参可以同名,形参是该函数的局部变量,即使形参和实参同名,也是两个不同的变量,占用不同的内存单元。形式参数用于调用函数和被调函数之间进行数据传递,在函数体内可对其操作。因此,它也需要类型说明,这由形式参数说明部分完成,函数可不带参数,也可带多个参数,当有多个参数时,每个参数之间用逗号隔开。实参与形参之间的值传递函数的参数主要用于在调用函数和被调用函数之间进行数据传递。简单变量或数组下标变量作为函数参数都是按“值传递”方式处理的,即只能把实参的值传递给形参,而不能将形参的值传递给实参,形参值的改变不影响实参。学生管理系统功能模块设计按照模块化程序设计方法,将功能模块用一个函数来实现。目前暂时由空函数表示,其功能实现留待第二阶段完成。采用菜单驱动方式进行人机交互、设计用户界面。1显示菜单模块此模块显示菜单函数fnShowMenu()参考7.1.3节。2系统功能模块根据前面对系统的分析,系统设计可分为8个主要的功能模块,因此,可以定义8个空函数:录入数据函数fnInputData、数据查询函数fnSearch、数据删除函数fnDel、数据修改函数fnMod、数据插入函数fnInsert、数据排序函数fnSort、数据统计函数fnTotal、数据浏览函数fnShow()。参考代码如下:voidfnInputData() /*自定义数据录入函数*/{ printf("\n\n\t您已进入录入数据模块,抱歉!开发中……");}voidfnShow() /*自定义数据浏览函数*/{ printf("\n\n\t您已进入数据浏览模块,抱歉!开发中……");voidfnSort() /*自定义成绩排序函数*/{ printf("\n\n\t您已进入成绩排序模块,抱歉!开发中……");}voidfnDel() /*自定义数据删除函数*/{voidfnSearch() /*自定义数据查询函数*/{ printf("\n\n\t您已进入数据查询模块,抱歉!开发中……");}voidfnMod() /*自定义数据修改函数*/{ printf("\n\n\t您已进入数据修改模块,抱歉!开发中……");}voidfnInsert() /*自定义数据插入函数*/{ printf("\n\n\t您已进入数据插入模块,抱歉!开发中……");}voidfnTotal() /*自定义数据统计函数*/{ printf("\n\n\t您已进入数据统计模块,抱歉!开发中……");}3主函数main()主函数是程序的入口,程序从主函数开始执行,通过调用显示菜单函数将菜单显示在屏幕上,当用户选择特定功能时,通过调用相应的函数实现用户所选择的功能。参考代码如下:/*头文件*/#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<string.h>/*函数声明*/voidfnShowMenu(); //显示主菜单voidfnInsert(); //插入学生信息voidfnTotal(); //计算总人数voidfnSearch(); //查找学生信息voidfnInputData(); //录入学生成绩信息voidfnShow(); //显示学生信息voidfnSort(); //按总分排序voidfnDel(); //删除学生成绩信息voidfnMod(); //修改学生成绩信息voidmain() //主函数{intn=1;do { fnShowMenu();//显示菜单界面 scanf("%d",&n); //输入选择的功能编号 switch(n) { case1:fnInputData();break; case2:fnSearch();break; case3:fnMod();br

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论