0.展示PTA总分
1.本章学习总结
1.1 学习内容总结
1.函数的定义
(1)函数是一个完成特定工作的独立模块,包括库函数和自定义函数两种。库函数由C语言系统提供定义,编程时直接调用即可;自定义函数需要用户自己定义。
(2)函数定义的一般形式为:
函数类型 函数名 (形式参数表)/*函数首部*/
{
函数实现过程 /*函数体*/
}
注:函数首部后面不能加分号,它和函数体一起构成完整的函数定义。
形参表不能写成 double r,h。
例:
```
int gcd(int m, int n)
{
int i;
int temp;
if (m < n)
{
temp = m; m = n; n = temp;
}
for (i = n; i >= 1; i--)
{
if (m % i == 0 && n % i == 0)
{
break;
}
}
```
2.函数的调用
(1)函数调用过程:任何C程序执行,首先从主函数开始,如果遇到某个函数调用,主函数被暂停执行,转而执行相应的函数,该函数执行完后将返回主函数,然后在从原先暂停的位置继续执行。
(2)函数调用形式:函数名 (实际参数表)(实际参数可以是常量、变量和表达式。)
对于实现计算功能的函数,函数调用通常出现在两种情况下:
a.赋值语句
volume=cylinder(radius,height);
b.输出函数的实参
printf("%f",cylinder(radius,height));
(3)参数传递
a.函数定义时,位于其首部的参数称为形参。主调函数的参数被称为实参。
b.程序运行遇到函数调用时,实参的值依次传给形参,这就是参数传递。
c.形参必须是变量;实参可以是常量变量或表达式。
d.形参与实参一一对应,数量应相同,顺序应一致。
(4)函数结果返回
a.形式:return 表达式;
b.return语句作用:一是结束函数的运行,二是带着运算结果返回主调函数。
c.return语句只能返回一个值。
(5)函数原型声明
a.一般格式:函数类型 函数名 (参数表);
b.函数声明是一条C语句,而函数定义时的函数首部不是语句,后面不能跟分号。
c.如果在调用函数前,既不定义,也不声明,程序编译时会出错。
3.不返回结果的函数
(1)函数定义:
void 函数名 (形参表)
{
函数实现过程
}
例:
、、、
void count_sum(int a, int b)
{
int count;
int sum;
count = 0;
sum = 0;
for (a; a <= b; a++)
{
if (is(a))
{
count++;
sum = sum + a;
}
}
printf("count = %d, sum = %d", count, sum);
}
、、、
(2)在不返回结果的函数定义中,void不能省略;否则,函数类型被默认定义为int。
4.局部变量和全局变量
(1)局部变量
a.C语言中把定义在函数内部的变量称为局部变量。
b.局部变量的有效作用范围局限于所在函数内部。
c.局部变量一般定义在函数或复合语句的开始处,标准C规定不准定义在中间位置。
(2)全局变量
a.定义在函数外而不属于任何函数的变量称为全局变量。
b.全局变量的作用范围从定义开始到程序所在文件的结束。
c.一般情况下把全局变量定义在程序的最前面,即第一个函数的前面。
5.变量生存周期和静态局部变量
(1)变量生存周期
a.变量从定义开始分配存储单元,到运行结束存储单元被收回,整个过程称为变量生存周期。
b.全局变量的生存周期为整个程序执行周期。
(2)静态变量
a.定义格式:static 类型名 变量表
b.静态变量赋初值只在第一次调用时起作用,若没有赋初值,系统将自动赋0。
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
1.代码逐渐变得复杂,代码量逐渐增大。
2.上课讲的有点快,感觉跟不上节奏。
3.对函数调用理解还不是特别清楚。
4.函数名逐渐变多了。
1.2.2 代码累计
综合作业
题目:小学生口算表达式自动生成系统
2.本次作业的函数关系图