C語言學習筆記1 程式編譯 程式結構 輸入 輸出

2021-10-24 01:29:57 字數 1805 閱讀 1346

(1)、預處理:將原始檔中的預處理指令替換成對應的內容;指令:gcc -e 原始檔

(2)、編譯:將預處理之後的檔案轉換成彙編檔案,會生成乙個.s結尾的彙編;指令:gcc -s 原始檔或前一步生成的預處理檔案

通常在使用編譯指令的時候直接使用gcc 原始檔就可以生成乙個可執行檔案。下面是簡單的步驟:

開啟乙個文字編輯器,編寫c程式。

儲存檔案為 ***.c。

開啟命令提示符,進入到儲存檔案所在的目錄。

鍵入 gcc ***.c,輸入回車,編譯**。

如果**中沒有錯誤,命令提示符會跳到下一行,並生成 a.out 可執行檔案。

鍵入 ./a.out 來執行程式。

(1)、順序結構:通過運算子的結合性,保證**從上往下執行

(2)、分支結構:通過分支語句保證條件滿足和不滿足,來進行控制(分支語句:1、if-else;2、switch-case-break;)

(3)、迴圈結構:通過迴圈語句保證條件滿足和不滿足,迴圈執行(迴圈語句:1、while;2、do-while;3、for(a;b;c))

區分:while&do-while:

do-while:先執行在判斷條件;

while:先判斷在執行;

break&continue:

break:跳出最近的迴圈體,之後的所以迴圈都不再執行

continue:跳出本次迴圈,後面的語句本次不再執行

輸入:可以是以檔案的形式或從命令列中進行。c 語言提供了一系列內建的函式來讀取給定的輸入,並根據需要填充到程式中。在c語言基礎學習時,可以簡單地認為是鍵盤的輸入。

c語言的標準庫包含的輸入輸出函式常用的有以下6個:

(1)、int getchar(void)函式從螢幕讀取下乙個可用的字元,並把它返回為乙個整數。這個函式在同乙個時間內只會讀取乙個單一的字元。

(2)、int putchar(int c)函式把字元輸出到螢幕上,並返回相同的字元。這個函式在同乙個時間內只會輸出乙個單一的字元。

(3)、char *gets(char *s)函式從stdin讀取一行到s所指向的緩衝區,直到乙個終止符或 eof。

(4)、int puts(const char *s)函式把字串 s 和乙個尾隨的換行符寫入到stdout

(5)、int scanf(const char *format, ...)函式從標準輸入流stdin讀取輸入,並根據提供的format來瀏覽輸入。

(6)、int printf(const char *format, ...)函式把輸出寫入到標準輸出流stdout,並根據提供的格式產生輸出。

format可以是乙個簡單的常量字串,但也可以分別指定 %s、%d、%c、%f 等來輸出或讀取字串、整數、字元或浮點數。

使用輸入輸出語句需要注意的一些問題:

1、不能輸入指定長度的字串,當輸入長度超過接收變數長度時,會造成記憶體溢位、可能程式結束。

解決方法:先定義乙個大的點的緩衝區,再使用strcpy()把字串複製到指定長度的存放變數。

2、如果上面的情況不結束程式的話,使用printf()會輸入原來輸入的字串。

3、如果使用getchar()語句,輸入的長度不止1個字元時,如果下面還有輸入語句,那麼剩下的字元就會輸入到下面的語句。

編譯過程和編譯程式筆記

圖 1.3 編譯的各個階段 詞法分析 從左到右乙個乙個字元地讀入源程式,對構成源程式的字元進行掃瞄和分解,從而識別出乙個個單詞。語法分析 在詞法分析的基礎上將單詞序列分解成各類語法短語,這些語法短語也稱為語法單位,可以表示成語法樹。語法分析依據的是語言的語法規則,即描述程式結構的規則 例如 id1 ...

C 動態解析編譯程式(記憶體)

獲取命令內容 string strcommand dbcommon.getassemblevalue sender as toolstripmenuitem tag.tostring 5 編譯器初始化 icodecompiler comp new csharpcodeprovider createc...

C語言學習筆記 C程式結構

在我們學習 c 語言的基本構建塊之前,讓我們先來看看乙個最小的 c 程式結構,在接下來的章節中可以以此作為參考。c 程式主要包括以下部分 include int main 接下來我們講解一下上面這段程式 程式的第一行 include是預處理器指令,告訴 c 編譯器在實際編譯之前要包含stdio.h檔...