通過以上幾個例子的分析,我們可以看出C語言程序的基本組成結構。
(1)C語言程序的最前麵一般為預處理命令(include命令僅為預處理命令的一種),如#include
、#include等。
(2)從總體結構上看,C語言程序由一個或多個函數構成。一個C語言源程序除了必須包含一個主函數main外,還可以包含若幹個自定義函數。例21至例24的源程序都是由一個主函數構成的,當然主函數內部調用了printf或scanf庫函數。下麵我們再來看例25,該程序包含兩個函數,一個是主函數,另一個是用戶自定義的函數。
[例25]比較兩個整數的大小,並輸出其中較大的值。
#include
intmax(inta,intb)
/*定義max函數,函數值為整型,a,b為形式參數*/
{
intc;
if(a>b)c=a;/*比較a和b的大小,如果a大,則將a賦給變量c*/
elsec=b;/*否則將b賦給變量c*/
return(c);/*返回c的值,通過max函數帶回調用處*/
}
voidmain()/*主函數*/
{
inta,b,result;
printf("pleaseinputtwointegernumber:");
/*在屏幕上顯示提示字符串*/
scanf("%d,%d",&x,&y);/*調用scanf函數,從鍵盤輸入x,y的值*/
result=max(x,y);/*調用max函數,並將返回的值賦給變量result*/
printf("themaximumis%d\n",result);/*按指定格式輸出result的值*/
}
本程序的執行過程是:首先在屏幕上顯示提示字符串,當用戶從鍵盤上鍵入兩個數,如234,-58,按下回車鍵後,就可以在屏幕上看到如下運行結果:
pleaseinputtwointegernumber:234,-58
themaximumis234
程序分析:
本程序由main主函數和max自定義函數組成,無論main函數在自定義函數之前或之後,程序總是從主函數的第一條語句開始執行,當執行到函數調用語句result=max(x,y);時,主函數將調用max函數,並同時把變量x和y的值分別傳遞給變量a和b,當a和b比較結束後,c變量中存放的是a和b中的較大值,最後通過return語句將較大值返回給主函數的result變量,並進行輸出。有關函數的調用。
max函數的執行部分包含了一個if語句,用於比較a和b的大小。if語句體現了C語言中的選擇結構,它是結構化程序設計的基本結構之一,我們在21節中做過介紹。