9512.net
甜梦文库
当前位置:首页 >> 数学 >>

2-函数



SECTION

2

函 数

函数的定义
标准C:
函数类型 函数名(形式参数列表) {

局部变量定义
函数体

}

C51:
函数类型 函数名(形式参数列表)[reentrant][interrupt m][

using n]

{
局部变量定义 函数体

}

[reentrant]
这个修饰符用于把函数定义为可重入函数。 所谓可重入函数就是允许被递归调用的函数。

[interrupt m]
单片机五个中断请求源 : 0:INT0—外部中断请求0。 1:定时器/计数器T0溢出中断请求。 2: INT1—外部中断请求1。 3:定时器/计数器T1溢出中断请求。 4:串行口中断请求。

[using n]
? 修饰符using n用于指定本函数内部使用的工作寄 存器组,其中n的取值为0~3,表示寄存器组号。 ? C51编程看不到这些寄存器组,不用加using n 修饰 符,由C51编译器自动选择。

函数的调用与声明
?定义:函数声明是指对所用到的函数的特征

进行必要的声明。
? 形式:类型标识符 函数名(形式参数列表);

? 功能:告诉编译系统函数类型、参数个数及类型, 以便检验。

?函数调用
max(int x, int y) 形参 { int z; z=x>y?x:y; return(z); } int main(void) { int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); 实参 printf(“max is %d",c); return 0; }

例:比较两个数并输出大 者。
c=max(a,b); max(int x, int y) { int z; z=x>y?x:y; return(z); }

?函数声明
举例:

float add(float x, float y) #include<stdio.h> { float z; float add(float x,float y); intz=x+y; main(void) 被调函数出现在 { return(z); 函数声明 主调函数 } float a,b,c; 之前,不必函数 #include<stdio.h> scanf("%f,%f",&a,&b); 声明 intc=add(a,b); main(void) { printf("sum float a,b,c; is %f",c); scanf("%f,%f",&a,&b); return 0;} c=add(a,b); float add(float x, float y) is %f",c); { printf("sum float z; return 0; z=x+y; } return(z); }

局部变量与全局变量
?局部变量---内部变量 int main(void)
float f1(int a) { int a,b; ?定义:在函数内定义,只在本函数内有效。 a=3; { int b,c; a,b,c有效 ……. ?说明: b=4; } printf("main:a=%d,b=%d\n",a,b); ? main中定义的变量只在 main 中有效。 sub(); char f2(int x,int y) ? 不同函数中可以使用相同名字的变量 ,它们 { int i,j; printf("main:a=%d,b=%d\n",a,b); x,y,i,j有效 …… 代表不同的对象 ,互不干扰。 return 0; } } ? 形参属于局部变量。 int main(void) sub() { int m,n; { int a,b; m,n有效 ……. a=6; b=7; } printf("sub:a=%d,b=%d\n",a,b); }

? 全局变量 --外部变量 int p=1,q=5;

/* 外部变量 */ float f1(int a) /* 定义函数f1 */ ?定义:在函数之外定义的变量,作用域从变量 {int b,c; 定义处到程序代码结束。 … ?说明: } ? 在C语言中,凡是声明在函数外部的变量都是 char c1,c2; /* 外部变量?*/ 外部变量。 char f2 (int x, int y) /* 定义函数f2 */ {int i,j; … } int main (void) /*?主函数?*/ {int m,n; … }

int a=10, b=5, x, y; /*全局变量*/ int max(int x, int y) { return x>y?x:y;
形参x,y 作用域

}
int c; /* 全局变量 */ void main() { int a=8; c=max(a, b); }
局部变量 a作用域 全局变量 c作用域

全局变量 a,b,x,y 作用域

printf(“%d”,c);

C51中常用的库函数
? 非本征库函数
(1)专用寄存器include文件:reg51.h中包括了 所有80C51的SFR及其位定义,reg52.h中包括了 所有80C52的SFR及其位定义,一般系统都必须

包括reg51.h或reg52.h。

(2)绝对地址include文件absacc.h:在该文件中 实际只定义了几个宏,以确定各存储空间的绝对

地址。
(3)动态内存分配函数,位于stdlib.h中。

(4)缓冲区处理函数位于“string.h”中:其中包
括复制、比较、移动等函数 。

(5)输入输出流函数,位于stdio.h中:流函数通 过80C51的串口或用户定义的I/O口读写数据,默 认为80C51串口 。

? 本征库函数
C51提供的本征函数在编译时直接将固定的 代码插入当前行,而不是用ACALL和LCALL语 句实现的,这样就大大提供了函数访问的效率。 C51的本征库函数数目虽少,但都非常有用。 使用上述函数时,源程序开头必须包含 #inclucle <intrins.h>一行。



更多相关文章:
2-2函数的基本性质-板块2.题库
f ( x) 是___(指明函数的奇偶性) 2-2 函数的基本性质.题库 page 2 of 6 好学者智,善思者康 400-810-2680 【例7】设 f ( x) 是 R 上的奇函数...
§2-1函数的概念及表示方法 教案
§2-1函数的概念及表示方法 教案_高一数学_数学_高中教育_教育专区。1. 函数设A、B是非空数集,如果按照某种确定的对应关系f,使对于集合A中的任意一个数x,在...
高等数学 2-2函数的和、差、积、商的求导法则
高等数学 2-2函数的和、差、积、商的求导法则 高等数学高等数学隐藏>> 章节题目 第二节 函数的和、差、积、商的求导法则 函数的和、差、积、商的求导法则 ...
高考高分考生数学笔记-2-函数
但与 y 轴上的垂线的分共点可能没有,也可任意个; ②函数图像一定是坐标系中的曲线,但坐标系中的曲线不一定能成为函数图像 2,常见函数图像: 1 2 ○y=f(x...
2015年高考数学真题分类汇编2 -函数
2015年高考数学真题分类汇编2 -函数_高三数学_数学_高中教育_教育专区。2015年,高考,数学真题,分类汇编,函数 2015 年高考数学真题分类汇编 2-函数 1.(15 年北京...
新课标解读2--函数的概念
世界中变量间依赖关系的重要数学模型. 本节的难点: 1.不容易认识到函数的整体性,而将函数单一地理解成函数中的对应关系,甚至认为函数就是函数值. 2.函数符号 ...
18.1-2函数的概念
18.1-2函数的概念_数学_初中教育_教育专区。_ 月_ _日 星期__ 第__周 课教目重难题学标点点 18.1-2 函数的概念 课型 新授 教时 1 1.知道函数的...
课题:3.4-2-函数的基本性质-函数的单调性
第三章 函数的基本性质 http://www.fxzx.fp.net.cn/teacher/jhw/index.htm 课 题:3.4-2-函数的基本性质-函数的单调性 1. 掌握函数单调性的概念,会判断...
2-2函数的基本性质-板块1.题库
x ? 在 D 内是增函数; 2-2 函数的基本性质.题库 page 1 of 7 好学者智,善思者康当 x1 ? x2 时都有 f ? x1 ? ? f ? x2 ? ,则 f ? x ...
1-3-2-2函数性质的应用
1.3.2.2 一、选择题 1. 已知定义域为 R 的函数 f(x)在(8, +∞)上为减函数, 且函数 f(x+8)为偶函数, 则( A.f(6)>f(7) C.f(7)>f(9)...
更多相关标签:
atan2函数    初2一次函数的图像    19.1.2函数的图像ppt    19.2.1正比例函数ppt    19.2.2一次函数ppt    matlab rgb2gray函数    sql保留2位小数的函数    二次函数y ax2 bx c    

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图