一、函数的基本知识
3、函数调用
在准备使用函数的时候,执行“函数名(参数)”,就调用了函数体的语句。
3-1、有参的函数在定义时使用的参数叫形参,当调用此函数时需要传入的参数就是实参。
函数就是一系列语句的组合,通常由返回值、形参、函数体组成;
函数的使用步骤分为三个步骤:声明、定义、调用。
1、函数定义
1-1、描述函数功能的代码称为函数定义,函数定义的通用形式:
类型 函数名(参数列表)
{
申明语句
}
例如:
int sum(int i, int j)
{
int sum;
sum = i + j;
return sum;
}
1-2、(参数列表)里面的参数称为形参;
1-3、如果一个函数不返回任何值,那么它的类型就是void;
1-4、如果一个函数没有定义返回值类型,编译器默认其返回值类型为int,但是最好显示的指明函数的类型;
1-5、函数内部声明的变量称为局部变量,它只在函数内部有效,函数调用结束后就会销毁;
1-6、return语句用来返回函数的执行结果,可以包含表达式,也可以不包含表达式,当遇到rerurn语句是,函数的执行便告终止,并将控制返回给调用环境,如果return语句包含了表达式,那么这个表达式的值将传递给调用环境;
1-7、在必要的情况下,return语句的返回值类型会转换成函数定义所指定的类型。
2、函数的声明
2-1、函数在使用之前需要进行声明,ANSI C提供一种函数声明语法,称为函数原型,函数原型告诉编译器这个函数所接受的参数的数量和类型,以及该函数的返回值的类型。
函数的声明形式如下:
返回值类型 函数名(参数列表);
例如:
int sum(int i, int j);
其中标示符可以省略,等价于int sum(int, int)
2-2、由于编译器从上到下执行代码,所以下面的代码调用上面的函数,不需要声明,但上面的代码调用下面的函数,就必须声明。
2-2、由于编译器从上到下执行代码,所以下面的代码调用上面的函数,不需要声明,但上面的代码调用下面的函数,就必须声明。
3、函数调用
在准备使用函数的时候,执行“函数名(参数)”,就调用了函数体的语句。
3-1、有参的函数在定义时使用的参数叫形参,当调用此函数时需要传入的参数就是实参。
3-2、调用函数时,需要函数的执行结果,这时就需要返回值类型标识结果的类型,函数体内部需要使用return关键字,标识具体的函数结果(返回值)。
3-3、如果函数有返回值,当调用函数时,通常会使用变量接收返回值。
3-4、如果函数执行后,不需要结果,就定义函数的返回值类型void(空),也就不需要return关键字。
3-4、如果函数执行后,不需要结果,就定义函数的返回值类型void(空),也就不需要return关键字。
3-5、如果执行函数需要参照一些特定的条件,就可以使用参数,如果有多个参数,之间用分隔符","。
3-6、使用参数的时候,相当于实参传递值给形参,如果需要将声明的变量传递给形参,此时传递给形参的值是变量的一份拷贝,并不是变量本身,这也称为值传递;
3-6、使用参数的时候,相当于实参传递值给形参,如果需要将声明的变量传递给形参,此时传递给形参的值是变量的一份拷贝,并不是变量本身,这也称为值传递;
3-7、关于return与exit(0) 两个关键字:
exit(0)是一个函数,用于退出整个程序,需要包含一个stdlib.h;
return 可以做为返回值的关键字,终止当前函数的继续执行。
return 可以做为返回值的关键字,终止当前函数的继续执行。
二、变量的作用域