随笔 - 110,  文章 - 0,  评论 - 0,  阅读 - 18416

自定义函数的目的 :

将代码封装起来,实现快速重复使用。

函数定义的步骤:

1: 函数类型 (比如 int ,float,void(无类型,当不需要返回值时使用)

2 :函数名

3 : 参数列表 (形参)

4 :函数体语句(函数表达式)

5:return 表达式;

1 返回值类型 函数名 (参数列表)
2 {
3 
4        函数体语句
5 
6        return表达式
7 
8 }
  • 返回值类型 :一个函数可以返回一个值。在函数定义中
  • 函数名:给函数起个名称
  • 参数列表:使用该函数时,传入的数据
  • 函数体语句:花括号内的代码,函数内需要执行的语句
  • return表达式: 和返回值类型挂钩,函数执行完后,返回相应的数据

需要返回值函数举例 :

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 int a(int n1, int n2)
 4 {
 5     
 6     
 7         int sum = n1 + n2;
 8         return sum;
 9  /*假如不是sum,而是n1,或者其他的数(比如0)结果输出则会是n1或者其他的数,这个代表函数的输出值 */
10     
11 }
12 int main()
13 {
14     int n1 = 52;
15     int n2 = 25;
16     int b = a(n1, n2);
17     cout << b;
18 }
复制代码

当返回 sum时结果 :

 

 

 当返回 n1时结果:

 

不需要返回值函数举例 :

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 void a(int n1, int n2)
 4 {
 5     int c = n1;
 6     cout << "交换前n1为" << n1  << "," << "交换前n2为" << n2 << endl;
 7     n1 = n2;
 8     n2 = c;
 9     cout << "交后n1为" << n1 << "," << "交换后前n2为" << n2 << endl;  
11 }
12 int main()
13 {
14     int n1 = 52;
15     int n2 = 25;
16     a(n1, n2);
17 }//当没有返回值时函数会自动函数执行完后的n1,n2
复制代码

 

 

 

总结:函数定义里小括号内称为形参,函数调用时传入的参数称为实参

 

 

值传递本质

用户输入实参传递给形参时,本质上是把实参赋值给形参,所以当函数内部进入函数体表达式运算使得形参发生改变时,实参不会发生改变。

 

 

 

函数的常见样式 :

无参无返 :

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 void a()
 4 {
 5     cout << " this is a " << endl;
 6 }
 7 int main()
 8 {
 9     a();
10 }
复制代码

 

 

 有参无返 :

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 void a(int b)
 4 {
 5     cout << " this is b " << b <<  endl;
 6 }
 7 int main()
 8 {
 9     a(200);
10 }
复制代码

 

 

 无参有返 :

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 int a()
 4 {
 5     cout << " 这是无参有返的" << endl; //可去掉,只是标识一下
 6     return 10000;
 7 }
 8 int main()
 9 {
10    int b = a();
11    cout << "b = " << b << endl;
12 }
复制代码

 

 

 有参有返 :

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 int a(int b )
 4 {
 5     cout << " 这是有参有返的" << endl;
 6     return b;
 7 }
 8 int main()
 9 {
10    int c = a(65);
11    cout << "c = " << c << endl;
12 }
复制代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

函数的声明与定义:

复制代码
 1 #include <iostream>
 2 using namespace std;
 3 int a(int b);//这是函数声明,是告诉系统有这个函数,不要报错,只能写在需要输入实参的函数前面,可以重复声明
 4 int main()
 5 {
 6    int c = a(65);
 7    cout << "c = " << c << endl;
 8 }
 9 int a(int b)
10 {
11     cout << " 这是有参有返的" << endl;
12     return b;
13 }//函数定义,定义函数执行的步骤与方式,函数定义可以放在任意的地方,即使这里也行,只能出现一次
复制代码

同一函数的声明可以写多次,定义只能出现一次

 

函数的分文件编写:

意义:减少文件主体的代码量,方便阅读

步骤 1

 

 

 

在头文件中选择创建后缀为.h的新项目,然后在里面写函数声明 :

 

 

 步骤二 :

创建后缀为 .cpp 的源文件然后在里面写函数定义

 

 步骤三 :

在正式文件中引用:

 

posted on   在野武将  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示