C语言带参数的函数教学教案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

else
putchar(' ');
}
void main()
{wk.baidu.com
int i;
循环执行50次
for(i=0;i<50;i++)
{
printf("%d",i);
format();
}
}
内存
i
m
4019
4129
0123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
... ... } void displayDiscount() { ... ... 全局变量:可以在整个程序中使用
}
6
变量的作用域 4-3
#include <stdio.h> void addNumbers()
内存
num1
{ int num1,num2,sum;
sum 56
printf("\n 请输入两个数:");
sum=num1+num2;
printf(" 子函数中 sum 的值是 %d \n",sum);
} void main() {
addNumbers();
请输入两个数:56 45 子函数中sum的值是101 主函数中sum的值是101
printf("\n 主函数中 sum 的值是 %d \n ",sum);
第十章 带参数的函数
1
回顾 2-1
❖ 函数是程序中的一个相对独立的单元或模块 ❖使用函数带来的好处: 程序更清晰、易维护、分
模块方便设计与开发、提高代码的重用性 ❖ C语言提供了极为丰富的内置函数,要使用这些
内置函数,需要在程序前包含相应的头文件 ❖ 自定义函数是用户在程序中根据需要而编写的函

2
}
8
局部变量小结
❖ 局部变量是在函数内作定义说明的变量,其作用域仅限 于函数内,离开该函数后再使用这种变量是非法的。
❖ 主函数中定义的变量也只能在主函数中使用,不能在其 他函数中使用。同时主函数中也不能使用其他函数中定 义的局部变量。
❖ 形参变量是属于被调函数的局部变量,实参变量是属于 主调函数的局部变量。
}
主函数中sum的值是 0
7
变量的作用域 4-4
#include <stdio.h>
内存
int sum=0;
num1
void addNumbers() {
sum 56
int num1,num2; printf("\n 请输入两个数:");
scanf("%d %d",&num1,&num2);
101 num2 45
回顾 2-2
❖ 函数的结构包括:返回值类型、函数名、参数列 表、函数体
❖ 函数原型说明以便向编译器指出该函数使用什么 样的格式和语法
❖ 函数调用时程序控制流将转向被调函数,被调函 数执行结束时,控制流返回主调函数
❖return 语句用于向调用函数返回值
3
变量的作用域 4-1
限于陆地
限于海洋
限于空中
作用域是某些事物起作用或有效的区域。
5
变量的作用域 4-2
❖ 程序中变量也有不同的使用范围,称为变量的作用域。变 量的作用域决定变量的可访问性
void displayDiscount() {
float discount_amt; ... ... ... }
局部变量:不能在函数外使用
float discount_amt; void main() {
将会输出什么
15
请输入两个数 : 3_4 56
递增前的值是 34 和 56
传值调用示例
调用函数
#include <std子io函.nh数>um中1的值是 35 和 57
❖ 允许在不同的函数中使用相同的变量名,它们代表不同 的对象,分配不同的内存单元,互不干扰。
9
全局变量小结
❖ 全局变量是在函数外部定义的变量,它不属于哪一个函数,而是属于 一个源程序文件。其作用域是整个源程序。
❖ 不是所有全局变量都可以直接使用,只有定义在该函数之前的全局变 量,才能在该函数中使用。
13
函数形参和实参
void main ( )
{ ... ...
实际参数
display ( 10, 20.5 );
}
函数调用
display ( int num, float fraction )
{
...
...
形式参数
}
14
传值调用
传值调用
void main() {
int a = 0; //初始化a值为0 func(0a); //调用函数func printf("%d",a); //输出a的结果 } //定义函数func void func(int a) { a = 10; //让参数a等于10 }
定义该变量的函数内使用该变量 ❖ 对基本类型的静态局部变量若在说明时未赋以初
值,则系统自动赋予0值 ❖ 函数被调用时,其中的静态局部变量的值将保留
前次被调用的结果
12
静态局部变量示例
void format()
{
static int m = 0;
m++;
if (m % 10 == 0)
putchar('\n');
10
存储类型 2-1
❖ 变量的存储方式可分为“静态存储”和“动态存储”两 种
❖ 静态存储变量是一直存在的,而动态存储变量则时而存 在时而消失
❖ 这种由于变量存储方式不同而产生的特性称为变量的生 存期
❖ 生存期表示了变量存在的时间
11
静态局部变量
❖ 静态局部变量生存期为整个源程序 ❖ 静态局部变量作用域与自动变量相同,即只能在
❖ 如果同一个程序的多个函数都操纵同一个变量,全局变量会比较有用。 ❖ 外部变量可加强函数模块之间的数据联系,但是又使函数要依赖这些
变量,使得函数的独立性降低。从模块化程序设计的观点来看这是不 利的,因此在不必要时尽量不要使用全局变量。 ❖ 在同一个源文件中,允许全局变量和局部变量同名。在同名的局部变 量的作用域中,全局变量不起作用。
0 num2
scanf("%d %d",&num1,&num2);
sum=num1+num2;
45
printf(" 子函数中 sum 的值是 %d \n",sum); } void main()
sum 101
{
int sum=0;
addNumbers();
请输入两个数:56 45
printf("\n 主函数中 sum 的值是 %d \n ",sum子); 函数中sum的值是101
相关文档
最新文档