树莓派——linux引用之分文件编程

本文详细介绍了如何在Linux环境下利用C语言进行分文件编程,包括分模块编程思想、步骤以及头文件的使用。通过将功能函数分别放在不同的文件中,实现了代码的模块化,便于调试和维护。主要涉及串口、网络、线程、语音和算术运算等功能,并给出了具体的代码示例。
摘要由CSDN通过智能技术生成

树莓派——linux引用之分文件编程

1./*
*功能性函数
1.串口
2.网络
3.线程
4.语音
5.加法 乘法 减法 除法

  • */
    2.分文件编程
    (1)分模块的编程思想
    (2)每个功能提供不同文件,在主函数中调用即可
    (3)优点
    a.功能责任划分
    b.方便调试
    c.主程序简洁

3…把一个文件拆分成两个

(1)把要拆分的程序,复制一份 命令: cp 源程序.c 复制程序.c。
在这里插入图片描述

(2) 打开复制程序 命令:vi 复制程序.c。
在这里插入图片描述

(3) 打开复制程序.c 把复制程序.c中的main函数删除掉。

#include <stdio.h>
#include <stdlib.h>


/*
 *功能性函数
     1.串口
     2.网络
     3.线程
     4.语音
     5.加法  乘法  减法  除法
 * */

int  add(int x, int y)
{
              int z;
              z=x+y;

             return z;
}

int  min(int x, int y)
{
}

int  mul(int x, int y)
{
              int z;
              z=x*y;

              return z;
}

float chufa(int x, int y)
{
              float z;
              z=(float)x/y;
              //不同类型数据运算时,比如两个整数相除,必须将除数或者被除数
               //强制转换成小数,否则小数点后面的数据被忽略    
              return z;
}


(4)打开 源程序.c 留下main函数把没有的去掉。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int   data1;
    int   data2;
    int    ret;
    float  retchufa;
    while(1)
    {
          printf("请输入第一个数据: \n");
          scanf("%d",&data1);
          printf("请输入第二个数据: \n");
          scanf("%d",&data2);
         
          ret=add(data1,data2);
          
          printf("加法结果%d+%d=%d\n",data1,data2,ret);    
          
          ret=min(data1,data2);
          
          printf("减法结果:%d%d=%d\n",data1,data2,ret);    
          
          ret=mul(data1,data2);
          
          printf("乘法结果%d*%d=%d\n",data1,data2,ret);    
          
          retchufa=chufa(data1,data2);
          
   printf("除法结果%d/%d=%f\n",data1,data2,retchufa);    
    }
        system("pause");
	    return 0;
}

(5)把两个文件联合起来:运行两个程序,命令:gcc 源程序.c 复制程序.c。

gcc jisuan2.c jisuan3.c

(6)运行程序时,会发生错误,把复制程序.c复制成复制程序.h文件。
注释:复制程序.c文件是不带main函数的文件

(7)打开复制程序.h文件,把函数体去掉,留下函数的原型,函数后面加分 号,叫做函数的声明。

```c

int  add(int x, int y);

int  min(int x, int y);

int  mul(int x, int y);

float chufa(int x, int y);

(8)把头文件(复制程序.h),包含到源程序.c中

#include <stdio.h>
#include "jisuan.h"


/*
 *功能性函数
     1.串口
     2.网络
     3.线程
     4.语音
     5.加法  乘法  减法  除法
 * */

         int main()
{
        int   data1;
        int   data2;
        int    ret;
        float  retchufa;

        while(1)
   {
           printf("请输入第一个数据: \n");
           scanf("%d",&data1);

           printf("请输入第二个数据: \n");
           scanf("%d",&data2);

           ret=add(data1,data2);
 printf("加法结果:%d+%d=%d\n",data1,data2,ret);


           ret=min(data1,data2);



           printf("减法结果:%d-%d=%d\n",data1,data2,ret);



            ret=mul(data1,data2);



             printf("乘法结果:%d*%d=%d\n",data1,data2,ret);


            retchufa=chufa(data1,data2);

           
            printf("除法结果:%d/%d=%f\n",data1,data2,retchufa);

                                                                       }


            system("pause");


                return 0;
                        }

<>尖括号包含的头文件是在 ls/urer/include/grep stdio
grep为管道,过滤掉别的,寻找stdio的.h文件

执行两个程序

gcc  jisuan2.c jisuan3.c

运行结果:
在这里插入图片描述

——@上官可编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值