2.1.4 C源程序的結(jié)構(gòu)特點(diǎn)

[日期:2017-10-19] 作者:電教中心 次瀏覽 [字體: ]

為了說(shuō)明C語(yǔ)言源程序結(jié)構(gòu)的特點(diǎn),先看以下幾個(gè)程序。這幾個(gè)程 序由簡(jiǎn)到難,表現(xiàn)了C語(yǔ)言源程序在組成結(jié)構(gòu)上的特點(diǎn)。雖然有關(guān)內(nèi)容還未介紹,但可從這些例子中了解到組成一個(gè)C源程序的基本部分和書(shū)寫(xiě)格式。main()

{printf("c語(yǔ)言世界www.vcok.com,您好!\n");

}

main是主函數(shù)的函數(shù)名,表示這是一個(gè)主函數(shù)。每一個(gè)C源程序都必須有,且只能有一個(gè)主函數(shù)(main函數(shù))。函數(shù)調(diào)用語(yǔ)句,printf函數(shù)的功能是把要輸出的內(nèi)容送到顯示器去顯示。printf函數(shù)是一個(gè)由系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù),可在程序中直接調(diào)用。

#include

#include

main()

{

double x,s;

printf("input number:\n");

scanf("%lf",&x);

s=sin(x);

printf("sine of %lf is %lf\n",x,s);

}

每行注釋

include稱(chēng)為文件包含命令擴(kuò)展名為.h的文件也稱(chēng)為頭文件或首部文件

定義兩個(gè)實(shí)數(shù)變量,以被后面程序使用

顯示提示信息

從鍵盤(pán)獲得一個(gè)實(shí)數(shù)x

x的正弦,并把它賦給變量s

顯示程序運(yùn)算結(jié)果

main函數(shù)結(jié)束

程序的功能是從鍵盤(pán)輸入一個(gè)數(shù)x,求x的正弦值,然后輸出結(jié)果。在main()之前的兩行稱(chēng)為預(yù)處理命令(詳見(jiàn)后面)。預(yù)處理命令還有其它幾種,這里的include 稱(chēng)為文件包含命令,其意義是把尖括號(hào)""或引號(hào)<>內(nèi)指定的文件包含到本程序來(lái),成為本程序的一部分。被包含的文件通常是由系統(tǒng)提供的,其擴(kuò)展名為.h。因此也稱(chēng)為頭文件或首部文件。C語(yǔ)言的頭文件中包括了各個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù)的函數(shù)原型。因此,凡是在程序中調(diào)用一個(gè)庫(kù)函數(shù)時(shí),都必須包含該函數(shù)原型所在的頭文件。在本例中,使用了三個(gè)庫(kù)函數(shù):輸入函數(shù)scanf,正弦函數(shù)sin,輸出函數(shù)printf。sin函數(shù)是數(shù)學(xué)函數(shù),其頭文件為math.h文件,因此在程序的主函數(shù)前用include命令包含了math.h。scanfprintf是標(biāo)準(zhǔn)輸入輸出函數(shù),其頭文件為stdio.h,在主函數(shù)前也用include命令包含了stdio.h文件。

需要說(shuō)明的是,C語(yǔ)言規(guī)定對(duì)scanfprintf這兩個(gè)函數(shù)可以省去對(duì)其頭文件的包含命令。所以在本例中也可以刪去第二行的包含命令#include。同樣,在例1.1中使用了printf函數(shù),也省略了包含命令。

在例題中的主函數(shù)體中又分為兩部分,一部分為說(shuō)明部分,另一部分執(zhí)行部分。說(shuō)明是指變量的類(lèi)型說(shuō)明。例題中未使用任何變量,因此無(wú)說(shuō)明部分。C語(yǔ)言規(guī)定,源程序中所有用到的變量都必須先說(shuō)明,后使用,否則將會(huì)出錯(cuò)。這一點(diǎn)是編譯型高級(jí)程序設(shè)計(jì)語(yǔ)言的一個(gè)特點(diǎn),與解釋型的BASIC語(yǔ)言是不同的。說(shuō)明部分是C源程序結(jié)構(gòu)中很重要的組成部分。本例中使用了兩個(gè)變量x,s,用來(lái)表示輸入的自變量和sin函數(shù)值。由于sin函數(shù)要求這兩個(gè)量必須是雙精度浮點(diǎn)型,故用類(lèi)型說(shuō)明符double來(lái)說(shuō)明這兩個(gè)變量。說(shuō)明部分后的四行為執(zhí)行部分或稱(chēng)為執(zhí)行語(yǔ)句部分,用以完成程序的功能。執(zhí)行部分的第一行是輸出語(yǔ)句,調(diào)用printf函數(shù)在顯示器上輸出提示字符串,請(qǐng)操作人員輸入自變量x的值。第二行為輸入語(yǔ)句,調(diào)用scanf函數(shù),接受鍵盤(pán)上輸入的數(shù)并存入變量x中。第三行是調(diào)用sin函數(shù)并把函數(shù)值送到變量s中。第四行是用printf 函數(shù)輸出變量s的值,即x的正弦值。程序結(jié)束。

printf("input number:\n");

scanf("%lf",'C10F10&x);

s=sin(x);

printf("sine of %lf is %lf\n",'C10F10x,s);

運(yùn)行本程序時(shí),首先在顯示器屏幕上給出提示串input number,這是由執(zhí)行部分的第一行完成的。用戶(hù)在提示下從鍵盤(pán)上鍵入某一數(shù),如5,按下回車(chē)鍵,接著在屏幕上給出計(jì)算結(jié)果。