3.3 編寫一個最簡單的程序
下面編寫一個簡單的小程序。以后不管編寫什么程序,最開始都有一個固定的框架,如下所示:
# include <stdio.h> int main(void) { return 0; }
在編寫任何程序時,都先將該框架寫出來,然后再在里面編寫其他代碼。那么這個框架是什么意思呢?下面先形象、淺顯地介紹一下,因為要講明白需要用到后面的很多知識,所以稍后再一個個詳細地解釋。
第一句:# include <stdio.h>
在C語言中,凡是以“#”開頭的都叫預處理指令。所謂“預”即“提前、先”的意思。所以“預處理”就是“提前處理”或者“先處理”的意思。
通過VC++ 6.0這個軟件,我們可以輸入一些代碼,而這些代碼坦白講它們全是字符,又叫文本信息。也就是說我們編寫任何一個程序,與在記事本里書寫沒任何區別,全部都只是些字母。那么如何使這些字母運行起來呢?這時就需要借助VC++ 6.0這個軟件了。在記事本中是無法運行程序的。那么為什么在VC++中能運行而在記事本中就無法運行呢?原因之一就是要運行程序,還需要VC++中的一些功能,而這些功能記事本是無法提供的。但是VC++很“忠誠”,它只“聽”操作系統的話,那么你必須讓操作系統給它“下命令”。而該命令就具備此功能。
那么操作系統是怎么“下命令”的呢?首先要看VC++將這些功能“藏”哪了。對于后面寫的大多數程序需要的功能,VC++都將它們“藏”在了stdio.h這個文件中。.h是這個文件的后綴名。那么怎么命令VC++將這個文件給“交”出來呢?就是通過include命令。這是一個英文單詞,是“包含”的意思,大家應該都認識。在include后面加上stdio.h這個文件,就表示將這個文件包含進來。為了將include和stdio.h區分開,它們之間必須要加空格,并且用“<>”將stdio.h括起來。
綜上所述,通過第一句“預處理”,就讓VC++在真正進行程序處理之前先將程序要用到的文件給交出來。
第二句:int main(void)
這句話是什么意思呢?等到學習函數的時候就會發現,這句話的意思實際上就是定義一個函數。編程所寫的代碼都是寫在這個函數中的,所以我們所說的編程,實際上就是寫一個函數。
我們先來看main。main是這個函數的名字,這個名字是固定的,不可以改成其他名字。main也是一個英文單詞,意思是“主要的”,所以這個函數又叫主函數。任何一個程序中都有且只有一個主函數main。所有程序在執行時都開始于主函數main,也都結束于主函數main。
主函數main執行完后要返回一個值。int就是返回的這個值的類型。它是英文單詞integer的縮寫,integer是“整數”的意思,所以int就表示整型。main后面有一個括號,這個括號中放的是要傳給主函數main的參數。而我們一般都不會給main函數傳參數,所以里面就寫“void”。void也是一個英文單詞,意思是“空”,就表示傳給主函數main的參數為空,即什么都不傳給main函數。
主函數main下面有兩個大括號。這兩個大括號就像耳朵一樣,一個朝左一個朝右。這兩個大括號是一對,漏掉一個都不行。所以在編程的時候,無論是輸入小括號“()”,還是輸入大括號“{}”,都要成對地輸入,然后再在它們中間寫代碼,這樣就不會漏掉了。main下面的兩個大括號括起來的部分叫“函數體”,表示其間代碼都屬于main。
第三句:return 0;
我們前面說主函數main有一個返回值,這個返回值的類型為int型。那么這個返回值到底是什么呢?就是這個0。return也是一個英文單詞,是“返回”的意思。“return 0; ”即表示將0返回給主函數main。那么這句到底有什么用處呢?為什么要將0返回給main呢?這是為了告訴main程序執行完了。main函數收到一個“0”之后就知道程序結束了,不用再往下執行了。
那么大家觀察一下這一句同前面兩句有什么不一樣呢?最后多了一個分號。分號是C語言中非常重要的一個標記。分號有什么作用呢?在C語言中,加了分號的才是一條語句,語句是以分號結尾的。但是在C語言中并不只是語句,比如前面兩句就不是語句,所以它們后面就沒有分號。這一點一定要注意。
以上就是對這個框架的解釋,其實就是幾個英文單詞。大家能理解多少呢?不要求讀者能完全理解,因為后面都會非常詳細地講述。
此外還需要跟讀者說明的是,在很多書中你們可能會看到一些其他寫法,如省略main前面的int、省略main后面的void、main可以無返回值等。那樣寫雖然沒有錯誤,但都是不規范的寫法。
下面使用這個框架來寫一個簡單的程序:
# include <stdio.h> int main(void) { printf("歡迎大家學習C語言!\n"); return 0; }
在這個框架中就寫了一句話:
printf("歡迎大家學習C語言!\n");
這是最簡單的一個程序。printf也是一個函數,通過這個函數就可以將“歡迎大家學習C語言!”這句話顯示到屏幕上。
- Mastering C# Concurrency
- Groovy for Domain:specific Languages(Second Edition)
- Spring實戰(第5版)
- 微信小程序開發解析
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- Windows內核編程
- 打開Go語言之門:入門、實戰與進階
- Illustrator CC平面設計實戰從入門到精通(視頻自學全彩版)
- Clojure for Java Developers
- Arduino Wearable Projects
- 從Excel到Python數據分析:Pandas、xlwings、openpyxl、Matplotlib的交互與應用
- Java7程序設計入門經典
- 深度實踐KVM:核心技術、管理運維、性能優化與項目實施
- R的極客理想:量化投資篇
- C++面向對象程序設計