6.1函数的定义和作用
6.1 函数的定义和作用
- 6.1 函数的定义和作用
- 引言:为什么需要函数
- 一、什么是函数 & 函数的作用
- C程序的构成
- 其他
- 函数的分类
- 从用户使用的角度看
- 从函数的形式来看
- 从返回值来看
- 其他
- 不严谨说法
- 二、函数的定义
引言:为什么需要函数
避免了重复性操作
有利于程序的模块化
一、什么是函数 & 函数的作用
- 逻辑上:能够完成特定功能的独立的代码块
- 物理上:
- 能够接收数据,
- 能够对接受的数据进行处理,
- 能够将数据处理的结果返回
总结: 函数是一个工具,它是为了解决大量类似问题而设计的,函数可以当作一个黑匣子
模块化程序设计
从本质意义上来说,函数就是用来完成一定功能的
函数就是功能,每一个函数用来实现一个特定的功能,函数的名字应反映其代表的功能
一个C程序可由一个主函数和若干其他函数构成,由主函数调用其他函数,其他函数也可以相互调用,同一个函数可以被一个或多个函数调用任意多次。
C程序的构成
C语言的基本单位是函数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y7AEOQ4s-1593958123149)(C程序.png)]
其他
- 一个源程序文件由一个或多个函数以及其他有关内容(指令、数据声明及定义)。
- 一个源程序文件就是一个编译单位,在程序编译时,是以源程序文件为单位编译的,而不是以函数为单位进行编译。
- C程序的运行从main函数开始,在main函数调用其他函数后返回main函数,最后也在main函数中结束程序的运行。
- 所有函数都是平行的,定义函数时是分别进行的,不能嵌套定义函数,函数之间可以相互调用,main函数不能被其他函数调用。
函数的分类
从用户使用的角度看
- 库函数
- 用户自己定义的函数
从函数的形式来看
- 无参函数
- 有参函数
从返回值来看
- 有返回值
- 无返回值函数
其他
- 普通函数
- 主函数
不严谨说法
- 值传递函数
- 地址传递函数
二、函数的定义
函数必须先定义后使用
- 函数定义的本质:详细描述函数函数之所以能够实现某个特定功能的具体方法。
- return 表达式的含义:return 终止被调函数,向主调函数返回return表达式的值,如果表达式为空,则只终止函数,不向主调函数返回任何值。
- break 用来终止循环和switch,return用来终止函数,还可以返回值。
函数类型 函数名(参数)
{
函数体(包括声明变量+语句)
}
函数类型
函数返回值的类型也称为函数的类型,如果函数名前面的类型,与return表达式中的类型不一致,以函数名前的类型为准。
函数也可以没有返回值 那么就写 void参数部分:
- 无参数 (void)
- 有参数(参数类型 形式参数,参数类型 形式参数)
int max (int i, int j)
{函数体
}
// int 为函数类型
// max 为函数名
// i,j为形式参数,简称形参
6.1函数的定义和作用相关推荐
- 虚函数的定义以及作用
虚函数是动态联编的基础,虚函数是成员函数,且为非static的成员函数.说明虚函数的方法如下: virtual 类型说明符 函数名(参数表) 其中,被关键字virtual说明的函数称为虚函数. 提示: ...
- 在c语言中 函数的作用是什么,C语言程序中函数的定义
C语言程序中函数的定义 C语言的函数问题是困扰很多学者的问题的,c程序中什么是函数呢?下面啦小编为大家精心推荐的c程序中函数的定义,希望能够对您有所帮助. C语言读书笔记--函数 先来看看函数的一般形 ...
- 51c语言延时作用,51单片机C语言延时函数怎么定义和使用
描述 51单片机C语言延时函数怎么定义 C语言定义延时函数主要通过无意义指令的执行来达到延时的目的.C程序中可使用不同类型的变量来进行延时设计.经实验测试,使用unsigned char类型具有比un ...
- 作业函数的定义与调用
作业函数的定义与调用 在 OneFlow 中,将训练.预测任务封装在一个函数中,统称为作业函数(job function),作业函数联系用户的业务逻辑与 OneFlow 管理的计算资源. 在 OneF ...
- python函数定义和其四种参数_python入门第九课:函数的定义及多种参数传递方式...
本教程使用的课本是<Python编程:从入门到实践>,作者:[美] Eric Matthes 本节介绍Python中的函数,函数是可以反复使用的一段代码,有了函数能大大简化编程工作量,还能 ...
- JavaScript学习笔记(七)——函数的定义与调用
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- 在JavaScript函数中定义全局变量
是否可以在JavaScript函数中定义全局变量? 我想在其他函数中使用trailimage变量(在makeObj函数中声明). <html xmlns="http://www.w3. ...
- 变量和函数的定义和声明
2. 定义和声明 2.1. extern和static关键字 在上一节我们把两个程序文件放在一起编译链接,main.c用到的函数push.pop和is_empty由stack.c提供,其实有一点小问题 ...
- Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数
Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...
最新文章
- php浮点数计算比较及取整不准确解决方法
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(13)-系统日志和异常的处理③
- python3精要(3)-python对象类型,数字,序列
- 主叫号码未显示怎么设置_微信未授权抖音,应该怎么设置?
- ArcGIS没有或未启动Spatial Analyst许可
- 剑指offer:按之字形打印二叉树(栈|双向队列+中序遍历)
- Latex Error: File ended while scanning use of \@xdblarge
- Traceroute/tracert原理和实践
- (二)【矩阵论】(线性表示及基与坐标)线性表示|基与维数|向量的坐标|过渡矩阵
- 直通车的计算机设备跟移动设备的区别,电脑端直通车和手淘直通车的有什么不同?...
- android开发 解析 b5,Android iconify 使用详解
- 【无需卸载,丝滑关闭奇安信天擎开机自启动(步骤超简单)】
- python的print函数中file_python3之print()函数
- springMVC+mybatis+maven搭建过程
- stata蒙特卡罗模拟(二)模拟中心极限定理
- HA高可用HADOOP生态群系统搭建
- Facebook投放广告总被拒?教你搞定FB广告投放
- itext设置字体间距_Word涨薪第五十四式:解决无法调整行间距的情况
- MW150UH驱动程序Linux,Ubuntu驱动Mecury MW150UH无线网卡总结
- 数理统计与数据分析第三版习题 第4章
热门文章
- Vue 3的企业级项目开发开篇词|为何掌握了技术API,依然在项目中处处掣肘?
- 在linux下怎么安装mysql,手把手教你在Linux系统下安装MySQL
- React.js 之筛选篇
- “可严可仁”的考勤系统,让数字化不漏掉人性化
- 最经典的两种软件架构模式
- 两用物项许可证办理流程_两用物项出口许可证怎么办理
- 亚马逊买家账号ip关联怎么处理
- 虚拟机连接服务器出现网络错误,winscp连接VM虚拟机出现网络错误连接超时
- java/android 设计模式学习笔记(7)---装饰者模式
- matlab定义函数