当前位置:首页 » 编程软件 » c模块化编程

c模块化编程

发布时间: 2022-11-27 11:42:47

A. c语言是完全模块化和结构化的语言,怎么理解,什么是模块化和结构化

所谓模块化,简单的理解,就是说你的程序是由相互之间相对独立的模块组成。那么具体的说,一个稍微大一点的程序,不可能用一个.c源文件写上几十万行来完成它吧?这个程序会由许多分离的.c源文件来完成代码编写对吧。因此在组织源代码的时候,程序员把在概念上和功能上相对独立的模块分离成单独的.c源文件,这些.c源文件经过编译器编译之后成为独立的.o目标文件,然后链接器将这些独立的.o目标文件链接起来成为最终的程序。这就是模块化的简单理解,模块化侧重于“形成最终程序的源代码可以分离编写在各个.c源文件中”这个涵义。
而结构化则相对来说是一种程序逻辑上的概念。也就是说,你怎么将你的程序最终要达成的功能以一种逻辑的方式将其分离为相对独立的功能,而这些单独的功能最终达成程序的整体功能。而一门语言要支持这种逻辑的分离,就必须提供一种相应的手段和方法来达成这种逻辑的分离对吧。简单的说,如果C语言不允许你自己定义函数,要求你将所有的功能实现都必须写在一个main函数里面的话,你想想也知道那简直太糟糕了对吧。所以C语言提供了一个函数的概念,你可以在函数里定义相对独立的逻辑,函数与函数之间通过函数调用和参数传递来相互沟通。这样就使得一个整体的逻辑可以被分离成相对独立的逻辑,这些相对独立的逻辑通过相互的沟通来达成整体的逻辑。所以简单的说,支持函数就是支持结构化。结构化侧重于“你可以将程序逻辑相互分离”这个涵义。

我想我说的够清楚了。你知道语言的表达能力是有限的,我已经发挥了我语言表达能力的极致。剩下的意会即可。给分吧。

B. 请你简单阐述用C语言编写一个模块化程序的基本过程

模块化程序设计即模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
简单的说就是用函数封装一个完成某个特定功能的程序块,主函数通过调用这些函数使得编程的整体框架清晰,整个程序的代码量看上去应该像一个三角形,最顶上的是主函数,代码量比大部分调用函数都要少。模块化编程的另一个好处就是功能的复用,比如你的程序里反复需要用到求数组里所有元素的和的操作,就可以建立一个数组求和的函数来反复调用此函数求和。

C. 单片机c语言模块化编程,如何定义全局变量。

1.使用关键字extern修饰申明。
例如:
主文件中定义 int g_ival = 0;
别的文件里面用 extern int g_ival;申明一下就可以用了。

2.模块化编程是指将一个庞大的程序划分为若干个功能独立的模块,对各个模块进行独立开发,然后再将这些模块统一合并为一个完整的程序。这是C语言面向过程的编程方法,可以缩短开发周期,提高程序的可读性和可维护性。

3.在单片机程序里,程序比较小或者功能比较简单的时候,我们不需要采用模块化编程,但是,当程序功能复杂、涉及的资源较多的时候,模块化编程就能体现它的优越性了。如前面我们写过的HT1380驱动程序、独立按键扫描程序和12864程序,每一个程序都是只用一个源文件编写就能完成,但是,当您制作一个12864液晶日历的时候,需要用到HT1380驱动程序、独立按键扫描程序和12864显示程序,如果把这三个程序全部集中在一个源文件里,将导致主体程序臃肿且杂乱,这样做并非不可取,只是降低了程序可读性、可维护性和代码的重用率。如果把这三个程序当做三个独立的模块放到你的主体工程进行模块化编程,效果就不一样了。实际上,模块化编程就是模块合并的过程,就是建立每个模块的头文件和源文件并将其加入到主体程序的过程。主体程序调用模块的函数是通过包含模块的头文件来实现,模块的头文件和源文件是模块密不可分的两个部分,缺一不可。所以,模块化编程必须提供每个模块的头文件和源文件。

D. c语言 模块化编程 MAIN.C(28): error C141: syntax error near 'void'

你把main(void)中的那个void删了试试,学过很久了,软件也卸了,没办法帮你运行,但是我记得C语言中不支持这样的写法,你试试看。如果不对再帮你解答。

E. C语言模块化编程中定义两组IIC端口,用模拟IIC方式实现,怎样才能重复利用IIC驱动代码

驱动文件中,函数可以根据参数来调用不同的语句实现

例如:

iic_read( char x)
{
if(x ==1)
{
操作P1.1,P1.2
}
else
{
操作P1.3,P1.4
}
}

F. c语言中是如何实现模块化的

