C语言 7单元-函数 课件
2023-04-01
|
74页
|
238人阅读
|
52人下载
普通
内容正文:
7单元
函数
C语言程序设计任务驱动式 教程(第2版)
工业和信息化人才培养规划教材
国家精品资源共享课程配套教材
高职高专计算机系列
我们编写的程序代码越来越长,实现的功能越来越多,所有代码都写在主函数main() 中,实在是不易阅读和修改。事实上,C语言程序可以包含一个main函数和若干个其他函数,main函数可以调用其他函数,其他函数之间也可以相互调用。
问题引入
Question Introduction
目录导航
任务1 菜单输出—无参函数的定义与调用
任务2 学生成绩计算—有参函数的定义与调用
思考与训练
单元小结
任务3 猜年龄—函数的递归调用
任务1 菜单输出—无参函数的定义与调用
在顺序结构单元中,实现了输出菜单功能。本单元讨论如何用自定义函数实现输出菜单的功能。
工作任务
任务1 菜单输出—无参函数的定义与调用
思路指导
编写一个自定义函数menu( ),实现输出菜单的功能,在main( )函数中调用menu( )。
相关知识
(一)函数概述
1.函数的概念
函数是实现特定程序功能的代码段。使用函数基于以下原因。
(1)结构化程序设计的需要。结构化程序设计思想的核心内容是:“自顶向下,逐步细化和模块化。”结构化程序设计思想最重要的一点就是把一个复杂的问题分解成很多小而独立的问题,即把一个大程序按功能分为若干个小程序(模块),每个模块完成一部分程序功能。
(2)可以提高代码的复用性。可以把经常用到的完成某种相同功能的程序段编写成为函数,每当需要完成这一功能时,只要调用这个函数即可,如需修改,只需修改这个函数本身即可,而调用函数的语句不必修改。
(一)函数概述
2.函数的分类
函数分类
标准库函数
库函数由系统提供,编程者只需要使用(调用)
例如,标准输入函数scanf、标准输出函数printf以及其他一些数学函数,这些都是标准库函数。
用户自定义函数
用户自定义函数需要编程者自己编制。
例如,求一元二次方程的根、求全班某一次考试的平均成绩等问题。必须学会自己定义一些函数来完成一些特定的功能。
(二)定义无参函数
定义函数要完成3项任务:指明函数的入口参数;指明函数执行后的状态,即返回值或返回执行结果;指明函数要做的操作,即函数体。定义函数的格式如下。
类型说明符 函数名()
{
声明部分;
语句部分;
}
其中类型说明符和函数名称为函数头。类型说明符指明了本函数的类型,函数的类型实际上是函数返回值的类型。
函数名是由用户定义的标识符,无参函数名后有一个空括号,其中无参数,但括号不可少。
{ }中的内容称为函数体。在函数体中也有声明部分,这是对函数体内部所用到的变量的类型声明,语句部分实际上是函数体。
在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。
(二)定义无参函数
第1单元的例题改为一个函数定义。
例7.1 自定义一个无参函数
void Hello()
{
printf("Hello C Program!
");
}
这里,只把main改为Hello作为函数名,其余不变。Hello 函数是一个无参函数,当被其他函数调用时,输出“Hello C Program!”。
(三)无参函数的调用
函数定义好之后,需要调用才能运行,通过函数名调用函数。
例7.2 调用无参函数Hello
void main()
{
Hello();
}
此时,程序在main函数中调用了无参函数Hello,执行函数Hello中的语句,输出“Hello C Program!”
任务1 菜单输出—无参函数的定义与调用
任务实施
调用无参函数输出菜单,程序代码如下。
/**********无参函数的定义与调用***************/
#include <stdio.h>
void menu(){
printf("******欢迎光临四川酒家******
");
printf(" 油焖大虾 48元/份
");
printf(" 干煸豆角 20元/份
");
printf(" 水煮鱼 38元/份
");
printf(" 麻婆豆腐 15元/份
");
}
void main(){
menu();
}
运行结果如图7-1所示。
图7-1 任务1运行结果
任务1 菜单输出—无参函数的定义与调用
特别提示
(1)函数名是用户为函数起的名称,是一个标识符。在同一个程序中,函数名不能相同,也不能与同一作用域中的其他标识符相同。
函数可以被主函数或其他函数调用,也可以调用其他函数,但是不能调用主函数。
(2)函数体用一对括号括起来,一般由说明部分和语句部分组成。如果大括号内什么内容也
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。