C语言函数知识点总结
- 格式:docx
- 大小:17.63 KB
- 文档页数:9
函数
本章重点:
函数的定义和调用;
函数间的数据传递方式;
嵌套调用和递归调用;
变量的作用域和存储类别;
模块化程序设计方法。
本章难点:
形参与实参的意义、作用与区别;
参数的两种传递方式;
对递归函数调用过程的理解;
全局变量和局部变量的作用。
//函数相关内容:
*语法:包括定义,声明,调用,
*语义
语句包括:表达式语句,空语句,控制语句,复合语句,函数调
用语句
函数:*函数首部:包括返回值类型,函数名,形参
*函数体
*函数调用的过程:*开辟空间(形参,函数的局部变量)
*把实参送给形参
*执行函数
*释放空间
1.函数其实就是一段可以重复调用的、功能相对独立完整的程序段。
2.主函数可以调用其他函数,其他函数也可以互相调用。
3.一个C程序必须有一个且只能有一个main函数,无论main 函数位于程序
的什么位置,运行时都是从main函数开始执行的。
4.函数不能嵌套定义,也就是说一个函数不能从属于另一个函数。函数之
间可以互相调用,但是任何函数不能调用main函数,main函数是被操作系
统调用的。
5.函数的分类:
(1)从用户角度看:库函数、用户自定义的函数
(2)从形式:无参函数、有参函数
6.函数定义即函数的实现,是对所要完成功能的操作进行描述的过程,包
括函数命名和返回值类型声明、形式参数的类型说明、变量说明和一系
列操作语句等。
函数和变量一样,必须“先定义,后使用”
7.函数定义应包括以下内容:
函数的名字、返回值的类型。函数参数的类型和名字,无参函数不需要
指定。指定函数的功能
8.在函数体中,声明部分是对函数内部所用到的变量的类型说明,并对要
调用的函数进行声明。
9。定义有参函数的一般形式为:
类型标识符函数名(形式参数表列)
{
声明部分;
语句;
}
10.在C语言中,可以用以下几种方式调用函数
(1)函数表达式
函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式
的运算。这时要求函数是有返回值的。
例如:y=sin(x);
(2)函数语句
函数调用的一般形式加上分号即构成函数语句。
例如:printf("%d",a);
这种方式通常只要求函数完成一定的操作,不要求函数带回值。
(3)函数实参
这种方式是函数作为另一个函数调用的实际参数出现,也就是把该函
数的返回值作为实参进行数据传送,所以要求该函数必须是有返回值
的。
例如:printf("%d",max(a,b));
11.实参:可以是常量、变量和表达式。
12.只有在发生函数调用时,才给形参分配单元,并且赋值,一旦函数调
用结束后,形参所占的内存单元又被释放掉。
13.在调用函数过程中发生的实参与形参间的数据传递是“值传递”,只
能由实参向形参传递数据,是单向传递,不能由形参传给实参。
14.声明的作用是把函数的返回值类型、函数名、函数参数的个数和类型
等信息通知编译系统,以便在遇到函数调用时,编译系统能识别该函
数并检查调用是否合法
15.函数的声明方法:
(1)只说明函数的类型,这称为简单声明。int min() ;
(2)不仅说明函数的类型还要说明参数的个数和类型,这称为原型声明。
int min(int x,int y);
16.数组名作函数参数时,形参数组和实参数组为同一数组,共同拥有一段
内存空间。
17.数组元素不能用作形参,因为形参是在函数调用时临时分配内存存储
单元的,不能为一个数组元素单独分配存储单元。
18.变量的有效范围(作用域)
19.局部变量也称为内部变量,是在函数内或函数的复合语句内定义说明
的。
20.全局变量也称为外部变量,它是在函数外部定义的变量,位置在所有
函数前、各个函数之间或所有函数后。
*其作用域是从定义变量的位置开始到本源文件结束。
*设置全局变量的作用是可以增加各个函数之间的数据传输渠道。
21.变量的完整说明为:
存储类型数据类型变量名表列;
例如:
auto int x,y;
22.C语言变量的存储方式可以分为动态存储方式和静态存储方式。
23.动态存储方式:
(1)自动变量(auto变量)
(2)寄存器变量(register变量)
(3)形式参数
24.静态存储方式:
(1)静态局部变量(static局部变量)
其语法格式为:
static 类型标识符变量名;
例如:static int f;
(2)全局变量(全局变量赋初值也是在编译时完成的,且仅执行一次赋初值
的操作。)
不能用extern来初始化外部变量。
(3)静态外部变量
25.一般为了叙述方便,把建立存储空间的变量声明称定义,而把不需要
建立存储空间的声明称为声明
26.在函数中出现的对变量的声明(除了用extern声明的以外)都是定义。
例如:extern int x=25; //错误
*外部变量