树莓派——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
运行结果:
——@上官可编程