官术网_书友最值得收藏!

1.4 C程序舉例

為了說明C語言源程序結構的特點,先看以下幾個程序。這幾個程序由簡到難,表現了C語言源程序在組成結構上的特點。雖然有關內容還未介紹,但可從這些例子中了解到組成一個C源程序的基本部分和書寫格式。

【例1.1】第一個程序——Hello

main是主函數的函數名,一個C語言程序只能有一個main函數,main函數的內容放在一對花括號“{ }”內,稱為函數體,其中的每一條語句用“;”結束每一個C源程序都必須有,且只能有一個主函數(main函數)。

函數調用語句,printf函數的功能是把要輸出的內容送到顯示器去顯示。

printf函數是一個由系統定義的標準函數,可在程序中直接調用。

【例1.2】問題分析——計算圓面積。

假設圓的半徑用radius表示,若半徑為10,利用公式area=π·radius^2計算圓面積。

運行結果如圖1.1所示。

圖1.1 例1.2程序運行結果

程序說明:

(1)數據是程序加工處理的對象。本程序中的PI為3.1415926,radius和area分別是10和0.0,它們都是數據,程序就是對這些數據的聲明、加工和處理。

(2)C語言將數據分為常量和變量。常量是指在程序執行的過程中,其值不發生變化的量,本例中PI、0.0和10就是常量,其中PI是符號常量。程序中所有出現的PI在編譯時都用數值3.1415926代替。

(3)變量就是指在程序運行過程中其值可以變化的量,本程序中的radius和area是變量。

變量理解:變量如同一個盒子,可以存放數據,也可以從中取出數據(盒子中的數據不發生變化)使用。例如用“double radius=0.0;”定義radius后,radius中的值是不確定的,執行完語句“radius=10”后,radius中的值變為10。執行語句“area=PI*radius*radius”時,首先取出變量radius的值然后計算PI*radius*radius的值(即3.1415962×10×10),最后把結果存放在變量area中。

例1.2運行結果示意圖如圖1.2所示。變量名和變量的關系如圖1.3所示。

圖1.2 例1.2運行結果示意圖

圖1.3 變量名和變量的關系

【例1.3】由子函數和主函數構成的C程序。

執行結果如圖1.4所示。

圖1.4 例1.3的運行結果

注意:

(1)本程序包括兩個函數:主函數和被調用的max函數。max函數的作用是將a和b中較大值返回到主函數中。

(2)在程序中的第11行調用max函數,在調用時將實際參數x和y傳遞給形式參數a和b,經過執行max函數得到一個值,由return帶回一個返回值到主函數中。然后把這個返回值賦給主函數中的變量z。

(3)本例題中所講到的實際參數、形式參數、被調函數等概念在本教材后面章節中將作詳細介紹。

通過以上幾個例子可以看到:

(1)C程序是由函數構成的。一個C源程序有且僅有一個主函數,也可以包含若干個其他函數。函數是C程序的基本單位。被調用的函數可以是系統提供的庫函數,也可以是用戶自定義的函數。

(2)一個C程序永遠都是從main函數開始執行,也都是在main函數中結束,和main函數所在的位置無關。

(3)C程序的書寫格式自由,一行內可以寫幾個語句,一個語句也可以分寫在多行。

(4)每條語句和數據聲明的最后都有一個分號,分號是語句結束的標志。

(5)C語言本身沒有輸入/輸出語句。輸入/輸出都是通過調用庫函數來完成的,例如scanf函數作用就是輸入,printf函數作用是輸出。

(6)可以用“/*……*/”來寫注釋語句,對程序的運行沒有任何的影響。C語言中有兩種方式來寫注釋語句:用“//”表明單行注釋;用“/*……*/”表明多行注釋。

主站蜘蛛池模板: 牙克石市| 郑州市| 华宁县| 边坝县| 肃宁县| 铅山县| 花垣县| 黑水县| 奈曼旗| 永吉县| 涿鹿县| 杭锦后旗| 天全县| 肇庆市| 沛县| 呼伦贝尔市| 新安县| 双峰县| 万宁市| 庆云县| 松溪县| 育儿| 五家渠市| 清镇市| 彭泽县| 建湖县| 和硕县| 昌黎县| 仁布县| 湘潭市| 香河县| 聂荣县| 深州市| 鄢陵县| 砚山县| 芜湖市| 东安县| 略阳县| 通榆县| 临安市| 宜兴市|