官术网_书友最值得收藏!

1.2.2 創建C語言“Hello,World”

編輯器和編譯器就位后,我們就可以嘗試許多開發人員用新語言編寫的第一個廣受好評的程序“Hello,World”程序。這個程序的目的是證明你能用新語言編寫有效的代碼,并能輸出信息。

圖1-11:在Linux上的VS Code中試用GCC

作為一種語言,C語言可以很簡潔。我們將在第一個程序中詳細介紹分號、大括號、反斜線和其他奇怪的符號,但現在請逐字復制這一小段代碼。在VS Code中,你可以在左側的資源管理器中單擊右鍵,或使用“文件”→“新文件”菜單項,或按Ctrl+N鍵,創建一個新文件。

保存文件并將其命名為hello.c。我們還將在VS Code中打開終端(“視圖”→“終端”菜單項或Ctrl+`)。你應該會看到與圖1-12類似的內容。

如果你已經掌握了其他語言,那么你可能已經猜到發生了什么。無論如何,讓我們花一點時間回顧一下每一行。不過,如果其中有些解釋讓人感到費解,也不用擔心。學習編程需要大量的練習和耐心。后面的章節將幫助你強化這兩種技能。

這一行加載“標準輸入/輸出”庫的頭文件。庫(粗略地說)是運行gcc時可以附加到你自己的代碼中的外部代碼。頭文件是對這些外部實體的簡潔描述。這是非常普通的一行,代表一個非常普通的庫的一個非常流行的部分。除其他事項外,該頭文件還包括printf()函數的定義,我們用它來獲取實際輸出。幾乎你編寫的所有C程序都會用到它。這一行始終位于文件的頂部,不過正如我們將在第6章中看到的,你通常會使用多個庫,每個庫都有自己的頭文件#include行。

圖1-12:“Hello,World”和我們的終端選項卡

復雜的程序可能有數十個(甚至數百或數千個)獨立的C語言文件。將大問題分離成更小的部分是成為優秀程序員的基本要素。這些較小的“部分”更容易調試和維護。它們還能幫助你找到重復任務的時機,從而重復使用你已經編寫的代碼。但無論你的程序是龐大、復雜,還是微小、簡單,你都需要一個起點。這一行就是起點。main()函數始終是必需的,盡管偶爾看起來會有些不同。我們將在第2章討論像該行開頭的int這樣的類型,并在第5章更仔細地研究函數。但請注意行尾的{。這個字符打開了一個代碼塊。

這條語句是我們程序的核心,它代表main()函數塊的主體。代碼塊包含一行或多行代碼,這些代碼(在C語言中)以大括號為界,我們通常將代碼塊的內容稱為其主體。這個特殊的正文只做了一件事:使用printf()函數(同樣定義在stdio.h)生成一個友好的全局問候語。我們將在2.3節更詳細地介紹printf(),以及類似"Hello,world\n"這樣的代碼段。

我還想快速強調行尾的分號。這個標點符號會告訴C編譯器何時完成一條語句。在我們的代碼塊中只有一條語句的情況下,這個標點符號的意義并不大,但當我們有更多的語句或語句雜亂到需要跨幾行時,它就會有所幫助。

最后,但并非最不重要的是,這里是“收尾”大括號,與上面兩行的“開頭”大括號相匹配:

每個程序塊都有這些開頭/收尾大括號。編程中最常見的錯誤之一就是開頭或收尾大括號太多。令人欣慰的是,大多數現代編輯器都有花哨的語法高亮功能,可以幫你匹配任何一對大括號(從而識別出任何沒有搭檔的大括號)。

主站蜘蛛池模板: 同德县| 长乐市| 五大连池市| 嵊泗县| 武邑县| 巴中市| 昌邑市| 靖州| 安顺市| 寻乌县| 兴安盟| 内丘县| 桐城市| 赣州市| 彭阳县| 远安县| 淳安县| 合水县| 临海市| 平度市| 宜兰市| 信丰县| 永修县| 唐河县| 湖南省| 雷州市| 区。| 蒙阴县| 得荣县| 惠州市| 阳朔县| 清丰县| 安义县| 常州市| SHOW| 莫力| 西安市| 云龙县| 紫金县| 贵州省| 巢湖市|