0基础学C++ | 第06天 | 基础知识 |函数| 函数调用 | 值传递 | 函数声明 | 函数分文件

前言

这是在B站自学c++整理的笔记,欢迎大家一些学习讨论,前面已经记到了数组0基础学C++ | 第05天 | 基础知识 |一维数组| 二维数组 | 小猪称重 | 冒泡排序 | 数组元素逆置 | 考试成绩统计-CSDN博客,现在是C++中函数的定义以及调用等,视屏链接:50 函数-函数的定义_哔哩哔哩_bilibili

函数的定义

 函数的作用:

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

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

函数的定义:

函数的定义一般分为5步骤:

1、返回值类型        (一个函数可以返回一个值,在函数定义中)

2、函数名        (给函数起一个名)

3、参数列表        (使用该函数时,传入的数据)

4、函数体语句        (花括号内的代码,函数需要执行的语句)

5、return 表达        (和返回值类型挂钩,函数执行完后,返回相应的数据)

语法:

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

{

        函数体语句;

        return 表达式;

} 

#include <iostream>
using namespace std;

//函数的定义语法:返回值类型 函数名(参数列表){函数体语句 return 表达式}
int add(int num1,int num2)
{
    int sum = 0;
    sum = num1 + num2;
    return sum;
}

int main()
{
    system("pause");
    return 0;
}

函数的调用

功能:使用定义好的函数

语法:函数名(参数

​#include <iostream>
using namespace std;

//函数的定义语法:返回值类型 函数名(参数列表){函数体语句 return 表达式}
int add(int num1,int num2)
{
    int sum = 0;
    sum = num1 + num2;
    return sum;
}

int main()
{
    //main函数中调用add函数
    int a = 10; //a b 是实际参数,简称实参,当函数调用的时候,实参的值会传递给形参num1 num2
    int b = 20;

    //函数调用 :函数名(参数)
    int  c = add(a, b);
    cout << "c = " << c << endl;
    system("pause");
    return 0;
}

值传递

值传递就是函数调用时实参将数值传入给形参

值传递时,如果形参发生变化,并不会影响实参

​​#include <iostream>
using namespace std;

//值传递
//如果函数不需要返回值,声明的时候可以用void
void swap(int num1,int num2)  //定义一个交换函数
{
   int temp = num1;
    num1 = num2;
    num2 = temp;
}
int main()
{
    //main函数中调用add函数
    int a = 10; //a b 是实际参数,简称实参,当函数调用的时候,实参的值会传递给形参num1 num2
    int b = 20;

    //函数调用 :函数名(参数)
    swap(a, b);
    
    system("pause");
    return 0;
}
​

常见样式

 四种样式:

1、无参无返

2、有参无返

3、无参有返

4、有参又返 

​​#include <iostream>
using namespace std;

//无参无返
void add1()
{
    cout <<" 无参无返"<< endl;
}

//有参无返
void add2(int num1)
{
    cout <<" 无参无返"<< endl;
}

//无参有返
int add3()
{
    cout <<" 无参有返"<< endl;
    return 100;
}

//有参有返
int add4(int num1,int num2)
{
    int sum = 0;
    sum = num1 + num2;
    return sum;
}
int main()
{
    //无参无返调用
    add1();
    //有参无返调用
    add2(100);
    //无参有返调用
    int num = add3()

    //有参有返调用
    int a = 10; 
    int b = 20;

    int  c = add4(a, b);
    cout << "c = " << c << endl;

    system("pause");
    return 0;
}

函数的声明

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

注意:函数的声明可以多次,但函数的定义只能一次

​​#include <iostream>
using namespace std;

//函数声明
//当函数定义在主函数后面时,要提前告诉编译器函数的存在,就是利用函数声明
//当函数定义在主函数前面时,可声明可不声明
int max (int a, int b)

int main()
{
   
    int a = 10; 
    int b = 20;

    int  c = max(a, b);
    cout << "c = " << c << endl;

    system("pause");
    return 0;
}

//定义
int max (int a, int b)
{
    return a > b ? a : b; //a大于b 时 返回a ,否则返回b
}

函数的分文件

 作用:让代码结构更加清晰

 函数分文件编写一般有4个步骤:

1、创建后缀名为.h的头文件

2、创建后缀名为.cpp的源文件

3、在头文件中写函数的声明

4、在源文件中写函数的定义

​​#include <iostream>
using namespace std;

//函数的份文件编写
//实现两个数字进行交换的函数
//函数的声明
int max (int a, int b)
//函数的定义
//定义
int max (int a, int b)
{
    int temp = a;

    a = b;
    b = temp;
    return 0;

}​



//1、创建后缀名为.h的头文件
      max.h
//2、创建后缀名为.cpp的源文件
    max.cpp
//3、在头文件中写函数的声明(max.h的文件中写声明)
int max (int a, int b)

//4、在源文件中写函数的定义(.cpp的文件中)
include "max.h"
int max (int a, int b)
{
    int temp = a;

    a = b;
    b = temp;
    return 0;
}



int main()
{
   
    int a = 10; 
    int b = 20;

    int  c = max(a, b);
    cout << "c = " << c << endl;

    system("pause");
    return 0;
}

1、创建后缀名为.h的头文件 命名为max.h

#include<iostream>
using namespace std;

int max (int a, int b)

2、创建后缀名为.cpp的源文件,  命名为max.cpp

#include<iostream>
using namespace std;
include "max.h"

int max (int a, int b)
{
    int temp = a;

    a = b;
    b = temp;
    return 0;
}
​​#include <iostream>
using namespace std;
#include "max.h"

int main()
{
   
    int a = 10; 
    int b = 20;

    int  c = max(a, b);
    cout << "c = " << c << endl;

    system("pause");
    return 0;
}

 明天更新指针部分

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值