當前位置:編程學習大全網 - 編程語言 - 求C語言寫作的壹般格式

求C語言寫作的壹般格式

1,C語言程序的結構特點

壹個C語言程序通常以壹個預處理語句開始,比如# include > stdio.h >,這意味著在編譯該語言程序之前,預處理語句被指定的文件替換,通常文件名是壹個帶後綴的磁盤文件。h .編譯時,將從磁盤中讀取並插入到原始的預處理器語句中。也就是說,預處理語句被指定的包含文件(頭文件)替換。

頭文件通常是程序中被調用函數的描述語句和函數使用的壹些符號常量的宏定義。比如在程序中經常調用壹些標準庫函數時,系統會提供相應的頭文件,其中有壹些是函數的描述和函數使用的符號常量的宏定義,比如頭文件stdio.h中對fgets()的描述,然後頭文件中包含fgets()函數的描述:

char *fgets(char *s,int n,FILE *stream)

符號常數的定義:

#定義NULL 0

當然,它還包括標準I/O函數的壹些其他描述和宏定義。用戶還可以創建自己的頭文件,並將其包含在程序的開頭:

#包含“文件名”

請註意,此時使用符號“”來包含它。它和# include >文件名的區別在於搜索路徑不同。前者是指在當前目錄下查找文件,如果找不到,就在系統指定的目錄下查找。後者只在系統建立的目錄中查找(通常包含\ directory)。如果找不到,錯誤。所以#include“文件名”的形式常用於用戶自己編寫的包含文件,這些文件通常和用戶的程序放在同壹個目錄下。當然,在這種形式下,文件名也可以用文件路徑來代替。這時,編譯器會轉到用戶指定的目錄下,找到包含文件。文件包含也可以用在程序行中,例如:

主()

{

...

#包含“myc.c”

...

}

Myc.c是用戶的C文件,編譯時會從磁盤中取出,插入到這個位置。

程序中常用的壹些常量也是由編譯預處理命令#define定義的。比如在判斷真假時,常用的符號常數true和FALSE來表示真假。這時,妳可以使用定義:

#定義TURE 1

#定義假0

在程序的開頭寫上面的代碼。編譯時,程序中出現true的地方用1代替,出現FALSE的地方用0代替。

壹個完整的C程序總是從main()函數開始,這就像壹首大段音樂的引子,並由此引出許多樂章(執行不同功能的函數);main()函數就像壹個大型建築的框架,展示了要完成的建築的輪廓,這個輪廓是通過函數調用勾勒出來的。所以可以說壹個C程序是由模塊堆積而成的,而這些模塊的最小元素就是函數。當然,模塊也可以是源程序,由許多函數組成。所以C程序的設計是模塊化設計,是很多功能的堆砌。

turbo C函數的使用

Turbo C2.0提供了400多個標準庫函數,每個庫函數執行壹個特定的功能。當壹個程序執行這些函數時,只需要調用這些函數,用戶就不用自己編寫這些函數了。這些庫函數包括輸入輸出函數、數學函數、字符串處理函數、存儲函數、與BIOS和Dos相關的接口函數、屏幕函數和圖形函數、過程控制函數和目錄函數等。這些功能可以在我的主頁上找到。歡迎來電咨詢。

當標準庫函數中沒有可供用戶使用的函數時,必須自己設計。設計該功能的原則是:

1,函數不要處理太多的函數,要保持函數小而單壹。

2,壹個功能要保持它的獨立性,就像壹個黑匣子,有輸入有輸出。

3.函數中使用了更多的復合語句,使得函數結構化,提高了執行效率,節省了存儲空間。

4.在主函數之前,需要列出用戶自定義函數的所有原型描述,這有助於跟蹤大型編程中要調用的函數設置是否正確。

5.添加評論(聲明包含在/*中...*/)放在程序中適當的地方,便於閱讀和調試。

6.采用分層編寫程序格式,根據程序的不同功能。

