在Linux(Ubuntu16.04)下編寫執行C語言程式
最初學習C語言用的是Visual C++6.0,後來還用過一些IDE,複製貼上都可以用滑鼠對目標進行選擇即可。但在Linux系統裡,需要熟練掌握在Terminal裡編寫C語言程式,進行編譯除錯。本章主要介紹在Linux的終端下編寫C程式並編譯執行。
一,編寫C時需要掌握的一些Linux操作
(1)檔案管理相關的命令
Linux命令名稱 | 作用 | 使用舉例 |
mkdir |
新建資料夾 | mkdir test,mkdir -p test1/test2/test3 |
cd | 更改當前的工作目錄 | cd test |
ls | 列出資料夾下包含的檔案資訊 | ls,ls -R,ls -a,ls-l |
pwd | 檢視當前工作目錄 | pwd,pwd -P |
cp |
拷貝檔案 | cp test1.c test2.c,cp test1.c ../test2 |
rm | 刪除檔案或資料夾 | rm test1.c,rm -r test |
mv | 移動檔案 | mv test1.c ./test2 |
cat | 檢視檔案內容 | cat test.c,cat -b test.c,cat -s test.c |
touch |
建立檔案或更新檔案時間 | touch test.c,touch test.c test.c |
(2)使用Linux的vi編輯器
1)Linux下的vi編輯器分為三種模式,分別為一般模式、插入模式、底行指令模式,進入三種模式的方法分別如下:
一般模式(剛進入的模式) | 進入vi時的模式,當前為插入模式下按ESC鍵可到一般模式 |
插入模式(或稱為編輯模式) | 按下A,a,I,i,O,o進入(有所區別,按照效率選擇) |
底行指令模式 | :,/,?(用的:和 / 較多) |
插入模式用來編輯程式碼內容,一般模式用來複製、貼上、刪除等操作,底行命令模式主要用來儲存檔案、退出、查詢文字內容等。
2)vi編輯器的一些操作指令
一般模式下 | 底行指令模式下 |
[N]dd:剪下行內容。 [N]yy:複製行內容。 [N]x:剪下從游標處開始的N個字元。 p或P:貼上當前行內容,小寫p是向下貼上,大寫P是向上貼上。 u:撤銷上一步的操作。 ([N]表示游標處向下N行的內容,例如5yy表示複製包括游標所在行向下5行的內容) h,j,k,l分別表示向左,向下,向上,向右。 1G和G分別指游標移動到首行和最末尾行。 y0,y$分別表示複製游標到行首部分的內容和游標到行尾部分的內容。 d0,d$分別表示剪下同上方式。 |
:w 儲存內容。 :q! 強制退出。 :q 退出未修改的檔案。 :x儲存並退出(也可以用:wq)。 :w 檔名 另存為檔名的檔案。 :r 檔名 讀入檔案內容插入到當前游標位置。 :N 游標移動到第N行。 :set nu顯示行號。 :set nonu不顯示行號。 /string 查詢字串(通過n或者N分別向下或反向查詢)。 :s/string1/string2 將字串string1替換為string2。 (注:可以是“:起始行,結束行 :s/string1/string2 ”來將某一範圍內的字串替換,在末尾如果加/g表示所有找到的字元都替換。) :!+Linux命令 可執行Linux命令,執行後可再次回到編輯介面。 |
對於複製和貼上也可通過“起始行,結束行”+y(或者d)的方式對某一部分塊進行複製(剪下)。
二、使用vi編輯器編寫C程式
(1)開啟Terminal(終端),建立相關目錄,在該目錄下執行“vi test.c”,將新建一個名為test.c的檔案並進入(此時未儲存,儲存後該檔案才存在)。
(2)使用前文提到的命令編寫C程式,儲存並退出。
(3)使用 gcc test.c -o test 和 ./test 編譯生成檔案並執行。
小技巧:
(1)開啟Terminal可以快捷方式Ctrl+Alt+T,或者使用Search搜尋Terminal。
(2)輸入時可以使用Tab鍵補充檔名。
(3)gcc後面可加 -Wall,提示錯誤資訊。
最初學習C語言用的是Visual C++6.0,後來還用過一些IDE,複製貼上都可以用滑鼠對目標進行選擇即可。但在Linux系統裡,需要熟練掌握在Terminal裡編寫C語言程式,進行編譯除錯。本章主要介紹在Linux的終端下編寫C程式並編譯執行。
一,編寫C時需要掌握的一些Linux操作
(1)檔案管理相關的命令
Linux命令名稱 | 作用 | 使用舉例 |
mkdir | 新建資料夾 | mkdir test,mkdir -p test1/test2/test3 |
cd | 更改當前的工作目錄 | cd test |
ls | 列出資料夾下包含的檔案資訊 | ls,ls -R,ls -a,ls-l |
pwd | 檢視當前工作目錄 | pwd,pwd -P |
cp |
拷貝檔案 | cp test1.c test2.c,cp test1.c ../test2 |
rm | 刪除檔案或資料夾 | rm test1.c,rm -r test |
mv | 移動檔案 | mv test1.c ./test2 |
cat | 檢視檔案內容 | cat test.c,cat -b test.c,cat -s test.c |
touch |
建立檔案或更新檔案時間 | touch test.c,touch test.c test.c |
(2)使用Linux的vi編輯器
1)Linux下的vi編輯器分為三種模式,分別為一般模式、插入模式、底行指令模式,進入三種模式的方法分別如下:
一般模式(剛進入的模式) | 進入vi時的模式,當前為插入模式下按ESC鍵可到一般模式 |
插入模式(或稱為編輯模式) | 按下A,a,I,i,O,o進入(有所區別,按照效率選擇) |
底行指令模式 | :,/,?(用的:和 / 較多) |
插入模式用來編輯程式碼內容,一般模式用來複製、貼上、刪除等操作,底行命令模式主要用來儲存檔案、退出、查詢文字內容等。
2)vi編輯器的一些操作指令
一般模式下 | 底行指令模式下 |
[N]dd:剪下行內容。 [N]yy:複製行內容。 [N]x:剪下從游標處開始的N個字元。 p或P:貼上當前行內容,小寫p是向下貼上,大寫P是向上貼上。 u:撤銷上一步的操作。 ([N]表示游標處向下N行的內容,例如5yy表示複製包括游標所在行向下5行的內容) h,j,k,l分別表示向左,向下,向上,向右。 1G和G分別指游標移動到首行和最末尾行。 y0,y$分別表示複製游標到行首部分的內容和游標到行尾部分的內容。 d0,d$分別表示剪下同上方式。 |
:w 儲存內容。 :q! 強制退出。 :q 退出未修改的檔案。 :x儲存並退出(也可以用:wq)。 :w 檔名 另存為檔名的檔案。 :r 檔名 讀入檔案內容插入到當前游標位置。 :N 游標移動到第N行。 :set nu顯示行號。 :set nonu不顯示行號。 /string 查詢字串(通過n或者N分別向下或反向查詢)。 :s/string1/string2 將字串string1替換為string2。 (注:可以是“:起始行,結束行 :s/string1/string2 ”來將某一範圍內的字串替換,在末尾如果加/g表示所有找到的字元都替換。) :!+Linux命令 可執行Linux命令,執行後可再次回到編輯介面。 |
對於複製和貼上也可通過“起始行,結束行”+y(或者d)的方式對某一部分塊進行複製(剪下)。
二、使用vi編輯器編寫C程式
(1)開啟Terminal(終端),建立相關目錄,在該目錄下執行“vi test.c”,將新建一個名為test.c的檔案並進入(此時未儲存,儲存後該檔案才存在)。
(2)使用前文提到的命令編寫C程式,儲存並退出。
(3)使用 gcc test.c -o test 和 ./test 編譯生成檔案並執行。
小技巧:
(1)開啟Terminal可以快捷方式Ctrl+Alt+T,或者使用Search搜尋Terminal。
(2)輸入時可以使用Tab鍵補充檔名。
(3)gcc後面可加 -Wall,提示錯誤資訊。