C博客作业03--函数
| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业03--函数 |
| 这个作业的目标 | 学习如何设计函数、C语言基本数据类型 |
| 姓名 | 雷正伟 |
0.展示PTA总分
1. 本章学习总结
1.1 函数定义、调用、声明
1.11 函数定义
- 函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种。例如,scanf()、printf()等为库函数,由C语言系统提供定义,编程时只要直接调用即可;而有时,我们需要一些能实现特定功能的函数,这时就需要用户自己定义,属于自定义函数。从函数实现计算功能角度来看,C语言的函数与数学上的函数概念十分接近。在C程序中必然为某一种数据类型,称其为函数类型。
函数定义的一般形式为:
函数类型 函数名(形式参数表) /*函数首部*/
{
函数实现过程 /*函数体*/
}
1.12 函数调用
- 定义一个函数后,就可以在程序中调用这个函数。在C语言中,调用标准库函数时,只需要在程序的最前面用include命令包含相应的头文件;调用自定义函数时,程序中必须有与调用函数相对应的函数定义。作为初学者的我们,充分理解函数调用与返回的实现过程,对学好函数程序设计是至关重要的。
- 所有的程序执行时首先从主函数main()开始,当遇到某个函数调用,主函数将被暂停执行,转而执行相应的函数,该函数执行完后将返回主函数,然后再从原先暂停的位置继续执行。
1.13 函数声明
- C语言要求函数先定义后调用,就像变量先定义后使用一样。如果自定义函数被放在主调函数的后面,就需要在函数调用前,加上函数原型声明(或称为函数声明)。函数声明的目的主要是说明函数的类型和参数的情况,以保证程序编译时能判断对该函数的调用是否正确。函数声明的一般格式为:
函数类型 函数名(参数表); /*函数原型声明*/
即与函数定义中的第一行函数首部相同,并以分号结束。
1.2 全局、局部变量、静态局部变量
1.21 全局变量
- 当一些变量需要被多个函数共同使用时,参数传递虽然是一个办法,但必须通过函数调用才能实现,并且函数只能返回一个结果,这会使程序设计受到很大的限制。为了解决多个函数间的变量共用,C语言允许定义全局变量。
- 定义在函数外而不属于任何函数的变量称为全局变量。全局变量的作用范围是从定义开始到程序所在文件的结束,它对作用范围内所有的函数都起作用。
- 一般情况下把全局变量定义在程序的最前面,即第一个函数的前面。
- 全局变量可以帮助解决函数多结果返回的问题,但全局变量更多地用于多函数间的全局数据表示。
- 全局变量的定义格式与局部变量完全一致,只是定义位置不在函数内,它可以定义在程序的头部,也可以定义在两个函数的中间或程序尾部,只要在函数外部即可。
1.22 局部变量
- C语言中把定义在函数内部的变量称为局部变量,局部变量的有效作用范围局限于所在的函数内部。形参是局部变量。
- 使用局部变量可以避免各个函数之间的变量相互干扰。当函数使用了同名的形参时,甚至于主函数的实参变量也同名时,由于分属不同函数,它们有各自不同的变量实体和使用范围,不会相互千扰。
- 除了作用于函数的局部变量外,C语言还允许定义作用于复合语句中的局部变量,其有效使用范围被局限于复合语句内,一般用作小范围内的临时变量。
- 局部变量一般定义在函数或复合语句的开始处,标准C规定其不能定义在中间位置。
1.23 静态局部变量
- 在局部变量前加上关键字"static",就被定义成为一个静态局部变量。静态局部变量保存在全局数据区,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值。
- 该变量在全局数据区分配内存。
- 静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化。
- 静态局部变量一般在声明处初始化,如果没有显式初始化,会被程序自动初始化为0。
- 它始终驻留在全局数据区,直到程序运行结束。但其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束。
1.3 C数据类型及注意点
1.31 C数据类型
在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间同时了解释存储的位模式。
| 序号 | 类型与描述 |
| ---- | ---- | ---- |
| 1 | 基本类型:它们是算术类型,包括两种类型:整数类型和浮点类型。 |
| 2 | 枚举类型:它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。|
| 3 | void 类型:类型说明符 void 表明没有可用的值。 |
| 4 | 派生类型:指针类型、数组类型、结构类型、共用体类型和函数类型。 |
- void类型
| 序号 | 类型与描述 |
| ---- | ---- | ---- |
| 1 | 函数返回为空:C中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如:void exit (int status)。|
| 2 | 函数参数为空:C中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如:int rand(void)。|
| 3 | 指针指向 void:类型为 void * 的指针代表对象的地址,而不是类型。 |
1.4 C运算符
-
关系运算符
-
逻辑运算符
-
算术运算符
2.综合作业:小学生口算表达式自动生成系统
2.1.模块流程图
- 一年级口算流程图