正所謂,工欲善其事,必先利其器,把握住當下最強大的工具,能讓我們在學習的道路上少走許多彎路,多吸取前人的失敗經(jīng)驗,能讓自己快速成長,因為成長總是在消耗我們的耐心以及生命。
入門或者精通或者應用,不管哪一方面,對于一個編程語言而言,最方便的還是使用一個IDE作為你的有力助手,什么事IDE?通俗而專業(yè)的說叫做集成開發(fā)環(huán)境,這個通過字面就能理解到了,就是所有其他的事情都不需要程序員操心,你需要操心的就是寫出代碼,至于代碼完成之后的一系列工作,都不需要你來管,IDE一鍵幫你搞定。
當然,會有許多前輩告訴你,如果你想理解C語言,那你一定要使用最基層的東西來寫,比如XXX編輯器配上XXX編譯器,暈頭轉(zhuǎn)向之后更加茫然,本來就支離破碎的小心肝,又被粉碎了一次,撇開那些與當下不符合的幻想,活在現(xiàn)實中,選擇一個適合你的IDE,逐漸適應它。
講幾個著名的IDE,并給出建議,利器第一步:
宇宙級的IDE: Visual Studio(2010~2017),之所以說宇宙級,因為這是市面上最強大的集成開發(fā)環(huán)境,由微軟公司出品,但是放在開頭不是為了推薦他,而是為了警示大家不要使用它作為C語言的集成開發(fā)環(huán)境,因為它使用的是微軟公司自己定制的C++編譯器,也就是說,你的C語言代碼會在C++的標準下編譯運行,這就是一個十分不好的現(xiàn)象,即便是C++我依舊不喜歡使用Visual Studio,因為它的C++編譯器總是和普通的標準有所出入。
原歸正傳,Visual Studio的確不是一個好的C語言學習IDE,所以請另外選擇一個。
老牌IDE: DevC++,這又是一個大家耳熟能詳,經(jīng)常能在老師手里看見的C語言教學利器,但是,它是C++的IDE,記住C于C++完全是兩個世界的人,雖然C++宣稱能全面兼容C程序,但是有些東西依舊是有所區(qū)別,體現(xiàn)在語法的兼容性上,后文會有提及。那為什么大學老師喜歡使用它呢?因為一本由清華大學出版社出版的《數(shù)據(jù)結(jié)構(gòu)》,讓無數(shù)人為之折服,其中赫然寫著由于性能我們不能拘泥于小細節(jié),故對于C++的特性&引用,我們可以將其使用在C語言的語法中,就是這句話,讓無數(shù)無知的學子撲向其中,再也分不清C與C++,看成譚浩強之后的,清華大學出版社又一誨人不倦的力作。
所以,真愛編程,遠離清華大學出版社,也請大家注意,不要使用DevC++這個IDE進行C語言程序的開發(fā)以及練習。
知名IDE: Code::Blocks,是一款非常優(yōu)秀的開源跨平臺集成開發(fā)環(huán)境,體積并不大,適合作為C語言的IDE,并且功能齊全,有興趣的人可以深究,這是幾個首推的C語言開發(fā)環(huán)境選擇。
知名IDE: CodeLite,是一款非常優(yōu)秀的開源跨平臺集成開發(fā)環(huán)境,體積并不大,適合作為C語言的IDE,并且功能齊全,有興趣的人可以深究,這是次推的C語言開發(fā)環(huán)境選擇,因為使用起來稍微也有些額外的工作要做。
著名IDE: Xcode,是一個蘋果電腦上的史詩級集成開發(fā)環(huán)境,雖然脫胎于C語言,但是由于某些原因,并不太建議使用其作為C語言的開發(fā)環(huán)境。
實用的 IDE: CLion, 是一款收費軟件,但是對于學生教師免費,你只需要使用教育郵箱進行一些驗證步驟就能得到它,有條件的推薦這個IDE,缺點就是使用Java編寫,實在是有些慢。
知名的 IDE: Qt Creator 是一款免費的集成開發(fā)環(huán)境,跨平臺,且有遠程調(diào)試功能,十分推薦使用!但是初學者可能對項目工程沒什么概念,會比較麻煩。
IDE的基本配置 利器第二步是對所選的IDE進行一些基本的配置,以及小科普。
對于一個練習C語言的開發(fā)環(huán)境來說,選擇合適的標準和編譯器是很重要的,在Windows以及Linux操作系統(tǒng)下,我們還是使用GCC這個家伙比較多,開源,免費,且極其強大。當然你也可以選擇clang,當然整個計算機領(lǐng)域中支持C語言的編譯器并不止這兩個,只不過這兩個是開源免費,而且功能強大,十分適合作為個人開發(fā)以及無特殊需求的企業(yè)開發(fā)的選擇。
選擇了編譯器,我們開始講標準:
對于`GCC 5.1`以下的所有版本,都默認對C語言使用`C89`標準,但是我建議使用`C99`兩者的差距,有一個極其明顯的地方,便是`for`循環(huán)的使用
/*C89:*/
int i;
for(i = 0;i < 10;++i)
/*...*/
...
/*C99*/
for(int i = 0;i < 10;++i)
/*...*/
這只是其中的一種差別,但是C99需要人為手動的開啟,但是很多人有疑問,為什么有時候沒有配置什么也能使用后面的語法?吳老師告訴你,這是因為你用了C++的文件進行C語言的開發(fā),就像掛羊皮賣狗肉的道理。
開啟C99
一般IDE的頂部都是一系列的標簽,找到工具/設置,因為不同的IDE可能有不同的標簽,總之在其中找到一個叫(編譯器)Compiler之后,在其中的other option中加入以下:-std=c99,這便是開啟C99的選項代碼,完事之后保存即可。雖然說我們是中國人,但是畢竟這東西的外國人發(fā)明的,我們能看英文就看英文吧。
至此,利器成功配置。
ISO標準,還有一些標準稱為 GNU擴展集,gnu99之類的,有興趣的可以上維基百科自行查詢。