c语言是模块化编程的工具,模块如何组织,模块之间如何交互应该是个大问题。我觉得有以下几个值得注意的地方(不对的地方请大家指正):
1、每个源文件就是一个独立的模块,它应该能够在不连接任何其它模块、不需要其它源文件的情况下独立编译。
2、模块之间是通过函数、常量、变量、结构定义、宏(似乎也是常量的一种)进行交互的
3、每个模块应该包括导入和导出两个部分,比如要调用另外一个模块的函数foo(),需要
extern int foo();
这应该属于模块的导入部分
而由该模块提供的函数,应该在相应的头文件中声明,作为模块的导出部分。
模块的导出部分应该放在该模块的头文件中。
4、如果只在本模块使用的变量,在本模块中定义成static的就可以了;否则就是全局变量,全局变量在头文件中声明一下,同时也作为模块的导出部分。
5、宏既可以定义在头文件中,也可以定义在源文件中。如果宏只是模块中用到,相当于局部常量,放到源文件中好了;如果其它模块也要用到,那么把它放到头文件中去。
6、结构定义似乎都放在头文件中。是不是应该另外有一个头文件,专门用来定义结构???

首先,我不知道自己的想法是否正确;其次,关于到底应该怎么样组织文件,我想应该也是有个标准的,可惜我没找到这样的资料。希望有高人能站出来指点一下,谢谢

G. c语言中如何实现模块化

C语言中用函数来实现程序模块。

模块化程序设计是将一个大的任务分解成若干个小任务,再将小任务分解成更小的任务,直到每一个任务都只完成一个独立功能。这样的每个任务都叫做模块,C语言中模块是用函数来实现的。

H. c语言 主函数属于模块化编程的一个模块吗

在C语言里,主函数,也就是main函数,是C标准的一个组成部分(参考C90/C99标准协议文档)。虽然它也被称作函数。但是,它对于C编译器来讲,它并不是一个真正意义上的函数。或者说,它不属于你代码中的任何一个模块。
由于历史原因,丹尼斯里奇和肯汤普森在完成对Basic的升级之后(也就是最初的C),对于整个语言写成的代码的主入口作出了一个定义,也即,使用一个名为main的,被定义为函数形式的段表示整个C程序(在OS中运行的某个进程)的进入点(Entrance)。
但对于用户的代码而言,用户使用C语言编写的所有模块中的函数都是经过设计和实现的;而不具有main的通用性。也许你应该知道,一个C程序的执行必然是从main开始的。
关于模块化编程,我不知道提问者是否清楚其具体。如果不甚明白的话,请参考(C语言模块化编程(我见过最好的).pdf),来源于网络文库。

I. C语言的模块化编程还是不太理解,还请各位大神指点!

C语言是面向过程的语言。

把一件事情分多步骤,细分,这样更有条理。比如今天你要最晚餐。
第一种方法:你要考虑:去买菜;,去哪里买,买什么,坐什么交通工具去买,怎么回来,煮饭做饭,用什么厨具,蒸的?煮的?炒的?做哪种家里人觉得好吃,以及洗碗,打扫卫生等等
这没有觉得这种方法很乱。第二种方法就是先分块:
首先我要考虑的问题(1)买菜(2)做饭(3)洗碗 就6个字,3大块,不用考虑过多,先把整件事情的步骤列出。然后再在每一块细分。(1)买菜;(1.1)去哪里买(1.2)买什么。这样第一大块(买菜)里面又有两块(1.1 和 1.2),当然还可以细分,对于(1.1)去哪里买 再细分 (1.1.1)交通工具 等等。

是不是觉得做个晚餐 还要弄得这么恶心, 一步一步的来? 一开始我也是这样想的,但是你用C语言编程,这样就会很方便,很清晰的。

J. keil c 模块化编程中 位定义的问题

你这是在main.c中定义的 LCD_RS 在LCD_DISPLAY.c 这个文件中找不到LCD_RS的定义
你可以把它定义在LCD_DISPLAY.c这个文件中 然后在LCD_DISPLAY.c中包含LCD_DISPLAY.H
还有就在在main.c不用包含LCD_DISPLAY.c的 把LCD_DISPLAY.c添加到项目中就可以了

热点内容
如何识别电脑的网络配置 发布:2025-05-14 22:38:46 浏览:847
pipforpython3 发布:2025-05-14 22:38:34 浏览:350
如何把迷你世界的服务器搞崩 发布:2025-05-14 22:37:15 浏览:94
如何让安卓卡死机 发布:2025-05-14 22:36:27 浏览:634
wemall微商城源码 发布:2025-05-14 22:15:20 浏览:804
隆地优选交易密码是什么 发布:2025-05-14 21:53:23 浏览:96
强酸强碱存储柜 发布:2025-05-14 21:45:16 浏览:565
车辆参数配置包括什么 发布:2025-05-14 21:31:03 浏览:164
怎么引入安卓项目 发布:2025-05-14 21:26:39 浏览:825
游戏辅编程 发布:2025-05-14 21:18:49 浏览:688