C++ 之函数

什么是函数?:

  1. 通俗理解:函数是一段可以重复使用的代码块,像一台“榨汁机”:        
    1. 输入(参数):放入水果(数据)。

    2. 处理(函数体):榨汁(计算)。

    3. 输出(返回值):得到果汁(结果)。

  2. 作用

    1. 避免重复代码。

    2. 让程序更清晰、易维护。


函数组成:

一个函数由以下部分构成:

// 函数定义
返回值类型 函数名(参数列表) {
    // 函数体(具体操作)
    return 返回值; // 可选
}

示例代码

#include <iostream>
using namespace std;

// 定义一个加法函数
int add(int a, int b) {
    int sum = a + b;
    return sum;
}

int main() {
    int result = add(3, 5); // 调用函数
    cout << "3 + 5 = " << result << endl; // 输出:8
    return 0;
}

详细解释

部分说明示例
返回值类型函数返回的数据类型(如不需要返回,用void)int,void
函数名函数的名称(自定义,需要有意义)add,printInfo
参数列表输入的数据(可以为空)(int a,int b)
函数体具体操作的代码sum=a+b;
return返回结果(如果函数有返回值)return sum;

如何调用函数?

  • 直接调用:通过函数名传递参数。

  • 示例:

    add(3, 5); // 调用加法函数 cout << "Hello"; // 你熟悉的cout也是一个函数!

参数传递:形参与实参

  • 形参:函数定义时的参数(形式上的占位符)。

  • 实参:调用函数时传入的具体值。

  • 类比:点奶茶时,菜单上的“大杯”(形参) vs 实际拿到的大杯奶茶(实参)。

  • 示例:

    void printMessage(string message) { // message是形参
        cout << message << endl;
    }
    
    int main() {
        printMessage("Hello World"); // "Hello World"是实参
        return 0;
    }

    返回值

  • 如果函数需要返回结果,用return

  • 返回值的类型必须与声明的类型一致。

  • 示例
    int getTen() {
        return 10; // 返回整数
    }
    
    void sayHi() {
        cout << "Hi!" << endl;
        // 无返回值,不需要return
    }

    函数声明VS函数定义

  • 声明:告诉编译器“这个函数存在”(写在调用前)。

  • 定义:函数的具体实现(可以写在调用后)。

  • 示例:
    #include <iostream>
    using namespace std;
    
    // 声明函数
    int multiply(int a, int b);
    
    int main() {
        cout << multiply(2, 3) << endl; // 输出6
        return 0;
    }
    
    // 定义函数
    int multiply(int a, int b) {
        return a * b;
    }

初学者 常见问题?:

问题1:函数名随便起?

  • 错误示例:

    int 1add(int a, int b) { ... } // 数字开头,编译错误!
  • 正确姿势:

    • 用英文单词或缩写(如calculateSum)。

    • 不能以数字开头,不能使用关键字(如intreturn)。

问题2:函数不声明直接调用?

  • 错误示例

    int main() {
        printHello(); // 编译器不知道这是什么!
        return 0;
    }
    
    void printHello() { ... }
  • 解决方法
    • 在调用前声明函数:void printHello();

问题3:忘记return语句?

  • 错误示例
    int add(int a, int b) {
        int sum = a + b;
        // 忘记写return sum;
    }

  • 结果:编译器警告,返回值不确定!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

在下陈平安

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值