本節,我們學習如何在新版 VS 2017 中編寫程序輸出“C語言中文網”,程序代碼如下:
1. #include <stdio.h>
2. int main()
3. {
4. puts("C語言中文網");
5. return 0;
6. }
創建項目(Project)
在 VS 2017 下開發程序首先要創建項目,不同類型的程序對應不同類型的項目,初學者應該從控制台程序學起。
打開 VS 2017,在菜單欄中依次選擇 “文件 --> 新建 --> 項目”:
或者直接按下 Ctrl+Shift+N 組合鍵,都會彈出下面的對話框:
選擇 “空項目”,填寫好項目名稱,選擇好存儲路徑,同時對於初學者來說,可取消勾選 “為解決方案創建目錄”,點擊 “確定” 按鈕即可。
注意:這里一定要選擇 “空項目” 而不是 “Windows控制台應用程序”,因為后者會導致項目中自帶有很多莫名其妙的文件,不利於初學者對項目的理解。另外,項目名稱和存儲路徑中最好不要包含中文。
點擊 “確定” 按鈕后,會直接進入項目可操作界面,我們將在這個界面完成所有的編程工作。
有興趣的同學可以打開項目的存儲路徑(本文的項目存儲路徑為 D:\Demo\),會發現多了一個 Demo 文件夾,這就是存儲整個項目的文件夾。
添加源文件
在 “源文件” 處右擊鼠標,在彈出菜單中選擇 “添加 --> 新建項” ,如下圖所示:
或者直接按下 Ctrl + shift + A 組合鍵,都會彈出添加源文件的對話框,如下圖所示:
在此分類中,我們選擇 “C++文件(.cpp)”,編寫 C 語言程序時,注意源文件后綴名為 .c ,點擊 “添加” 按鈕,就添加上了一個新的源文件。
注意:C++ 是在 C 語言的基礎上進行的擴展,所有在本質上,C++ 已經包含了 C 語言的所有內容,所以大部分 IDE 會默認創建后綴名為 .cpp 的C++ 源文件。為了大家養成良好的規范,寫 C 語言代碼,就創建后綴名為 .c 的源文件。
編寫代碼並生成程序
打開 hello.c ,將本節開頭的代碼輸入到該源文件中,如下圖所示:
注意:雖然可以將整段代碼復制到編輯器,但是我還是強烈建議你手動輸入,我敢保證你第一次輸入代碼會有各種各樣的錯誤,只有把這些錯誤都糾正了,你才會進步。
編譯(Complie)
在上方菜單欄中選擇 “生成 --> 編譯”,就完成了 hello.c 源文件的編譯工作,如下圖所示:
或者直接按下 Ctrl + F7 組合鍵,也能夠完成編譯工作,這樣更加便捷。
如果代碼沒有任何錯誤,會在下方的 “輸出窗口” 中看到編譯成功的提示:
編譯完成后,打開項目目錄下(本教程中是 D:\Demo\ )的 Debug 文件夾,會看到一個名為 hello.obj 的文件,此文件就是經過編譯產生的中間文件,這種中間文件的專業稱呼是目標文件(Object File),在 VS 和 VC 下,目標文件的后綴都是 .obj 。
鏈接(Link)
在菜單欄中選擇 “項目 --> 僅用於項目 --> 僅連接 Demo” , 就完成了 hello.obj 鏈接工作,如下圖所示:
如果代碼沒有錯誤,會在下方的 “輸入窗口” 中看到鏈接成功的提示:
本項目中只有一個目標文件,鏈接的作用是將 hello.obj 和系統組件(專業講是靜態鏈接庫)結合起來,形成可執行文件。如果有多個目標文件,這些文件之間還要相互結合。
當你再次打開項目目錄下(本教程中是 D:\Demo\ )的 Debug 文件夾,會看到一個名為 Demo.exe 的文件,這就是最終生成的可執行文件,就是我們想要的結果。
雙擊 Demo.exe 運行,並沒有輸出“C語言中文網”幾個字,而是會看到一個黑色窗口一閃而過。這是因為,程序輸出“C語言中文網”后就運行結束了,窗口會自動關閉,時間非常短暫,所以看不到輸出結果,只能看到一個“黑影”。
對上面的代碼稍作修改,讓程序輸出 “C語言中文網” 后暫停下來:
1. #include <stdio.h>
2. #include <stdlib.h>
3. int main()
4. {
5. puts("C語言中文網");
6. system("pause");
7. return 0;
8. }
system("pause"); 的作用就是讓程序暫停一下。注意代碼開頭部分還添加了 #include <stdlib.h> 語句,否則 system("pause"); 無效。
再次編譯並鏈接,運行生成的 Demo.exe,終於如願以償,看到輸出結果了,如下圖所示:
按下鍵盤上的任意一個鍵,程序就會關閉。
更加快捷的辦法
我們把上面的步驟總結一下,可以發現一個完整的編程過程是:
1. 編寫源文件:這是編程的主要工作,我們要保證代碼的語法 100% 正確,不能有任何差錯;
2. 編譯:將源文件轉換為目標文件;
3. 鏈接:將目標文件和系統庫組合在一起,轉換為可執行文件;
4. 運行:可以檢驗代碼的正確性。
不過 VS 提供了一種更加快捷的方式,可以一鍵完成編譯、鏈接、運行三個動作,點擊菜單欄中的 “本地 Windows 調試器” 按鈕,或者按下 F5 鍵也能做到這一點。
總結
現在,你就可以將 Demo.exe 分享給你的朋友了,告訴他們這是你編寫的第一個 C 語言程序。雖然這個程序非常簡單,但是你已經越過了第一道障礙,學會了如何編寫代碼,如何將代碼生成可執行程序,這是一個完整的體驗。
在本教程的基礎部分,教大家編寫的程序都是這樣的“黑窗口”,與我們平時使用的軟件不同,它們沒有漂亮的界面,沒有復雜的功能,只能看到一些文字,這就是控制台程序(Console Application),它與 DOS 非常相似,早期的計算機程序都是這樣的。
控制台程序雖然看起來枯燥無趣,但是它非常簡單,適合入門,能夠讓大家學會編程的基本知識;只有夯實基本功,才能開發出健壯的GUI(Graphical User Interface,圖形用戶界面)程序,也就是帶界面的程序。
來自 <http://c.biancheng.net/view/457.html>