c++基础入门自学笔记总结2---C++入门(中)

好的,不说废话赶紧开始函数的总结

函数

作用:将一段经常使用的代码封装起来,减少重复代码

一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。

函数的定义一般有5个步骤:

返回值类型 :一个函数可以返回一个
函数名:给函数起个名称
参数列表:使用该函数时,传入的数据
函数体语句:花括号内的代码,函数内需要执行的语句
return表达式: 和返回值类型挂钩,函数执行完后,返回相应的数据

例:定义一个加法函数,实现两数相加

1.返回值类型      ==>    int
2.函数名             ==>    add
3.参数列表          ==>    (int num1,int num2)
4.函数体语句      ==>     int sum=num1+num2;
5.return表达式    ==>     return sum;

语法:
返回值类型 函数名 (参数列表)
{
函数体语句
return 表达式
}

例:int add(num1,num2)

{

int sum=num1+num2;

return sum;

}

函数的常见样式
1.无参无返
2.有参无返
3.无参有返
4.有参有返

//当函数无返回值时数据类型可以用void代替,无类型不可以创建变量,因为无类型无法分配内存

例:

 

函数的调用
语法:

函数名(参数)
在main函数中调用函数
例:int c=add(a,b);
a,b为实际参数(调用函数时输入到括号内的值),简称实参
函数中的参数为形式参数(原函数括号内的参数列表),简称形参
当调用函数的时候,实参的值会传递给形参

例:调用相加函数

 

输出结果如下:

 

 

值传递
所谓值传递,就是函数调用时实参将数值传入给形参
值传递时,如果形参发生,并不会影响实参

理解上面这句话时可以用交换函数来运行。

 

 输出结果如下:

可以发现在输入swap函数前,a=10,b=20

将数据输入函数后输出结果任然为a=10,b=20

实参的值并没有发生互换

可以简单画一个示意图来理解

 

 在进行swap函数进行互换时其实只有函数内的形参,即num1,num2进行了互换,而实参a,b并没有发生值互换,即值传递时,形参是修饰不了实参的

函数的声明
作用:告诉编译器函数名称及如何调用函数。
函数的实际主体可以单独定义

一般定义一个函数时我们习惯把函数放在main函数的上面,但一旦我们将函数的定义放在main函数后面时程序就无法运行,如下:

 

 

那么是否函数定义就不能放在后面了呢?

当然不是,不过要实现这一目的就必须运用到函数的声明了。

如下:

 

 

 

 这样就可以正常输出了。

即当前面有函数的声明时,函数可以写在main函数后面

而且函数的声明可以多次,但是函数的定义只能有一次

 

 可以重复写函数的声明,任然可以输出正常结果

 

 但是函数的定义只能有一次,否则便无法正常输出结果。

 

 

 

函数的分文件编写
作用:让代码结构更加清晰
步骤:
1.创建后缀名为.h的头文件
2.创建后缀名为.cpp的源文件
3.在头文件中写函数的声明
4.在源文件中写函数的定义

首先创建一个后缀名为.h的头文件,然后在头文件中写函数的声明

 

 其次创建一个后缀名为.cpp的源文件,然后在源文件中写函数的定义

 

 最后就可以在加入头文件后在main函数中直接引用相关函数

 

 

 //不要忘记得添加对应的头文件才能引用函数

今天的函数总结就到这,明天我们再进行指针的总结。

 

 

 

 

 

 

 

posted @ 2022-09-17 09:38  书文阁下  阅读(48)  评论(0编辑  收藏  举报