当前课程知识点:C语言程序设计(下) >  第一周:函数(一) >  1.1 函数定义 >  函数是什么

返回《C语言程序设计(下)》慕课在线视频课程列表

函数是什么在线视频

函数是什么

下一节:例题演示

返回《C语言程序设计(下)》慕课在线视频列表

函数是什么课程教案、知识点、字幕

下面我们就开始介绍函数这一章

让我们从一朵水仙花开始

在三位数中有一种特殊的数

就是说

组成这个三位数各个位上的那个数字

立方再求和

就等于这个数本身

那都有哪些三位数是水仙花数呢

我们可以编一个程序来求

第三个整型变量a b c

就分别代表了这三位数上的那三个数

它们各自从1到9或者从0到9循环

在这个嵌套的循环中

如果a³+b³+c³就等于这个三位数本身

那么这就是我们要的结果

经过运行我们就可以得到这个结果了

三位数中水仙花数有153 370 371和407

我们再看另一个问题

如果要求从1到10之间

那些相邻数的立方差

大家说了 这个编程很简单

那现在我要提醒大家的是

我们看这两个问题

第一个问题中

用到了求一个数的立方

而二个问题也用到了求一个数的立方

那么现实生活中

在程序开发中

往往有一段程序

可能会被其他的程序所使用

那么就像现在我们说到的求立方

我们可以编一个程序

就来求一个数的立方

那么如果这段程序

会多次被其他程序使用的话

我们就把它抽象为一个功能函数

它的功能就是求立方

我们为这个函数起个名

然后定义一个参数

至于这个参数的值是什么

主调函数中

使用它的功能的时候为它传递一个数据

那么主函数里

从键盘输入一个整型数x

当调用这个函数的时候

x的值传递给参数a

函数调用的结果

返回了a的立方

那么主函数中得到了需要的结果

这个程序的运行的流程

如屏幕所示

那么我们就可以说函数是什么呢

函数是我们写一段程序

去实现一个功能

按照这个思想咱们看

怎么用函数的方式

来求水仙花数

首先我们在这个程序中

输入了一段函数

我们管它叫做函数的定义 求立方

主调函数中定义a b c

代表了三位数的各个位

那么在三层的循环的嵌套中

我们三次分别以a b c为参数

调用求立方的函数

如果a b c的立方和

等于了这个数本身 就是我们要的结果

那么大家看这段求立方的函数

我们同样可以使用在

求1到10之间相邻两个数的立方差

那么这两段程序的运行结果

从屏幕上大家可以看到

那我们从这可以看出

求立方这段程序

在两个程序中都被使用

它就充分体现了函数的一个基本的功能

就是代码的重复使用

那大家可能说了 立方这事很简单

我们不用函数

我们直接写x乘x乘x也不复杂

我们再进一步看其他的问题

现在给大家三个问题

一个是我们怎么判断一个数是不是素数

第二我们如果想输出100以内所有的素数

第三怎么把一个键盘输入的偶数

比如24 分解成两个素数之和

那大家知道24=5+19

它还等于其他

怎么能够求出所有的解呢

这三个问题我们都共同的用到了一个问题

就是判断素数

那现在我们就来写一个函数

判断一个给定的数是否为素数

大家看到这一段函数

就是来求素数的

那我们现在来介绍

在c语言中 c语言的语法规定

一个函数的定义都包括了哪些内容

首先 要定义函数的类型

c语言规定

函数的类型指函数的返回值类型

第二 要定义函数名

函数名的定义规则符合标识符的规定

第三 如果主调函数

使用段函数的功能的时候

有数据的传递

那么在定义函数的时候

要定义函数的形参

就是形式上的参数

形参也同样有参数的类型

和形参的参数名

那么主调函数使用被调函数

有时需要带回一个结果

带回的结果通过return

这个返回语句获得

那么函数有返回值

写一段函数的时候

要有一对花括号

意味着函数的开始和函数的结束

那么一对花括号中间的语句成为函数体

有了这个之后我们下面就来解决

看看如何来判断

一个数是不是素数

和这段函数怎么使用

下面我们就给函数做如下的总结

首先 c语言中函数是最小的功能单位

那么一个程序不管多复杂

它一定是由一个主函数

和若干功能函数组成

刚才我们定义函数的类型的时候

指的是函数返回值的类型

那么就函数本身又有什么样的类型呢

c语言中 如果从用户使用的角度

函数可以分标准函数 也叫库函数

就像我们前面屡次用到的格式输入函数

格式输出函数

那么还有在前面学习数组中用到的

一系列的字符串处理函数

此外 当我们需要解决某个特定问题

我们自己来编一段函数的时候

我们称之为自定义函数

如果从函数的形式上说

比如说我们调用一个函数

仅仅是显示一段结果

或者是做一个什么给定的操作

我们称之为无参函数

如果主调函数使用被调函数的功能

有数据的传递

比如说 求两个数的最大公约数

那到底谁和谁的最大公约数呢

主调函数一定是传递两个数值

