簡單的例子
我們先來看一個簡單的C程式:
/* prog1, simple example */
#include <stdio.h> /* 把stdio.h檔案包含進來 */
#include <stdlib.h> /* 把stdlib.h檔案包含進來 */
int main(void)
{
int num; /* 宣告整數變數num */
num = 2; /* 將num值設為2 */
printf("I have %d dogs.\n", num); /* 呼叫printf函數 */
printf("You have %d dogs, too.\n", num); /* 呼叫printf函數 */
system("pause"); /* 呼叫pause指令,用來暫停程式執行 */
return 0;
}
如果看不懂也沒關係,先逐字將它敲進編譯器裡,然後存檔、編譯及執行。如果順利的話,可以在螢幕上看到下面兩行輸出:
I have 2 dogs.
You have 2 dogs, too.
由上面的輸出,可以大概猜出printf()
這個函數是在印括號內所包含的文字,那麼#include
、%d
與\n
這些奇怪的符號又是什麼意思呢?
程式解說
第1行
/* prog1, simple example */
是C語言的註解。C是以/*
與*/
記號來包圍註解的文字。註解可以幫助程式的閱讀及除錯,編譯器不會對裡面的文字做編譯。
第3行
#include <stdio.h>
會告訴電腦把stdio.h
檔案含括進來。stdio
是standard input/output的縮寫,也就是標準輸入及輸出,只要是C語言裡有關輸入或輸出函數的格式,都是定義在這個檔案裡。因為我們在第10~11行使用了printf()
函數,所以必須把stdio.h
含括進來。
第4行
#include <stdlib.h>
作用與第3行相同,但是這次是含括stdlib.h
檔案。因為第12行的system()
函數的格式被定義在stdlib.h
中。
第6行
int main(void)
定義main()
函數,定義範圍從第7行的左大括號({)
開始,一直到第14行的右大括號(})
為止。我們習慣上會把main()
稱為主函數,因為它是程式開始執行的起點,且每一個獨立的C程式一定要有main()
函數才能執行。
在main()
函數前面的int
表示main()
函數有一個回傳值,且傳回的型態為整數(int為integer的縮寫)。main()
括號內的void
表示此函數不需傳入任何的引數。
第8行
int num;
宣告num
為一個整數型態的變數。在C語言中,使用變數前必須先宣告其型態。
第9行
num = 2;
將整數2
設定給整數變數num
存放。
第10行
printf("I have %d dogs.\n", num);
printf()
函數會先把%d
符號以num
的值來取代,所以就會變成I have 2 dogs.\n
,然後再輸出到螢幕上。
最後的\n
為換行符號,所以You have 2 dogs, too.
會從下一行的第一個字開始列印,不會緊接在I have 2 dogs.
的後面。
第11行
printf("You have %d dogs, too.\n", num);
語法與第10行相同。
第12行
system("pause");
利用system()
函數呼叫系統指令pause
,讓程式執行到這行時先暫停。在Dev C++裡,由於程式執行完畢後會自動關閉DOS視窗,導致看不到輸出的畫面,所以暫停程式,以便觀察輸出結果。
第13行
return 0;
由main()
函數傳回整數0
,此數值由系統接收。我們習慣上會傳回0
代表程式順利執行完成;若傳回其它整數,則表示程式出了某種狀況。
#C語言 #簡單的例子 #Simple example
發佈留言