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

1.5 一個完整的C程序

視頻講解:資源包\Video\01\1.5一個完整的C程序.mp4

本節(jié)將根據(jù)1.4節(jié)的實例,對程序內(nèi)容進行擴充,使讀者對C程序有一個更完整的認識。

實例02 根據(jù)父母的身高預(yù)測兒子的身高

實例位置:資源包\Code\SL\01\02

視頻位置:資源包\Video\01\

本實例要實現(xiàn)的功能是根據(jù)父母的身高預(yù)測兒子的身高。在本實例中定義了一個常量0.54,根據(jù)輸入的父親和母親的身高,通過計算公式:兒子身高=(父親身高+母親身高)×0.54,預(yù)測出兒子的身高,具體代碼如下:

運行程序,假如輸入的父親身高為1.8,母親身高為1.68,運行結(jié)果如圖1.27所示。

在具體講解這個程序的執(zhí)行過程之前,先展示該程序的過程圖,便于對程序有一個更清晰的認識,如圖1.28所示。

圖1.27 預(yù)測兒子身高運行結(jié)果

圖1.28 程序過程分析

從圖1.28中可以看出整個程序運行的過程。前面已經(jīng)介紹過關(guān)于程序中一些相同的內(nèi)容,這里不再進行有關(guān)的說明。下面介紹程序中新出現(xiàn)的一些內(nèi)容。

1.定義常量

實例02代碼中的第2行代碼如下:

在C語言中,使用#define定義一個常量。#define在這里的功能是設(shè)定這個常量為HEG,并且指定該常量代表的數(shù)值為0.54。這樣,在程序中只要是使用HEG這個標識符,就代表0.54這個數(shù)值。

說明

常量名通常使用大寫字母,以便與變量進行區(qū)分。

2.函數(shù)聲明

實例02代碼中的第3行代碼如下:

這一行代碼的作用是對一個函數(shù)進行聲明。為什么要進行函數(shù)聲明呢?就像父母在新生兒出生后將新生兒的姓名、出生日期等信息到公安局戶籍部門登記,以便孩子在未來上學(xué)、就業(yè)或出國等活動中使用。自定義的函數(shù)也一樣,需要先通過聲明讓編譯器知道函數(shù)的名稱、參數(shù)等信息,以便在程序執(zhí)行時能準確調(diào)用函數(shù),并執(zhí)行相應(yīng)的功能。

3.定義變量

實例02代碼中的第7~9行代碼如下:

這三行語句的作用都是定義變量。在C語言中要使用變量,必須在使用變量之前對其進行定義。定義變量就是要告訴編譯器這個變量的數(shù)據(jù)類型,之后編譯器會根據(jù)變量的類型為變量分配內(nèi)存空間。變量的作用就是存儲數(shù)值,用變量進行計算。

說明

在定義變量時,變量名盡量取與實際意義相關(guān)的名稱。

4.輸入語句

實例02代碼中的第12行代碼如下:

在實例01中曾經(jīng)介紹過顯示輸出函數(shù)printf(),既然有輸出,就一定會有輸入。在C語言中,scanf()函數(shù)就用來接收鍵盤輸入的內(nèi)容,并將輸入的內(nèi)容保存在相應(yīng)的變量中。可以看到,在scanf()函數(shù)的參數(shù)中,father就是之前定義的浮點型變量,它的作用是存儲輸入的信息內(nèi)容。其中的“&”符號是取地址運算符,“&”運算符的具體內(nèi)容將會在本書第10章中進行介紹。

5.數(shù)學(xué)運算語句

實例02代碼中的第25行代碼如下:

這行代碼在height()函數(shù)體內(nèi),其功能是將變量father加上mother,再乘以HEG,得到的結(jié)果保存在son變量中。其中的符號“*”代表乘法運算符。

訓(xùn)練二

已知一個長方體的高,通過輸入長方體的長和寬,計算出長方體的體積。(資源包\Code\Try\01\02)

主站蜘蛛池模板: 承德市| 贡嘎县| 浦东新区| 大连市| 理塘县| 和田县| 兴和县| 静海县| 新巴尔虎左旗| 措美县| 剑川县| 永和县| 泗洪县| 金寨县| 宜兴市| 二手房| 武定县| 台北县| 越西县| 大悟县| 太和县| 嘉荫县| 青州市| 洞头县| 城市| 铜梁县| 罗山县| 中超| 通榆县| 安康市| 太白县| 武陟县| 白银市| 竹溪县| 辽源市| 博爱县| 沧源| 宽城| 岳阳县| 谢通门县| 博野县|