被调函数来求出这两个值得最大公约数

那么在这种情况下

我们称之为有参函数

C语言程序设计(下)课程列表:

第一周:函数(一)

-1.1 函数定义

--内容简介

--函数是什么

--例题演示

--知识点总结

-1.1 函数定义--作业

-1.2 模块化程序设计

--由生活中的例子介绍模块化概念

--模块化程序设计总结

-1.3 函数调用、声明和返回

--函数调用的过程

--函数嵌套调用

-1.4 函数间参数传递

--形参与实参值传递

--地址传递-数组名做函数参数

--函数返回语句和返回值

--小结

--html

-1.4 函数间参数传递--作业

第二周:函数(二)

-函数递归调用

--6.5.1 递归问题开场白

--6.5.2 递归定义和调用过程

--6.5.3 运行程序

--6.5.4 汉诺塔介绍

--6.5.5 汉诺塔讲解

--6.5.6 汉诺塔程序运行

--6.5.7 递归调用例题

--6.5.8 递归总结

--html

--html

--html

--html

--html

--html

-函数递归调用--作业

第三周:函数(三)

-3.1 变量存储属性

--开场

--局部变量全局变量

--静态存储与动态存储

--存储类别小结

--html

--html

--html

--html

--html

-3.1 变量存储属性--作业

-3.2 编译预处理

--编译预处理开头

--编译预处理内容

--库函数

--函数总结

--综合例子

--html

-3.2 编译预处理--作业

第四周:指针(一)

-4.1 指针的定义、初始化和引用

--本周内容简介

--从变量的地址理解指针(1)

--从变量的地址理解指针(2)

--从数据交换看指针的应用(1)

--从数据交换看指针的应用(2)

--从数据交换看指针的应用(3)

-4.1 指针的定义、初始化和引用--作业

-4.2 指针与数组

--指针与数组

--用指针变量操作数组元素

--用指针变量操作数组元素实例

--Video

-4.2 指针与数组--作业

-虚拟实验:指针的基本概念实验

第五周:指针(二)

-5.1 指针与字符串

--本周开篇介绍

--指针与字符串

--指针与字符串小结

-5.1 指针与字符串--作业

-5.2 多维数组指针

--指针与多维数组

--指针变量访问二维数组

--一维数组的指针变量

--指向数组的指针函数参数

--html

--html

--html

--html

--html

--html

--html

--html

-5.2 多维数组指针--作业

第六周:指针(三)

-6.1指针与函数

--本周开篇介绍

--指针指向函数

--返回指针值的函数

--html

--html

--html

-6.1指针与函数--作业

-6.2指针与指针

--引入指针数组

--指针数组

--二级指针

--指针内容小结

--html

--html

--html

--html

-6.2指针与指针--作业

第七周:链表(一)

-7.1 结构的概念

--Video

--Video

--Video

--Video

--html

--html

-7.1 结构的概念--作业

-7.2 结构数组

--7.2.1 结构体数组

--Video

--Video

--html

-7.2 结构数组--作业

-7.3 结构指针

--Video

--Video

--Video

--html

-7.3 结构指针--作业

-7.4 结构与函数

--Video

--html

-7.4 结构与函数--作业

-7.5 联合

--Video

--Video

--html

-7.5 联合--作业

第八周:链表(二)

-8.1 typedef自定义类型

--自定义类型

-8.1 typedef自定义类型--作业

-8.2 枚举类型

--枚举类型

-8.2 枚举类型--作业

-8.3 链表的概念

--为什么使用链表

--链表的定义和功能

-8.3 链表的概念--作业

-8.4 链表的基本操作

--创建链表的步骤

--创建链表的过程

--访问链表中的节点

--约瑟夫问题

--html

--html

-8.4 链表的基本操作--作业

第九周 文件

-9.1 文件概述

--文件概念

--文件分类

-9.1 文件概述--作业

-9.2 文件型指针

--文件结构与指针

--设备文件

--html

-9.2 文件型指针--作业

-9.3 文件的打开与关闭

--文件读写方式

--文件读写操作

-9.3 文件的打开与关闭--作业

-9.4 文件的顺序读写

--文件顺序读写及字符输入输出

--字符串输入输出

--格式化及数据块输入输出

--html

-9.4 文件的顺序读写--作业

-9.5 文件的随机读写

--文件随机读写

-9.5 文件的随机读写--作业

-9.6 文件检测

--文件检测

-9.6 文件检测--作业

-9.7 文件应用实例

--文件应用实例

--html

--html

第十周 总结与练习

-10.1 C语言知识总结

--程序调试概念

--软件测试方法

--程序跟踪调试

--C语言语法要点

--标识符及运算符

--程序设计流程

--数组、函数及指针

--结构和文件

-10.1 C语言知识总结--作业

-10.2 C语言练习

--程序设计方法

--图像合成例子

--html

期末考试复习题

-期末考试复习题

--html

期末考试复习题答案

-期末考试复习题答案

--html

函数是什么笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。