函数(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 ...
随机推荐
- 怎样跟程序猿谈一场没有Bug的恋爱
<iframe width="580" height="90" align="center,center" id="cpro ...
- 大神note3千元指纹机,这是要逼疯友商吗
新发现(光山居士).7月20日下午.奇酷公司在北京奥雅会展中心召开公布会,宣布推出首款千元级别的指纹识别机大神Note3.据悉.该型号手机.移动版售价899元.全网通版售1099元,并在16:00開始 ...
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 介绍SP2013中远程APIs
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 介绍SP2013中远程APIs 当SP首次開始 ...
- jenkins设置
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PAT ...
- Android入门之文件系统操作(一)简单的文件浏览器
版权声明:本文为博主原创文章,未经博主允许不得转载. import java.io.File; import java.util.*; import android.app.Activit ...
- 88. [ExtJS2.1教程-5]ToolBar(工具栏)
转自:https://llying.iteye.com/blog/324681 面板中可以有工具栏,工具栏可以位于面板顶部或底部,Ext中工具栏是由Ext.Toolbar类来表示.工具栏上可以放按钮. ...
- js getyear和getfullyear
getyear()函数如果今年是2015年会得到115,getfullyear()会得到完整的年份.
- BZOJ 4753 二分+树形DP
思路: 先二分答案 f[x][j]表示在x的子树里选j个点 f[x][j+k]=max(f[x][j+k],f[x][j]+f[v[i]][k]); 初始化 x!=0 -> f[x][1]=p[ ...
- D - Garden
Problem description Luba thinks about watering her garden. The garden can be represented as a segmen ...
- Python启动浏览器Firefox\Chrome\IE
# -*- coding:utf-8 -*- import os import selenium from selenium import webdriver from selenium.webdri ...