- C語(yǔ)言程序設(shè)計(jì)
- 張翼 周憶陶
- 1476字
- 2019-10-23 13:56:28
1.3 簡(jiǎn)單的C語(yǔ)言源程序介紹
一個(gè)完整的C語(yǔ)言程序由一個(gè)或多個(gè)具有相對(duì)獨(dú)立功能的程序模塊組成,這樣的程序模塊稱為“函數(shù)”。因此,函數(shù)是C程序的基本單位。
一個(gè)C程序,不管它有多簡(jiǎn)單,都必須有且只有一個(gè)主函數(shù),例如:

上面的函數(shù)是一個(gè)空主函數(shù),程序沒(méi)有任何意義,它什么都不做。
下面看一個(gè)簡(jiǎn)單的C程序。
【例1.1】在計(jì)算機(jī)屏幕上輸出“Hello,World!”。

運(yùn)行結(jié)果為:
Hello,World!
#include<stdio.h>稱為命令行,命令行必須用“#”號(hào)開(kāi)頭,后面不能加“;”號(hào),因?yàn)樗皇荂程序中的語(yǔ)句,stdio.h是系統(tǒng)提供的頭文件,其中包含有關(guān)輸入/輸出函數(shù)的信息。這個(gè)源程序中main是主函數(shù)名,C語(yǔ)言規(guī)定必須用main作為主函數(shù)名,函數(shù)名后的一對(duì)圓括號(hào)不能省略,圓括號(hào)中的內(nèi)容可以是空的。一個(gè)C程序可以包含任意多個(gè)函數(shù),但必須有且只有一個(gè)主函數(shù)。一個(gè)C程序總是從主函數(shù)開(kāi)始執(zhí)行,最后在主函數(shù)結(jié)束。函數(shù)體需用花括號(hào)括起來(lái),左括號(hào)表示函數(shù)體的開(kāi)始,右括號(hào)表示函數(shù)體的結(jié)束。其間可以有定義(說(shuō)明)部分和執(zhí)行語(yǔ)句部分;每一條語(yǔ)句都必須用分號(hào)“;”結(jié)束,語(yǔ)句的數(shù)量不限,程序中由這些語(yǔ)句向計(jì)算機(jī)系統(tǒng)發(fā)出指令,本程序函數(shù)體內(nèi)只有一條輸出語(yǔ)句,雙引號(hào)內(nèi)的內(nèi)容原樣輸出,“\n”表示輸出字符后換行。
【例1.2】已知圓的半徑,求圓的周長(zhǎng)和面積。

運(yùn)行結(jié)果為:
R=5,l=31.415899,s=78.539749
程序中首先定義了3個(gè)變量,其中r為整型變量,l、s為實(shí)型變量。然后設(shè)置r的值,并根據(jù)r的值計(jì)算圓周長(zhǎng)和面積。輸出語(yǔ)句中的“%d,%f”為輸出格式符,分別表示十進(jìn)制整型和實(shí)型,它指定輸出結(jié)果時(shí)的數(shù)據(jù)類型和格式,程序在執(zhí)行時(shí),該位置由具體數(shù)據(jù)替代。
程序中的/*……*/表示注釋部分,作用是幫助用戶閱讀程序,它對(duì)程序的運(yùn)行不起作用,在對(duì)源程序進(jìn)行編譯時(shí),注釋會(huì)被忽略。“/*”和“*/”必須成對(duì)出現(xiàn),且“/”和“*”之間不能有空格,注釋內(nèi)容可以是西文,也可以是中文,注釋通常用于說(shuō)明變量的含義、程序段的功能。注釋部分可以放在程序中任意合適位置,一個(gè)好的程序應(yīng)該有必要的注釋,這樣可以增加可讀性。
【例1.3】輸入矩形的兩個(gè)邊長(zhǎng),求矩形的面積。

運(yùn)行結(jié)果:
4,5↓
area is 20
本程序由主函數(shù)main()和被調(diào)用函數(shù)area()組成,在主函數(shù)中輸入兩條邊長(zhǎng)x、y,然后通過(guò)語(yǔ)句z=area(x,y)調(diào)用函數(shù)area(),計(jì)算結(jié)果由return語(yǔ)句返回給主函數(shù)。這兩個(gè)函數(shù)在位置上是獨(dú)立的,可以把主函數(shù)main()放在前面,也可以把主函數(shù)main()放在函數(shù)area()的后面。
scanf()和printf()是C語(yǔ)言提供的標(biāo)準(zhǔn)輸入/輸出函數(shù),&a和&b中“&”的含義是“取地址”。程序中scanf()函數(shù)的作用是將從鍵盤上輸入的兩個(gè)數(shù)輸入到變量x和y所標(biāo)志的內(nèi)存單元中,即輸入給變量x和y。
通過(guò)以上3個(gè)C程序的例子,可以看出C程序的特點(diǎn)如下:
(1)C程序由函數(shù)組成。每個(gè)C程序有且僅有一個(gè)主函數(shù),該主函數(shù)的函數(shù)名規(guī)定為main,也可以包含一個(gè)main()函數(shù)和若干個(gè)子函數(shù)。
(2)每個(gè)函數(shù)的定義分為兩部分:函數(shù)說(shuō)明和函數(shù)體。
函數(shù)說(shuō)明的形式:

(3)C程序的書(shū)寫(xiě)格式自由,一行內(nèi)可以寫(xiě)幾條語(yǔ)句,一條語(yǔ)句也可以寫(xiě)在多行上,每條語(yǔ)句后必須以“;”作為結(jié)束標(biāo)識(shí)。復(fù)合語(yǔ)句要以一對(duì)“{}”括起來(lái)。
(4)C程序的執(zhí)行總是從主函數(shù)開(kāi)始,并在主函數(shù)中結(jié)束。主函數(shù)的位置在程序中是任意的,其他函數(shù)總是通過(guò)函數(shù)調(diào)用語(yǔ)句來(lái)執(zhí)行。
(5)主函數(shù)可以調(diào)用任何非主函數(shù),任何非主函數(shù)都可以相互調(diào)用,但是不能調(diào)用主函數(shù)。
(6)C語(yǔ)言本身沒(méi)有輸入/輸出語(yǔ)句。輸入和輸出操作是由調(diào)用系統(tǒng)提供的輸入/輸出函數(shù)完成的。
(7)可以用/*……*/對(duì)C程序中的任何部分做注釋。
(8)C程序嚴(yán)格區(qū)分大小寫(xiě),關(guān)鍵字必須小寫(xiě)。
(9)用一對(duì)大括號(hào)“{ }”來(lái)標(biāo)識(shí)一個(gè)函數(shù)或復(fù)合語(yǔ)句的范圍。
- Java面向?qū)ο筌浖_(kāi)發(fā)
- CentOS 7 Server Deployment Cookbook
- Python Deep Learning
- Java游戲服務(wù)器架構(gòu)實(shí)戰(zhàn)
- Visual Basic程序設(shè)計(jì)教程
- 微信小程序全棧開(kāi)發(fā)技術(shù)與實(shí)戰(zhàn)(微課版)
- Statistical Application Development with R and Python(Second Edition)
- Canvas Cookbook
- Flink核心技術(shù):源碼剖析與特性開(kāi)發(fā)
- Instant Pygame for Python Game Development How-to
- Building Web and Mobile ArcGIS Server Applications with JavaScript(Second Edition)
- Learning Gerrit Code Review
- Internet of Things with Arduino Cookbook
- TensorFlow.NET實(shí)戰(zhàn)
- Mathematica Data Visualization