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

1.4 一個完整的C程序

視頻講解

1.3節展現了一個最簡單的程序,通過7行代碼的使用,實現了顯示一行字符串的功能。通過1.3節的介紹,讀者應該不會再對學習C語言發怵了。本節將在例1.1的基礎上,對其內容進行擴充,使讀者對C程序有一個更完整的認識。

【例1.2】 一個完整的C程序。(實例位置:資源包\TM\sl\1\2)

本實例要實現這樣的功能:有一個長方體,它的高已經給出,然后輸入這個長方體的長和寬,通過輸入的長、寬以及給定的高度,計算出長方體的體積。

運行程序,顯示效果如圖1.2所示。

圖1.2 一個完整的C程序

說明

這里要再次提示一下此程序的用意。例1.2和例1.1并不是要將具體的知識點進行詳細的講解,只是將C語言程序的概貌顯示給讀者,使讀者對C語言程序有一個簡單的印象。還記得小時候學習加減法的情況嗎?老師只是教給學生們“1+1=2”,卻沒有教給學生們“1+1為什么等于2”或者“如何證明1+1=2”這樣的問題。學習加減法是這樣的過程,學習C語言編寫程序也應該是這樣的過程,在不斷的接觸中變得熟悉,在不斷的思考中變得深入。

在具體講解這個程序的執行過程之前,先展現該程序的過程圖,這樣可以使讀者對程序有一個更為清晰的認識,如圖1.3所示。

通過上述程序流程圖,可以觀察出整個程序運行的過程。前面已經介紹過程序中的一些內容,這里不再進行有關的說明。下面介紹程序中新出現的一些內容。

圖1.3 程序流程分析

1. 定義常量

實例代碼中的第2行:

這一行代碼中,使用#define定義一個符號。#define在這里的功能是設定這個符號為Height,并且指定這個符號Height代表的值為10。這樣在程序中,只要是使用Height這個標識符的位置,就代表使用的是10這個數值。

2. 函數聲明

實例代碼中的第3行:

此處代碼的作用是對一個函數進行聲明。前面介紹過函數,但是什么是函數聲明呢?舉一個例子,兩個公司進行合作,其中的A公司要派一個經理到B公司進行業務洽談。A公司會發送一個通知給B公司,告訴B公司會派一個經理過去,請B公司在機場接一下這位洽談業務的經理。A公司將這位經理的名字和大概的體貌特征都告訴B公司的有關迎接人員。這樣當這位經理下飛機之后,B公司就可以將他的名字寫在紙上做成接機牌,然后找到這位經理。

聲明函數的作用就像A公司告訴B公司有關這位經理信息的過程,為接下來要使用的函數做準備。也就是說,如果此處聲明calculate函數,那么在程序代碼的后面會有calculate函數的具體定義內容,這樣程序中如果出現calculate函數,程序就會根據calculate函數的定義執行有關的操作。至于有關的具體內容將會在第9章進行介紹。

3. 定義變量

實例代碼中的第6~8行:

這3行語句都是定義變量的語句。在C語言中要使用變量,必須在使用變量之前進行定義,之后編譯器會根據變量的類型為變量分配內存空間。變量的作用就是存儲數值,用變量進行計算。這就像在二元一次方程中,X和Y就是變量,當為其進行賦值后,如X為5,Y為10,這樣X+Y的結果就等于15。

4. 輸入語句

實例代碼中的第13行:

在例1.1中曾經介紹過顯示輸出函數printf,那么既然有輸出就一定會有輸入。在C語言中,scanf函數就用來接收鍵盤輸入的內容,并將輸入的內容保存在相應的變量中。可以看到,在scanf函數的參數中,m_Long就是之前定義的整型變量,它的作用是存儲輸入的信息內容。其中的“&”符號是取地址運算符,其具體內容將會在本書的后續章節中進行介紹。

5. 數學運算語句

實例代碼中的第26行:

這行代碼在calculate函數體內,其功能是將變量Long、Width、Height三者相乘得到的結果保存在result變量中。其中的“*”號代表乘法運算符。

以上內容已經將其中的要點知識全部提取出來,關于C語言程序,相信讀者此時已經有了一定的了解。下面再將上面的程序執行過程進行總結:

(1)包含程序所需要的頭文件。

(2)定義一個常量Height,其代表的值為10。

(3)對calculate函數進行聲明。

(4)進入main函數,程序開始執行。

(5)在main函數中,首先定義3個整型變量,分別代表長方體的長度、寬度和體積。

(6)顯示提示文字,然后根據顯示的文字輸入有關的數據。

(7)當長方體的長度和寬度都輸入之后,會調用calculate函數,計算長方體的體積。

(8)定義calculate函數的位置在main函數的下面,在calculate函數體內將計算長方體體積的結果進行返回。

(9)在main函數中,result變量得到了calculate函數返回的結果。

(10)通過輸出語句將其中長方體的體積顯示出來。

(11)程序結束。

主站蜘蛛池模板: 嵊泗县| 新绛县| 礼泉县| 五指山市| 灯塔市| 仙居县| 万荣县| 万荣县| 关岭| 司法| 原平市| 怀来县| 荆门市| 叶城县| 张家港市| 岐山县| 如东县| 新建县| 吉隆县| 鄂州市| 乾安县| 师宗县| 北流市| 历史| 正定县| 新巴尔虎右旗| 文安县| 孙吴县| 镇江市| 全椒县| 高陵县| 高陵县| 永吉县| 韶关市| 额济纳旗| 浦县| 宾川县| 平乐县| 呼图壁县| 定日县| 都江堰市|