当前课程知识点:C语言程序设计(下) >  第一周:函数(一) >  1.4 函数间参数传递 >  函数返回语句和返回值

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

函数返回语句和返回值在线视频

函数返回语句和返回值

下一节:小结

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

函数返回语句和返回值课程教案、知识点、字幕

除了主调函数和被调函数之间

通过实参与形参之间传递数据之外

还有一种形式叫做

函数的返回值

也就是说

主调函数使用被调函数

得到一个确定的值

这就是函数的返回值

那函数的返回值

是通过返回语句获得的

从这个例题中大家看

在主调函数中

我们定义了整型变量

abc

从键盘输入变量a和b的数值

以ab的数值为实参

调用被调函数

被调函数中

实现了将xy中的大的

赋给变量z

返回语句

调用的是return语句

将z的值返回到主调函数

赋给变量c

那么我们就可以

通俗的理解为

整个这个程序的功能就是

键盘输入了两个数

输出其中大的

那么从这大家可以看到

首先

第二点

就是

return语句的后边的形式是

return跟一个表达式

或跟一个具体的变量名

括号可以有

也可以没有

第四点

return语句的返回值的类型

与函数定义的类型要求一致

我们前面说过

定义函数时候的类型

就是返回值的类型

如果程序中

真的有不一样的时候

那一定是以函数定义的类型为准

如果

函数中没有return语句

一般情况下

这个函数调用后

会带回一个不确定的值

为了避免一些不必要的错误

我们尽量的将

不需要返回值的函数

定义为无类型的函数

也就是冠于

关键字void

作为函数的类型名

有的时候一个函数内部

可以有两个以上的return语句

就跟我们前面看到求素数

return一个0说明不是素数

return1就说明是素数

执行到哪个return语句

就是哪个语句起作用

下面我们就通过一个例题

来进一步的理解

在函数的返回值

和函数的返回语句的使用中

有哪些需要注意的

大家跟我一起来看

首先

我们写

标准输入输出的头文件

然后再

定义一个主函数

在主函数中

咱们首先

定义变量a和b为浮点型

定义一个整型变量m

然后我们对

将要调用的函数

做一个说明

主调函数使用被调函数之前

要对被调函数做个说明

说明的是函数的类型

函数名和形参的类型

那么在主调函数中

我们要通过键盘

为a和b这两个变量

输入数值

从键盘输入a和b的值

函数调用的结果

赋给整型变量m

此时a和b是作为函数的实参

调用之后的m到底是多少呢

咱们通过格式输出语句

获得

m的值

主函数写完了

下面咱们写功能函数

在功能函数中

我们先定义

功能函数的类型为整型

函数名为max

函数中有两个

形参

分别是

浮点的x和浮点的y

在功能函数中

我们再定义一个浮点变量n

n的值

取决于

x和y中

相对的大的那个

那在这

我们就用到了条件运算表达式

此时比较x和y的值

将其中大的赋给n

通过返回语句获得n

将函数调用的结果

代回到主调函数

赋给变量m

我们现在保存

保存之后编译

下面开始运行

大家注意

我需要输入两个浮点数

如果此时我输一个4.5

逗号

输一个6.8

大家想

此时的m应该是几呢

运行一下看

m的值为6

为什么

大家一定觉得

为什么不是6.8

请注意

我们定义的

被调函数的类型是整型

函数的返回值是浮点

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

函数返回语句和返回值笔记与讨论

也许你还感兴趣的课程:

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