函数(day08)
C语言里可以采用分组的方式管理语句
每个语句分组叫做一个函数 多函数程序执行的时候时间分配情况必须
遵守以下规则
.整个程序的执行时间被划分成几段,每段
时间都被分配给一个函数使用
.不同时间段不能互相重叠并且所有时间段
必须连续
.如果函数A在工作的时候把一段时间分配给
函数B使用则函数B结束所有工作之后必须
把后面的时间还给函数A 如果函数A在工作的时候把时间分配给函数B
使用则它们之间存在函数调用关系
在函数调用关系中函数A叫做调用函数,函数B
叫做被调用函数
函数调用关系只在被调用函数工作的时间
范围内才存在 函数调用语句可以产生函数调用关系,可以
把一个函数的执行时间分配给别的函数 不可以跨函数使用变量
不同函数里的变量可以重名
如果函数多次运行则它里面的变量每次
对应的存储区都可能不同 声明变量的时候可以使用volatile关键字,
这种变量对应的存储区可以被多个
程序同时使用 函数调用过程中通常伴随着两个函数之间
的数据传递
函数调用过程中数据传递存在两个完全相反
的方向,可以从调用函数传递给被调用
函数也可以从被调用函数传递给调用函数
任何方向的数据传递都要使用被调用函数提供
的存储区 只能从被调用函数向调用函数传递一个数据
这个数据叫做被调用函数的返回值
只能在被调用函数结束的时候传递返回值
传递返回值的时候需要把它记录到被调用函数
提供的一个存储区里,这个存储区的类型
名称应该写在函数名称前
被调用函数里使用return关键字可以把返回值
记录到这个存储区里
调用函数把函数调用语句当作数字使用就可以
得到函数的返回值 如果被调用函数没有使用return关键字向存储区
里放返回值则存储区里的内容是随机的
调用函数只有一次获得返回值的机会,得到
返回值以后或者立刻使用或者另外存储
到其它存储区
如果函数没有返回值就应该在函数名称前
写void
如果函数名称前什么都不写在C89规范里表示
函数提供一个整数类型存储区用来存放
返回值,在C99规范里不允许这样 被调用函数不可以用数组存放返回值 函数调用过程中可以从调用函数向被调用函数
传递多个数据,这些数据的类型可以不同
被调用函数需要为每个传递过来的数据提供一个
对应的存储区
可以使用被调用函数提供的一组变量表示
这些存储区,这些变量必须声明在
函数名称后面的小括号里
这些变量叫做函数的形式参数,小括号里的
所有内容叫做函数的形式参数列表
每个形式参数的类型名称都不可以省略
相邻形式参数声明之间用逗号分开
被调用函数里可以象使用普通变量一样使用
形式参数
函数调用语句的小括号里需要为每个形式参数
提供一个对应的数字,相邻数字之间用逗号
分隔
这些数字叫做实际参数
函数调用的时候计算机把每个实际参数存放在
对应的形式参数里,被调用函数里可以
通过形式参数得到实际参数的数值
只要能当作数字使用的内容都可以作为实际参数
使用
如果函数没有形式参数就应该在小括号里写void
编写函数时如果小括号里什么都没写表示函数
可以提供任意多个形式参数,这些形式参数
的类型可以不同
函数(day08)的更多相关文章
- day08 python之函数初识
一,什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print(),len( ...
- day08作业---函数
'''2.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者.'''#学会了 原来 range(len(iter)) 是 从零到len-1 的数的组合 建新放在 ...
- python学习 day08 (3月13日)----函数
函数 一.定义 def 关键字 函数名(): 函数体 函数 ---- 封装#def 关键字 # #定义后的函数就像变量 不调用是不执行的 # #函数名() ==函数的调用 def code(): ...
- day08(字符编码,字符与字节,文件操作)
一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...
- Python面向对象进阶和socket网络编程-day08
写在前面 上课第八天,打卡: 为什么坚持?想一想当初: 一.面向对象进阶 - 1.反射补充 - 通过字符串去操作一个对象的属性,称之为反射: - 示例1: class Chinese: def __i ...
- day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作
复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...
- Day08 (黑客成长日记) 命名空间和作用域
Day08:命名空间和作用域: 1.命名空间: (1)内置命名空间(python解释器): 就是python解释器一旦启动就可以使用的名字储存在内置命名空间中: eg: len() print() a ...
- day08(补)
今日学习内容 1.文件重写方法 2.函数基本知识 文件处理: 打开文件 读/写文件 关闭文件 文件指针移动,只有t模式下的read(n),n代表的字符个数其余都是以字节为单位 f.seek有两个参数( ...
- python对象反射和函数反射
python的对象反射功能,经常在编程时使用.相比较其它的编程语言使用非常方便.反射就是用字符串来操作对象或者类,模块中的成员. 一.对象的反射 反射功能的实现,由这4个内置函数来实现(hasattr ...
随机推荐
- STM32的独立看门狗
STM32 内 部自带了 2 个看门狗:独立看门狗(IWDG)和窗体看门狗(WWDG) STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动.即使主时钟发生问题.它也仍然 有效. 这里须要注 ...
- jsp上传下载+SmartUpload插件上传
使用之前须要自己下载jspSmartUpload.jar包 这里找到一个支持中文的jar包,下载地址例如以下: http://www.blogjava.net/Files/hijackwust/jsm ...
- Delphi 中控件路径加入不进去解决方法
使用notepa++打开project中的*.dproj文件,在里面找到相似例如以下的区域 <DCC_UnitSearchPath>T:\BusinessSkinForm1006Sourc ...
- 南昌互联网行业协会筹办者祝真和华罡团队-2014年12月江西IDC排行榜
他出自军营,拥有一身正气. 他在南昌创业,立意卓越. 从站点開始.到微营销.到线上教育,全面开花. 他在朋友圈看到不对的内容,就会即时批评. 他对朋友,又是很的和蔼可亲. 他就是南昌华罡网络创办 ...
- 好记性不如烂笔头——.NET运行原理
WINDOWS中运行的代码,分为托管代码和非托管代码. .NET环境中运行的代码就是托管代码,.NET环境外运行的就是非托管代码. 我们开发的时候,会对源代码进行编译.但其实,对于托管代码,我们编译出 ...
- vim gvim技巧大全(9)(转载)
vim gvim技巧大全(9) 2 用命令}移动到这个段落的底部,标记为b3 输入命令:'a,'b move来移动文本.老版本的Vi编辑器不能很好的来处理多文件.但是Vim在处理多文件上却显得优秀得多 ...
- mysql重设root的密码 mac
创建: 2017/09/14 第一步: 关闭已开启的mysql服务器 mysql.server stop 第二步: 关闭密码识别模式 /usr/local/bin/mysqld_safe ...
- Intervals(差分约束系统)
http://poj.org/problem?id=1201 题意:给定n个整数闭区间[a,b]和n个整数c,求一个最小的整数集合Z,满足Z里边的数中范围在闭区间[a,b]的个数不小于c个. 思路:根 ...
- php 写日志函数
function insertLog($operate,$description){ $sql="INSERT INTO operate(op,operate,description,cre ...
- Python 38 注册和修改密码
一:注册系统服务 1.添加环境变量:桌面点击我的电脑------>右键属性------>双击高级系统设置------>点击环境变量------>找到在系统变量中的Path后双击 ...