- C語言開發從入門到精通
- 王長青 韓海玲
- 1819字
- 2019-01-05 01:01:06
4.2 C程序文件結構
知識點講解:光盤:視頻\PPT講解(知識點)\第4章\C程序文件結構.mp4
C語言是一門結構化程序語言,由順序結構、選擇結構和循環結構組成。也可以把C語言看為是一門函數語言,它設計的程序功能是由各個函數實現的,每個函數能夠實現某種特定的功能。并且每個C程序都是從main函數開始的,而不管main在程序的那個位置。在本節的內容中,將詳細講解C語言程序文件結構的基本知識。
4.2.1 C程序組成部分
在現實應用中,每個C語言程序都由如下幾個部分構成。
1.main函數
每個C語言程序必須至少包含一個主函數:main函數,這是C語言程序中唯一必不可少的組成部分。使用主函數的具體格式如下所示。
void main(){ 函數體 }
函數體可以分為說明部分和執行部分2部分,說明部分用于定義變量的數據類型,而執行部分用于實現想要結果的指令。
主函數可以被放于程序內的任何位置,但是程序執行后將首先從執行主函數開始,并且也大多數從主函數結束。主函數可以調用其他的函數,但是其他函數不能調用主函數。
2.文件頭引用
在C程序中,經常會用到輸入函數和數學函數等,而這些函數都被事先做好放在了各種的“頭文件”中,開發人員只需引用這些相應的“頭文件”即可實現對各種函數的使用。
文件頭引用的格式如下:
# include <頭文件>
在C程序中加上“頭文件”的引用,就是將頭文件的內容整體嵌入到所編寫的源程序中。使用“頭文件”可以提高程序的效率和穩定性,并減少開發人員的勞動量。程序員只需將需要的功能模塊用“include”語句調用并使用即可。C語言中常用的“頭文件”有stdio.h(輸入/輸出函數)、math(數學函數)和string.h(字符和字符串函數)等。
3.變量定義部分
變量是被用于存儲信息的名稱。在程序運行時,程序使用變量存儲各種信息。如果在C語言中使用變量,必須在使用前定義它。
4.函數類型說明部分
此部分的功能是將程序中包含的函數在定義和調用它之前進行聲明并將有關信息通知編譯系統。函數聲明不同于函數定義,后者包含了組成函數的實際語句。
5.函數定義部分
此部分的功能是用于完成特定的功能。除了main主函數和C庫函數外,其他的函數都是用戶自定義的函數。這些函數都包括說明部分和函數體,說明部分用于說明函數的名稱、類型和屬性等信息;而函數體是函數說明部分下面的“{}”內的部分代碼。
6.注釋語句
C程序中的注釋以“/*”符號開始,以“*/”結束,注釋的內容不會被編譯,也不會被執行,它可以出現在程序的任何位置。注釋可以占一行或多行,當只占一行時,可以使用“//”來注釋。
在程序中放入注釋語句,可以提高程序的可讀性。當程序規模很大或很復雜時,可以通過注釋來規劃程序的功能,并便于進行后期維護。
7.大括號“{}”
{}的功能是將組成每個C函數的程序括起來,{}中的語句被稱為代碼塊。
8.分號“;”
“;”的功能是表示每條語句的結束,這是C語言程序的必要組成部分。
4.2.2 C程序格式總結
通過上節實例了解了C語言的基本程序結構,在下面的內容中,將對C程序結構進行總結,為讀者步入本書后面知識的學習打下基礎。
1.C語言程序的結構特點
C語言程序結構的特點如下。
? 一個C語言源程序可以由一個或多個源文件組成。
? 每個源文件可由一個或多個函數組成。
? 一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。
? 源程序中可以有預處理命令(include命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。
? 每一個說明、每一個語句都必須以分號結尾。但預處理命令、函數頭和花括號“}”之后不能加分號。
2.代碼書寫規則
為了使書寫的代碼清晰、便于閱讀和易于理解,在書寫程序時應遵循以下規則:
? 一個說明或一個語句占一行。
? 用{}括起來的部分,通常表示程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,并單獨占一行。
? 低一層次的語句或說明可比高一層次的語句或說明縮進若干格后書寫,以便看起來更加清晰,增加程序的可讀性。
3.C語言的字符集
字符是組成語言的最基本的元素。C語言字符集由字母、數字、空格、標點和特殊字符組成。在字符常量、字符串常量和注釋中,還可以使用漢字或其他可表示的圖形符號。
? 字母:小寫字母a~z共26個,大寫字母A~Z共26個。
? 數字:0~9共10個。
? 空白符:空格符、制表符、換行符等統稱為空白符。空白符只在字符常量和字符串常量中起作用。在其他地方出現時,只起間隔作用,編譯程序對它們忽略不計。因此在程序中使用空白符與否,對程序的編譯不發生影響,但在程序中適當的地方使用空白符將增加程序的清晰性和可讀性。
? 標點和特殊字符。
- DevOps with Kubernetes
- Visual Basic程序設計教程
- Web交互界面設計與制作(微課版)
- 大模型RAG實戰:RAG原理、應用與系統構建
- iOS自動化測試實戰:基于Appium、Python與Pytest
- Python程序設計開發寶典
- C語言程序設計
- Visual Basic程序設計全程指南
- Using Yocto Project with BeagleBone Black
- 實驗編程:PsychoPy從入門到精通
- Raspberry Pi Blueprints
- Pandas 1.x Cookbook
- C++ Data Structures and Algorithm Design Principles
- Expert Cube Development with SSAS Multidimensional Models
- 熱處理常見缺陷分析與解決方案