0.展示PTA总分
1.本章学习总结
- 函数的功能:
- 接收数据。
- 对接收的数据进行处理。
- 将数据处理的结果返回或者不返回。
- 函数的声明
- 如果函数的定义在函数的调用的后边则要进行函数声明,如果函数的定义在函数调用之前则不用声明。
- 函数声明如下:
int max(int a,int b);
- 函数的定义
函数类型 函数名称 (形式参数)
{
语句1;
语句2;
……
}
- 函数的调用
函数名 (实际参数表)
- 函数调用通常用于赋值语句和输出函数的实参。
- 一个函数调用另一个函数所具备的条件
- 首先被调用的函数必须是已经存在的函数。
- 如果使用自己定义的函数,而且该函数与使用它的函数在同一文件中,一般还应该在主调函数中对被调函数做声明。
- 如果已在所有函数定义之前,在函数的外部已经做了声明,则在各个主调函数中不必过多对所调用函数做声明。
- 需要注意的地方
- 函数不可以嵌套定义,但是可以嵌套调用。
- 函数名必须是由字母、数字、下划线组成,但只能由字母开头。
- 函数的类型和参数类型可以是其他类型,比如float,double型等,函数的类型还可以是void型,这种类型的函数不需要return语句返回值。
- 库函数由系统提供,包含相应的头文件,即可调用,比如printf函数和scanf函数,在包含了stdio.h头文件后就可以使用,而自定义函数是我们自己创造的函数。
- 形参和实参
- 实参可以是常量、变量或者表达式。
- 形参必须是变量,用于接受实参传递过来的值。
- 实参和形参必须一一对应,两者数量相同,类型尽量一致。
- 实参变量对形参变量的数据传递是“值传递”,即单向传递,只有实参传递给形参,而不能形参传递给实参。
- 在定义函数中指定的形参,在未出现函数调用时,不占用内存中的储存单元,只有发生调用时,才会分配内存。
- 函数的返回值
- 函数类型为void,表示不返回结果。
- 函数的返回值通过函数中的return语句获取。
- 如果函数值的类型和return语句中的表达式不一样,则以函数类型为准。
- 在不返回结果的函数定义中,void不能省略,否则函数类型被默认为int。
- 局部变量
- 定义在函数内部的变量称为局部变量,其有效范围局限于所在函数内部。
- 使用局部变量可以避免各个函数之间的变量相互干扰。
- 作用于复合语句中的局部变量,其有效范围被局限于复合语句内,一般用作小范围内的临时变量。
- 全局变量
- 定义在函数外而不属于任何函数的变量称为全局变量。
- 一般情况下把全局变量定义在程序的最前面,即第一个函数前面。
- 当某函数的局部变量与全局变量同名时,在该函数中全局变量不起作用,而由局部变量起作用。
- 全局变量的作用范围是从定义开始到程序所在文件的结束,它对作用范围内所有的函数都起作用。
- 全局变量虽然可以用于多个函数之间的数据交流,但一般情况下,应尽量使用局部变量和函数参数。
1.2本章学习体会及代码量学习体会
1.2.1学习体会
- 学习了本章函数,更让我深入了解到学习C语言主要是靠自己的逻辑思维通过一些关键字,语法和库函数来组织或构造一个完整的函数,所以锻炼我们的抽象逻辑思维能力特别重要,要想提高自己的编程能力,以我目前的代码量是远远不够的,还需要坚持反复勤加练习。
- 这两周代码量为1200行左右。
2.综合作业
2.本次作业的函数关系图
3.函数功能及全局变量介绍
-
Welcome()函数
-
IntoMemu()函数
-
GetCalculation()函数
-
主函数
3.1全局变量
3.2ListMenu()函数
4.运行结果截图,测试用例
5.大作业总结
- 我感觉这次大作业对我来说很复杂,因为我完全没有思路,真的不会写,写的时候完全不知道要做什么,感觉无从下手,特别地绝望,肯定是我水平不够,没有一点编程基础。造函数的时候思路很混乱,制造了几个函数后面却不知道有什么用,感觉没有一点逻辑思维。然后,我花了大量时间却未能完成本次作业,效率非常低,质量也很差,也说明了我的基础真的很差,代码量远远不够。通过这次大作业我也明白了自己编程的薄弱,更需要花更多的时间来学习。![]