五、編譯並執行 c 程式
六、知識總結
七、課後作業
1)我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。
2)學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程式的感覺。
3)不要記筆記,不要記關鍵字,不要記函式的引數,忘了就忘了,忘了是因為沒有經過實戰,所以,到了專案實戰課程的時候,忘了內容很自然的會全部想起來。
5)程式設計師的指法很重要,翹著二郎腿,嘴裡叨著煙,揮舞一指禪,一副吊兒郎當的樣子,是成不了程式設計師的。
6)學習的過程中遇到的問題,如果三十分鐘解決不了,不要糾纏,在群裡向大家請教。但是,反對遇到問題不經思考就提問的方式。
7)開始學習c語言之前,必須先熟悉linux環境,掌握linux常用命令和vi的基本用法。
現階段,我們編寫的c程式比較簡單,程式開發的流程如下:
linux下c語言的編譯器是gcc,以root使用者登入,執行以下命令安裝它:
yum -y install gcc
注意,如果您的伺服器沒有安裝gcc,以上命令就會安裝最新版本的gcc,如果已經安裝了gcc,就會更新到最新版本,所以,以上命令不管執行多少次都沒有問題。
安裝gcc的前提條件是伺服器必須可以訪問網際網路。
c 程式主要包括以下部分:
1)注釋(說明文字)
2)預處理指令
3)主函式入口
4)主函式體
示例(book1.c)
/*
* 程式名:book1.c,此程式用於演示c程式的基本結構。
*/// 預處理指令,把頭檔案stdio.h包含進來。
#include
// standard input output
// 主函式main,這裡是程式執行的起點。
intmain()
接下來我們講解一下上面這段程式。
/*
* 程式名:book1.c,此程式用於演示c程式的基本結構。
*/// 預處理指令,把頭檔案stdio.h包含進來。
// standard input output
// 主函式main,這裡是程式執行的起點。
// 呼叫printf函式在螢幕上輸出文字。
// main函式返回
以上是c程式的注釋(說明文字),注釋的目的是為了提高程式的可讀性,是給程式設計師看的,不是給計算機看的,編譯器編譯程式時將忽略它。
/* */用於注釋多行文字,/*是開始,*/是結束。
// 用於注釋一行文字,可以獨佔一行,也可以放在**的後面。
#include
// standard input output
這一行是(編譯)預處理指令,告訴 c
語言編譯器在編譯之前要包含stdio.**件,程式中使用了printf函式,如果不包含它的標頭檔案,編譯時會出現警告或報錯。
int
main
()
main是主函式,程式從這裡開始執行。在同一程式中,main函式只能有乙個。
printf
("我心匪石,不可轉也。我心匪席,不可卷也。威儀棣棣,不可選也。\n");
return0;
// main函式返回
主函式體的**在一對花括號,本程式的主函式體有兩行**。
第一行**呼叫了printf函式,printf函式的功能是把內容輸出到螢幕,這裡是輸出一行文字,文字結尾的\n表示換行,多個\n就可以輸出多個換行。
第二行**return 0;表示主函式返回,程式退出。
注意,main函式體中的空行和每行**前面的空格是為了提高程式的可讀性,對程式的功能沒有任何影響。
在linux的命令列下用gcc命令編譯源程式book1.c。
gcc -o book1 book1.c
編譯完成後,將生成目標程式book1(可執行程式名由-o引數指定),加./執行它。
.
/book1
執行的結果是在螢幕上輸出一行文字。
我心匪石,不可轉也。我心匪席,不可卷也。威儀棣棣,不可選也。
執行效果
/**/ 多行注釋。
// 單行注釋。
#include 包含其它檔案的預處理指令。
main 程式執行的起點。
{} 函式體、語句塊的開始和結束。
() 函式的引數放在括號中。
「」 字串放在雙引號中。
\n 換行符。
; 分號,一行**的結束。
1)以上都是c語言的語法約定,是規則,不可改變,不能質疑,必須遵守;
2)c語言嚴格區分大小寫;
3)中文的全形標點符號c語言無法識別,編譯時會報錯;
4)c程式以分號「; 」表示一條語言的結束,多條語句可以書寫在一行。
5)如果某行**只有分號「; 」,表示一條空語句,什麼也不做。
1)請寫乙個最簡單的c程式,實現什麼功能無所謂,**越少越好。
2)有乙個坑,中國程式經常掉進去,但美國程式卻不會,請問這是個什麼坑?
3)在螢幕中輸出詩經《我是乙隻傻傻鳥》,源程式命名為book2.c,執行的效果如下:
4)請在螢幕中間用符號「*」拼出乙個大大的字母h,源程式命名為book3.c,執行的效果如下:
C語言程式的基本結構
五 編譯並執行 c 程式 六 知識總結 七 課後作業 1 我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。2 學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程式的感覺。3 不要記筆記,不要記...
C語言程式的基本結構
五 編譯並執行 c 程式 六 知識總結 七 課後作業 1 我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。2 學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程式的感覺。3 不要記筆記,不要記...
C語言程式的基本結構
五 編譯並執行 c 程式 六 知識總結 七 課後作業 1 我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。2 學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程式的感覺。3 不要記筆記,不要記...