- 4
- 0
- 约3.16千字
- 约 54页
- 2020-02-29 发布于山西
- 举报
4.5 变量的类型 【例4.16】用extern将外部变量的作用域扩展到其他文件。 (2)在多个文件的程序中声明外部变量 4、用extern声明外部变量(扩展外部变量的作用域) 4.5.2 变量的存储类别 void main( ) 4.5 变量的类型 5、用static声明静态外部变量(缩小外部变量的作用域) 4.5.2 变量的存储类别 void main( ) 4.6 内部函数和外部函数 4.6 内部函数和外部函数 void main( ) *4.7 嵌入式中断服务函数 *4.7 嵌入式中断服务函数 利用MCU定时器中断实现每隔200ms切换指示灯的状态,其示意代码: 定时时间200ms到来时,CPU将主动执行定时中断服务函数,而不是被主函数调用。显见,中断服务函数与一般的子函数不同,一般的函数是被其他函数所调用而被动执行,如代码中的light_change函数是被定时中断服务函数调用的。 赠送结构内容 章末优化总结 知识网络构建 章末综合检测 知识网络构建 4.3 函数的调用 4.3.1 函数的一般调用 4.3 函数的调用 1、函数的一般调用形式 4.3.1 函数的一般调用 4.3 函数的调用 【例4.1】函数的一般调用:求两个数的最大值。 4.3.1 函数的一般调用 1、函数的一般调用形式 c=max(a, b); (main函数) void main( ) 4.3 函数的调用 2、关于函数调用时“参数传递” 的几点说明 4.3.1 函数的一般调用 形参: x 4.3 函数的调用 函数调用时 被调函数执行时 实参: a 1 b 3 y 1 3 2 4 【例4.2】函数参数传递。 2、关于函数调用时“参数传递”的几点说明 4.3.1 函数的一般调用 void main( ) 4.3 函数的调用 3、函数的值 4.3.1 函数的一般调用 4.3 函数的调用 4、对被调函数的声明 在被调函数首部的基础上加一分号 4.3.1 函数的一般调用 4.3 函数的调用 4、对被调函数的声明 4.3.1 函数的一般调用 提倡使用 void main( ) void main( ) void main( ) 4.3 函数的调用 4.3.2 函数的嵌套调用 4.3 函数的调用 程序代码请链接:例4_3.c 4.3.2 函数的嵌套调用 【例4.3】函数的嵌套调用: 加、减、乘、除四则运算。 void main( ) 4.3 函数的调用 4.3.3 函数的递归调用 4.3 函数的调用 显然,这是一个递归问题,分回推和递推两个过程: 上述过程,可用数学公式表述: 4.3.3 函数的递归调用 4.3 函数的调用 【例4.5】用递归方法计算n的阶乘n! 用递归方法计算n!,可用公式表示: 4.3.3 函数的递归调用 4.4 数组作为函数参数传递 4.4.1 数组元素作函数实参 【例4.6】数组元素作函数实参:根据学生课程成绩,判断考试结果。 void main( ) 4.4 数组作为函数参数传递 4.4.2 数组名作为函数参数 4.4 数组作为函数参数传递 【例4.7】数组名作为函数的实参和形参。 4.4.2 数组名作为函数参数 void main( ) 4.4 数组作为函数参数传递 【例4.8】数组名作为函数的参数,编写冒泡法和选择法排序程序(由小到大)。 程序代码请链接:例4_8.c 4.4.2 数组名作为函数参数 4.5 变量的类型 4.5.1 局部变量和全局变量 1、局部变量 void main( ) 4.5 变量的类型 2、全局变量 4.5.1 局部变量和全局变量 void main( ) 【例4.9】输入正方体的棱长,输出其表面积和体积的大小。 4.5 变量的类型 2、全局变量 4.5.1 局部变量和全局变量 void main( ) 4.5 变量的类型 【例4.10】外部变量与局部变量同名。 2、全局变量 4.5.1 局部变量和全局变量 void main( ) 【例4.11】考察全局变量和局部变量的系统默认初值。 4.5 变量的类型 2、全局变量 4.5.1 局部变量和全局变量 void main( ) 4.5 变量的类型 4.5.2 变量的存储类别 4.5 变量的类型 1、用auto声明动态局部变量 4.5.2 变量的存储类别 4.5 变量的类型 2、用static声明静态局部变量 【例4.12】考察静态局部变量的值。 可见,变量a、b在三次函数调用时和函数调用结束时值的变化情况: 4.5.2 变量的存储类别 void main( ) 4.5 变量的类
原创力文档

文档评论(0)