- C語言程序設計
- 郭一晶 薛春艷主編
- 1679字
- 2019-10-14 11:41:57
1.1.4 C程序的基本結構
任何一種程序設計語言都具有特定的語法規則和規定的表達方法。一個程序只有嚴格按照語言規定的語法和表達方式編寫,才能保證編寫的程序在計算機中能正確地執行,同時也便于閱讀和理解。
為了方便讀者了解C語言程序的形式和結構,下面介紹兩個簡單的C程序。
【例1-1】編寫程序,在屏幕上輸出字符串“Hello,World!”。

【運行結果】這是一個最簡單的C程序,其執行結果是在屏幕上顯示一行信息:
Hello,World!
【程序說明】
(1)#include為文件包含命令,其作用是把后面尖括號(<>)內指定的頭文件“stdio.h”包含到本程序中,這個頭文件是C語言編譯系統提供的,其中放置著許多與輸入/輸出操作有關的標準函數原型。由于這個程序需要顯示輸出,所以必須將這個頭文件嵌入到程序中,以便在程序中能夠調用頭文件中聲明的標準輸出函數printf(),從而實現在屏幕上顯示文本行“Hello,World!”的目的。
(2)main是主函數的函數名,一個C語言程序只能有一個main()函數,main()函數的內容放在一對花括號“{}”內,稱為函數體,其中的每一條語句用“;”結束。
(3)/*……*/中和//后的內容為注釋,可以增強程序的可讀性,注釋不參加編譯。程序編寫者應當重視使用注釋,養成良好的編程習慣。
【例1-2】編寫程序,實現輸出兩個數中的較大的數。


【運行結果】
Max=3
【程序說明】
(1)本程序包括main()和被調用函數max()兩個函數。max()函數的作用是將x和y中較大者的值賦給變量z。return語句將z的值返回給主調函數main()。
(2)程序的運行從main()函數開始。main()函數在調用max()函數時,將實際參數a、b的值分別傳送給max()函數中的形式參數x、y。經過執行max()函數得到一個結果(即max()函數中變量z的值)并把這個值賦給變量c。
從上面程序例子,可以看出C程序主要由main()函數、頭文件引用、變量、函數、注釋、大括號語句塊、分號組成,具體的組成結構如圖1.1所示。

圖1.1 C程序組成部分
1.main()函數
每個C語言程序必須至少包含一個主函數:main()函數,它是C語言程序中唯一必不可少的組成部分。主函數的格式如下:

函數體可以分為聲明部分和執行部分這兩部分,聲明部分用于定義變量的數據類型,而執行部分用于實現想要結果的指令。
主函數可以放于程序內的任何位置,但是程序執行后將從主函數開始執行,并且也大多數從主函數結束。主函數可以調用其他的函數,但是其他函數不能調用主函數。
2.文件頭引用
在C程序中,經常會用到輸入函數和數學函數等,而這些函數都被事先編寫好放在了各種“頭文件”中,開發人員只需引用這些相應的“頭文件”即可實現對各種函數的使用。文件頭引用的格式如下:

在C程序中加上“頭文件”的引用,就是將頭文件的內容整體嵌入到所編寫的源程序中。使用“頭文件”可以提高程序的效率和穩定性,并減少開發人員的勞動量。程序員只需將需要的功能模塊用include語句調用并使用即可。C語言中常用的“頭文件”有stdio.h(輸入/輸出函數)、math(數學函數)和string.h(字符和字符串函數)等。
3.變量定義部分
變量是其值可以改變的量。在程序運行時,程序使用變量里存儲的各種信息。如果在C語言中使用變量,必須在使用前定義它。
4.函數類型聲明部分
此部分的功能是將程序中包含的函數在定義和調用之前進行聲明并將有關信息通知編譯系統。函數聲明不同于函數定義,后者包含了組成函數的實際語句。
5.函數定義部分
此部分的功能是用于完成特定的功能。除了main()主函數和C庫函數外,還有其他的用戶自定義的函數。這些函數都包括說明部分和函數體,說明部分用于說明函數的名稱、類型和屬性等信息,而函數體是函數說明部分下面“{}”內的部分代碼。
6.注釋語句
C程序中的注釋以“/*”符號開始,以“*/”結束,注釋的內容不會被編譯,也不會被執行,它可以出現在程序的任何位置。注釋可以占一行或多行,當只占一行時,可以使用“//”來注釋。
在程序中放入注釋語句,可以提高程序的可讀性。當程序規模很大或很復雜時,可以通過注釋來規劃程序的功能,并便于后期維護。
7.大括號“{}”
“{}”的功能是將組成每個C函數的程序括起來,“{}”中的語句被稱為代碼塊。
8.分號“;”
“;”的功能是表示每條語句的結束,它是C語言程序的必要組成部分。
- Advanced Splunk
- Vue.js設計與實現
- Visual C++程序設計教程
- C語言程序設計(第3版)
- Java 9 Concurrency Cookbook(Second Edition)
- Photoshop智能手機APP UI設計之道
- 正則表達式經典實例(第2版)
- Learning ArcGIS for Desktop
- RSpec Essentials
- 自學Python:編程基礎、科學計算及數據分析(第2版)
- 測試架構師修煉之道:從測試工程師到測試架構師
- CodeIgniter Web Application Blueprints
- Hacking Android
- TypeScript圖形渲染實戰:2D架構設計與實現
- LabVIEW數據采集