C語言

[C語言]簡單的例子

簡單的例子

我們先來看一個簡單的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; }
Code language: C++ (cpp)

如果看不懂也沒關係,先逐字將它敲進編譯器裡,然後存檔、編譯及執行。如果順利的話,可以在螢幕上看到下面兩行輸出:

I have 2 dogs. You have 2 dogs, too.
Code language: plaintext (plaintext)

由上面的輸出,可以大概猜出printf()這個函數是在印括號內所包含的文字,那麼#include%d\n這些奇怪的符號又是什麼意思呢?

程式解說

第1行

/* prog1, simple example */
Code language: C++ (cpp)

是C語言的註解。C是以/**/記號來包圍註解的文字。註解可以幫助程式的閱讀及除錯,編譯器不會對裡面的文字做編譯。

第3行

#include <stdio.h>
Code language: C++ (cpp)

會告訴電腦把stdio.h檔案含括進來。stdio是standard input/output的縮寫,也就是標準輸入及輸出,只要是C語言裡有關輸入或輸出函數的格式,都是定義在這個檔案裡。因為我們在第10~11行使用了printf()函數,所以必須把stdio.h含括進來。

第4行

#include <stdlib.h>
Code language: C++ (cpp)

作用與第3行相同,但是這次是含括stdlib.h檔案。因為第12行的system()函數的格式被定義在stdlib.h中。

第6行

int main(void)
Code language: C++ (cpp)

定義main()函數,定義範圍從第7行的左大括號({)開始,一直到第14行的右大括號(})為止。我們習慣上會把main()稱為主函數,因為它是程式開始執行的起點,且每一個獨立的C程式一定要有main()函數才能執行。

main()函數前面的int表示main()函數有一個回傳值,且傳回的型態為整數(int為integer的縮寫)。main()括號內的void表示此函數不需傳入任何的引數。

第8行

int num;
Code language: C++ (cpp)

宣告num為一個整數型態的變數。在C語言中,使用變數前必須先宣告其型態。

第9行

num = 2;
Code language: C++ (cpp)

將整數2設定給整數變數num存放。

第10行

printf("I have %d dogs.\n", num);
Code language: C++ (cpp)

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);
Code language: C++ (cpp)

語法與第10行相同。

第12行

system("pause");
Code language: C++ (cpp)

利用system()函數呼叫系統指令pause,讓程式執行到這行時先暫停。在Dev C++裡,由於程式執行完畢後會自動關閉DOS視窗,導致看不到輸出的畫面,所以暫停程式,以便觀察輸出結果。

第13行

return 0;
Code language: C++ (cpp)

main()函數傳回整數0,此數值由系統接收。我們習慣上會傳回0代表程式順利執行完成;若傳回其它整數,則表示程式出了某種狀況。


#C語言 #簡單的例子 #Simple example

發佈留言