這樣的函數編譯後,其內部定義的程序代碼和數據不會與另壹個函數的代碼和數據發生交互,所以函數中應該使用局部變量,即在調用和執行函數時,也就是函數被激活時,應該保持其生存期。全局變量要盡量少用,這樣會破壞函數的獨立性。這種功能的設計方法類似於面向對象設計方法中的封裝。

大型軟件程序的設計步驟

C語言作為壹種結構化的編程語言,很容易采用自頂向下的設計方法,即壹開始,我們不涉及問題的本質和具體的求解步驟,只是從問題的全局出發,給出壹個概括性的抽象描述。例如,編寫信號處理程序需要圖形顯示和數字處理後信號數據的保存。因此,該計劃的大綱應該是:

1,信號數據輸入

2、信號預處理

3、信號經過數字化處理。

4、展示

5、保存股票

然後再細分功能。例如,對於信號輸入,它可以分為:

1.通過RS-232接口通過com1或com2輸入。

2.來自磁盤數據文件的輸入

信號預處理可分為:

1.以相反的順序排列信號

2.窗口函數預處理

數字處理可以分為:

1.求快速傅立葉變換

2.求功率譜

窗口功能處理可分為:

1.漢明窗處理函數

2.漢寧窗簾

3.布拉格曼窗口處理

其他功能等等。

在這個細化的基礎上,再進行細化,使之成為壹個單獨的功能,便於由壹個功能來實現。

下面是設計每個功能的實質性階段。定義變量、選擇標準函數和確定算法是構造程序的基本單元。在設計每個函數時,可以將這些函數堆在主函數中,主函數作為主控程序,完成對其參數的調用,控制對這些函數調用的選擇,形成完整實用的信號處理程序。

大型程序的設計風格

當壹個程序很大時,可以把壹個程序分成幾個部分,每個部分可以單獨編譯成壹個源文件。這些源文件可以編譯成。obj文件,然後可以將這些記錄組文件制作成壹個更大的程序。通常,可以采用以下方法:

1 .包含方法

比如壹個程序分為兩個源文件,分別是a1.c和a2.c,此時a1.c可以寫成:

# include \u stdio . h \u

#包括“a2.c”

主()

{

...

strcpy(s1,S2);

a2();

...

}

而a2.c可以寫成:

# include \string . h \

void a2()

{

....

}

然後做壹個項目文件,內容是:a1.ca2.c。

設工程文件名為a1.prj,其中文件中每個文件名的後綴都可以省略,順序無關,只影響編譯時的順序。項目可以在Turbo c的編輯狀態下編寫,保存為a2.prj文件。然後用Alt+p選擇項目菜單中的Project_name項,填寫生成的a1.prj文件名。然後,

使用匯編語言和C語言混合編程時,需要編譯匯編語言的子程序來生成壹個。obj文件分開,然後做壹個工程文件,然後編譯連接C程序。有關介紹,請參考Turbo c2.0的命令行編譯。

如果程序需要壹些其他編譯的程序或庫文件,而C語言的標準庫無法提供這些文件,也可以將它們的名字放在項目文件中。例如:

我的主頁

myfunc

secial.obj

其他. lib

當F9用於編譯和連接時,只有帶後綴的文件。obj是連接的,庫文件帶有後綴。lib是不編譯的,只是連接的,所以當進行外部調用時,只檢索庫。

當多個源文件被制作成項目文件時,壹個. c源文件依賴於另壹個。c源文件。如果它們通過頭文件接口,這些頭文件應該用括號擴展(頭文件之間可以使用逗號、空格或分號),這樣壹旦頭文件改變,它們就會被重新編譯。例如,有壹個名為mymian.c的主程序,它包含了頭文件myfuncs.h和

所以當項目文件的內容被寫成如下:

mymain.c

myfuncs.c(myfuncs.h)

如果在myfuncs.h修改後編譯項目文件,mymain.c和myfuncs.h將被重新編譯。

  • 上一篇:如何才能學好前端開發
  • 下一篇:HTML代碼中的label標簽的作用是什麽?
  • copyright 2024編程學習大全網