當前位置:首頁 » 編程軟體 » 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添加到項目中就可以了

熱點內容
android文件夾重命名 發布:2025-05-15 01:13:50 瀏覽:481
cns腳本 發布:2025-05-15 01:13:38 瀏覽:722
數據結構與演算法筆試題 發布:2025-05-15 01:04:20 瀏覽:417
搜狗輸入法如何直接編輯配置文件 發布:2025-05-15 00:51:47 瀏覽:668
電箱都有哪些配置 發布:2025-05-15 00:30:21 瀏覽:74
安卓qq邀請碼在哪裡尋找 發布:2025-05-15 00:02:04 瀏覽:35
三菱fx編程口 發布:2025-05-15 00:01:23 瀏覽:810
醫院招商引資宣傳片腳本 發布:2025-05-15 00:01:21 瀏覽:368
linuxcftp伺服器 發布:2025-05-14 23:58:18 瀏覽:718
探岳什麼配置才有駕駛模式選擇 發布:2025-05-14 23:53:17 瀏覽:146