以往写C语言程序都是一个文件里面写个几十、几百行,在练算法的时候还可以,现在搞开发需要模块化编程,所谓模块化编程,就是指一个程序包含多个源文件(.c 文件和 .h 文件),每个 .c 文件可以被称为一个模块。

1、例程的文件结构

2、各文件代码main.c 源码:

#include #include "include/func.h"intmain()

{

intn1 = 1, n2 = 10;

printf("从%d加到%d的和为%ld\n", n1, n2, sum(n1, n2));

printf("从%d乘到%d的积为%ld\n", n1, n2, mult(n1, n2));

printf("OS:%s\n",OS);

printf("Power By %s(%s)", getWebName(), getWebURL());

return0;

}

math.c 源码:

// 没有使用到 func.h 中的函数声明或宏定义,也可以不包含进来

#include "../include/func.h"

// 从 fromNum 加到 endNumlongsum(intfromNum, intendNum)

{

inti;

longresult = 0;

// 参数不符合规则,返回 -1

if(fromNum<0 || endNum<0 || endNum{

return-1;

}

for(i=fromNum; i<=endNum; i++)

{

result += i;

}

// 返回大于等于0的值

returnresult;

}

// 从 fromNum 乘到 endNumlongmult(intfromNum, intendNum)

{

inti;

longresult = 1;

// 参数不符合规则,返回 -1

if(fromNum<0 || endNum<0 || endNum{

return-1;

}

for(i=fromNum; i<=endNum; i++)

{

result *= i;

}

// 返回大于等于0的值

returnresult;

}

web.c 源码:

// 使用到了 func.h 中的宏定义,必须包含进来,否则编译错误

#include "../include/func.h"char* getWebName()

{

returnWEB_NAME;

}char* getWebURL()

{

returnWEB_URL;

}

func.h 源码:

#ifndef _FUNC_H

#define _FUNC_H

// 用宏定义来代替全局变量

#define OS "Linux"

#define WEB_URL "http://www.baidu.com"

#define WEB_NAME "百度"

// 也可以省略 extern,不过为了程序可读性,建议都写上

externlongsum(int, int);

externlongmult(int, int);

externchar* getWebName();

externchar* getWebURL();

#endif

运行结果:

从1加到10的和为55从1乘到10的积为3628800OS:Linux

c语言文件发送程序,C语言程序例程的文件结构相关推荐

  1. (一)易语言学习笔记之从了解易语言到写一个小程序

    如果要安装易语言参考下面链接: https://www.bilibili.com/video/BV1Rd4y1F7N4/?spm_id_from=333.999.0.0&vd_source=8 ...

  2. 我的一个关于文件的程序 - [C语言]

    2005-09-05 我的一个关于文件的程序 - [C语言] #include<stdio.h> void main() { char ch; FILE* fp; if((fp=fopen ...

  3. c语言编程 构建围墙,c语言程序设计朝盛 综合程序练习题.ppt

    c语言程序设计朝盛 综合程序练习题 综合程序练习题 综合程序练习题 大型程序设计的要求 综合程序练习题 综合程序练习题 大型程序设计题目分析: 1 打字练习 2 电子琴 3 简易画图板 4 贪吃蛇 5 ...

  4. 程序员语言也有鄙视链!某美团程序员爆料:筛选简历时,用go语言的基本不看!网友:当韭菜还当出优越感了!...

    程序员使用的语言有鄙视链吗?有人说有,有人说没有.一个美团员工发帖说,筛选简历时用go语言的基本不看.短短一句话,把对go语言的鄙视体现得淋漓尽致,难道go语言真的不如其他语言? 和他一样想法的前阿里 ...

  5. 让英文版windows 8支持非Unicode程序的语言方法

    Control Panel\Clock, Language, and Region 点击 Region change system locle 非Unicode程序的语言,只要将当前非Unicode程 ...

  6. python是c语言写的吗-先学C语言还是Python?资深程序员往往是这样建议的!

    编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...

  7. 没学c语言可以学python_先学C语言还是Python?资深程序员往往是这样建议的!

    编程是一门手艺, 学习编程首先要有目的,w3cschool先带大家了解一下自己需要学习什么吧! 0.学一门语言 其实学什么语言都可以,因为语言都是互通的,C语言也好, 对于初学者来说,Python 也 ...

  8. 换硬币c语言编程_为什么大多数程序员都会学C语言的5大原因!什么原因让你学不会?...

    一.c语言,不朽的传奇 从30年前到如今,一些流行的科技媒体上发表的编程语言排行榜,c语言始终稳定位于前三位,这是其他一种其他的编程语言都达不到的.c语言的江湖地位,不容撼动.虽历史悠久,却也是不朽的 ...

  9. C语言基础-第一个C程序

    之前在大学期间学过C语言的基础,后来主要方向是java,就没继续深入学习C语言.但是C语言作为一个基础语言,对开发有着很大的帮助.最近又开始用业余时间系统的学习C语言. 首先,简单的介绍一下C语言 C ...

最新文章

  1. Beta 冲刺(6/7)
  2. docke容器无法访问宿主主机的端口
  3. I2C总线串行串行输入输出结构
  4. 截取文件最后10行_10 行 Python 代码自动清理电脑内重复文件,解放双手
  5. 据说学会这款数据分析工具,会被各大名企高薪哄抢
  6. 关于python中enumerate和zip函数的用法及举例
  7. memcached全面剖析–memcached的删除机制和发展方向
  8. 解决cef加载flash时弹出黑框的问题
  9. python地震数据处理_python 地震数据可视化
  10. Dynamics 365Online Server-Side OAuth身份认证二(S2S)
  11. 微信小程序组件开发——可视化电影选座
  12. 将文件夹内的照片批量修改名字
  13. 等值连接mysql_数据库等值连接,左连接,右连接的区别
  14. 科普 | 什么是ChatGPT?试用ChatGPT,ChatGPT的启示!
  15. Python全国计算机等级考试(2021)
  16. 给软件测试工程师同行的三点建议
  17. 血战力扣 332.零钱兑换
  18. Charles安装以及环境搭建
  19. IPFS和Filecoin的优势在哪里?
  20. android发送数据短信,如何发送和接收数据短信

热门文章

  1. 【Android工具】更新WPS全功能正版授权无广告版
  2. linux下core dump--转载
  3. 物联网时代如何管理上百万设备?找风河DLM就对了!
  4. cocos3.7.1 mac 创建项目
  5. jsp+urlrewrite实现html分页简单粗暴实现
  6. ASP.NET内置对象一
  7. javascript(arguments)
  8. Jquery获取ckEditor的内容
  9. 1986年讲MDCT的基础性论文
  10. 相同VLAN跨交换机通信