Professional Documents
Culture Documents
课程名称: C 语言程序设计
授课专业:
授课教师:
2023 年 9 月
C 程序的结构和函数的分类、
教学内容 定义函数的方法、函数的一般调用
教学学时 2
班级 地点 周次 星期 节次
14 2 3-4 节
1、C 程序结构
【软件工程思想和企业规范】对照表 1:一个复杂的 C 程序由若个模块组成每个程序模块作为一个
源程序文件(.c 文件、 文件等),而每个源程序文件由预处理命令数据声明以及若干函数组成。
一个 C 程序必须有且只能有一个主函数,C 程序总是从主函数开始执行《不论位置如何),最后在
主函数中结束整个程序的运行。需要注意:在主函数中可以调用其他函数,而不允许被其他函数调用。
在实际应用的 C 程序中,可将主函数设计得简单些,主要负责调用各个功能函数,依次实现各项
功能——模块化程序设计。
【学习检验】教材例题
2、函数的分类
从不同角度对函数分类。
(1)从定义函数的角度
1)库函数:由编译系统提供,只要在源文件中包含其对应的头文件,即可在程序中直接调用[见附录
D]。例如“stdio.h”头文件中的 printf、scanf 等函数,“math.h”头文件中的 sin、cos 等函数。
2)用户自定义函数:用户根据需要,将实现某个功能的代码编写成相对独立的函数。
(2)从有误返回值的角度
1)有返回值函数:将向调用者返回一个值。定义函数时须指明函数的类型(函数返回值的类型。
2)无返回值函数:不向调用者返回函数值。定义函数时应指定函数的类型为 void。
(3)从数据传递的角度
1)无参函数:调用时,主调函数和被调函数之间不进行参数传送。此类函数可以返回或不返回函数值。
2)有参函数:调用时,主调函数将实参的值传递给形参(虚参)
步骤三:任务 2 掌握定义函数的方法(时间:20 分钟)
1、 定义无参函数
说明:(1)书写函数体时,一般先写声明部分,再写执行部分
(2)若函数无需返回值,则函数类型应该定义为 void 类型
2、 定义无参函数
有返回值的函数至少有一个 return 语句。
(3)当形参为普通变量(基本类型的变量)时,实参可以是常量、变量或表达式,但必须有确定的值。
【学习检验】教材单元练习第 4、6、7、8 题
4、函数的值
(1)return 语句:函数的值只能通过 return 语句获得。
return 语句的一般形式: return 表达式; 或 return (表达式);
说明: 在函数中可有多个 return 语句,但每次调用只能有一个 return 语句被执行,因此只能返回
一个函数值。return 语句也可以不含表达式,此时必须将函数定义为 void 类型,其作用只是使流程返
回到主调函数。
(2)函数类型。函数返回值的类型和定义函数时指定的函数类型应保持一致。定义函数时若不指定
函数类型,C 编译系统则默认为整型。没有返回值的函数,函数的类型应当明确定义为 void 类型。
【学习检验】教材例题
【课后学以致用】
(1) 输入一个非整数,输出它的倒序数。
(2) 编写函数,计算 x 的 n 次方。
5、对函数的声明
在调用函数之前,都需要对被调函数进行声明。若不进行声明,编译系统对程序从上到下进行编译
的过程中,遇到被调函数名时,就会认为是一个“陌生人”而报告错误。解决办法有两个。
(1)在主调函数的函数体的开始,或者在源文件中所有函数的前面,对被调函数进行声明。提前向
编译系统“打招呼”,让编译系统“提前认识”被调函数。
函数声明(也称为函数原型的一般形式:
类型标识符 函数名(形参类型 1 形参名 1,形参类型 2 形参名 2··-):
类型标识符 函数名(形参类型 1,形参类型 2..-):或
(2)若在主调函数前面定义被调函数,则无须额外对被调函数进行声明。
说明:调用库函数时,无需对其进行声明,但要把该函数对应的头文件用#include 命令包含在源文
件中。
【学习检验】]教材单元练习第 15 题
【自主学习】宏调用和函数调用的比较
步骤五:概括基本内容,归纳重点内容(时间:5 分钟)
1、引导学生概括本次次课的基本内容,归纳重点内容(定义函数的方法,函数的一般调用方法)
2、作业布量:通过教材、PPT 和在线课程,复习固本次课内容:完成教材相应习题学以致用:预习下次课
内容(函数的嵌套调用和递归调用)。