函数的定义和调用

阅读量: 239 编辑

函数有自己的语法结构,必须按照这种结构写才可以。

返回值类型  函数名(参数列表){

	函数体;
    
	return 值;
}

一、返回值类型

也叫数据类型,就是使用这个函数的时候,期望得到的结果。

类型可以是 intfloatdouble等,也可以说 void 类型。void类型指的是,也就是不需要结果。

所以,如果是int等类型,函数需要有返回值 return 值,这个值要和返回值类型一致。

如果是 void,不需要有返回值,可以不写return,或者写 return ;

int qiuHe(int x, int y){//求和,这个函数需要返回求和结果
	int a = x + y;
    return a;
}

void shuChu(){//输出内容,这个函数不需要返回值
    
}

二、函数名

函数名和变量名类似,就是一个标识符(由字母、数字、下划线组成)。函数名和变量名要能准确的表达我们需要的功能,这样别人使用这个函数的时候,就知道它的干嘛的了。

三、参数列表

指的是参数类型和个数。也就是我们使用这个函数(功能)的时候,需要提供的东西。

比如计算两个数字的和,你要提供两个数字才能计算。这两个数字就是参数列表。

void shuChu() //无参函数

int qiuHe(int x, int y) //x和y就是参数

函数如果有多个参数,要用,隔开。当然函数也可以没有参数,也就是小括号()中是空的,不写任何东西。

有参数列表的函数可以叫做有参函数,无参数列表的函数可以叫做无参函数

四、函数体

函数体就是要执行的代码,用{}包含起来。函数体的代码执行过程就是完成任务的过程。如果没有函数体,那么这个函数就是一个空函数。

int qiuHe(int x, int y){//求x到y之间所有数字的和
	int a = 0;
    for(int i = x; i <= y; i++){
        a = a + i;
    }
    return a;
}

在函数体中,可以混合使用 iffor 等结构体,以此来完成对应的代码逻辑。

五、返回值

返回值就是这个函数最终产出的结果,用return 值的形式表示。

如果函数的返回值类型是void,那么可以不写return;如果返回值是其他类型,就必须写return 值

int qiuHe(int x, int y){//求x到y之间所有数字的和
    
    // 如果 x >  y
    if(x > y){
        cout << "x不可以大于y" << endl;
        return -1;	//遇到return程序会终止
    }
    
    // 如果 x <= y 那么执行下方语句
	int a = 0;
    for(int i = x; i <= y; i++){
        a = a + i;
    }
    return a;
}

一个函数中可以有多个return语句,但是只能执行一个,一旦执行了return,那么函数的执行就结束了。

六、函数定义的位置

函数需要在使用之前定义。

各个函数是独立定义的,不能在一个函数中定义另外一个函数,也就是说函数是不能嵌套定义。

七、函数的调用

函数的调用就是使用这个函数。调用的语法是:

函数名(参数列表); //没有返回值类型的函数调用
    
数据类型 变量名 = 函数名(参数列表);//有返回值类型的函数调用

函数调用案例

int main(){
	int a = qiuHe(100, 200);//调用 qiuHe 函数
	cout << "求和:" << a << endl;
	return 0;
}

调用时的参数列表要和函数定义的时候参数保持一致。

如果函数有返回值,那么可以把返回值赋值给一个自己定义的变量。当然不写也可以正常运行,那就失去了返回值的意义了。

八、函数的作用域

在函数内定义的变量,它的作用域只属于这个函数,超过了这个范围就是不可访问的。

比如main函数中定义的变量,在main函数之外不能访问。对于全局的变量和常量,在任何函数中都可以使用。

爱码岛编程公众号
微信扫码关注
爱码岛编程小程序
微信扫码打开
苏ICP备13052010号
©2023 南京匠成信息科技有限公司