C语言.h .c 相互分离的项目

这个项目实现了一个简单的计算器功能,支持加、减、乘、除四种运算。

项目结构

calculator/
│
├── main.c          # 主程序
├── calculator.h    # 头文件,声明函数和常量
└── calculator.c    # 实现文件,定义函数

代码实现

1.calculator.h(头文件)

#ifndef CALCULATOR_H
#define CALCULATOR_H

// 函数声明
double add(double a, double b);
double subtract(double a, double b);
double multiply(double a, double b);
double divide(double a, double b);

#endif // CALCULATOR_H

2.calculator.c(实现文件)

#include "calculator.h"

// 加法
double add(double a, double b) {
    return a + b;
}

// 减法
double subtract(double a, double b) {
    return a - b;
}

// 乘法
double multiply(double a, double b) {
    return a * b;
}

// 除法
double divide(double a, double b) {
    if (b == 0) {
        printf("Error: Division by zero!\n");
        return 0;
    }
    return a / b;
}

3.main.c(主程序)

#include 
#include "calculator.h"

int main() {
    double num1, num2;
    char operation;

    printf("Enter first number: ");
    scanf("%lf", &num1);

    printf("Enter operation (+, -, *, /): ");
    scanf(" %c", &operation);  // 注意空格,避免读取换行符

    printf("Enter second number: ");
    scanf("%lf", &num2);

    double result;
    switch (operation) {
        case '+':
            result = add(num1, num2);
            break;
        case '-':
            result = subtract(num1, num2);
            break;
        case '*':
            result = multiply(num1, num2);
            break;
        case '/':
            result = divide(num1, num2);
            break;
        default:
            printf("Invalid operation!\n");
            return 1;
    }

    printf("Result: %.2lf\n", result);
    return 0;
}

编译与运行

1. 编译

在终端中进入项目目录,使用以下命令编译:

gcc main.c calculator.c -o calculator

2. 运行

编译成功后,运行生成的可执行文件:

./calculator

示例运行

Enter first number: 10
Enter operation (+, -, *, /): *
Enter second number: 5
Result: 50.00

项目说明

  1. 头文件 calculator.h

> 声明了四个函数:add、subtract、multiply 和 divide。

> 使用 #ifndef、#define 和 #endif 防止头文件重复包含。

  1. 实现文件 calculator.c

> 实现了头文件中声明的函数。

> 包含头文件 #include "calculator.h"。

  1. 主程序 main.c

> 包含头文件 #include "calculator.h"。

> 从用户输入中获取两个数字和操作符,调用相应的函数进行计算。

优点

  • 模块化:将功能分离到不同的文件中,便于维护和扩展。
  • 可读性:代码结构清晰,易于理解。
  • 复用性:calculator.h 和 calculator.c 可以被其他项目复用。

扩展

  • 可以添加更多的数学运算函数(如求平方根、幂运算等)。
  • 可以增加错误处理机制,提高程序的健壮性。
  • 可以将输入和输出部分封装到单独的文件中,进一步提高模块化程度。

通过这个简单的多文件项目,可以掌握C语言中 .h 和 .c 文件的分离方法,为开发更复杂的项目打下基础。

原文链接:,转发请注明来源!