標準C語言

2021-10-07 21:03:06 字數 2283 閱讀 3377

c語言的簡介:

bcpl->newb->c->unix->minix->linux->gcc

c語言時專門編寫作業系統的語言,所以天生適應硬體程式設計,也以執行速度快著稱,也非常適合實現資料結構和演算法。

由於出現時間過早,有很多缺陷,也沒想到普通人會使用c語言程式設計,因此存在著些陷阱,但前輩總結了一些避免的

經驗(《c語言陷阱和缺陷》)。

c語言語法是非常自由,自由源於自律

c89語法標準,也是gcc預設的語法標準

c99語法標準,對c語言的擴充套件和增強

c11語法標準,全新的公升級

第乙個c程式:

#include

說明(程式設計師所編寫的**不是標準的c**,需要一段程式把它翻譯成標準的c**,負責翻譯的程式叫做預處理器,翻譯的

過程叫做預處理,被翻譯的**叫預處理指令,以#開頭的都是預處理指令

#include的功能就是把乙個標頭檔案匯入到當前的檔案。

#include 「***.h」先從當前路徑下載入***.**件,如果沒有再從系統指定的路徑下載入***.**件

#include <> 從系統指定的路徑下載入***.**件

作業系統通過設定環境變數來指定載入標頭檔案的路徑

stdio.h

標頭檔案:以.h結尾,裡面儲存是一些輔助性**,絕大多數是函式的宣告(也就是函式的開頭)

原始檔:以.c結尾,裡面記錄的是功能性的**

c語言標準委員會為c語言以函式形式提供了一些基礎功能,這些函式被封裝在libc.so庫檔案中

有很多標頭檔案負責對libc.so進行說明,stdio.h就是其中乙個,常用的還有stdlib.h、string.h

stdio.h負責對輸入輸出功能的函式進行說明,standard input output

)int main(int argc,const char* ar**)

main函式:

c語言以函式為單位管理**,乙個函式就一段具有某項功能的**段

main函式是程式的執行入口,有且只有乙個

int是一種資料型別,它表示main函式執行結果是乙個整數

return功能有兩個:1、結束函式的執行 2、返回乙個資料給函式的呼叫者

main函式有作業系統呼叫,它的返回值給了作業系統,反映了該程式是怎麼結束的,通常有三種:

正數:出現異常

0:一切正常

負數:出現錯誤

echo $? 檢視上一程式main函式的返回值

printf/scanf 是標準庫中的函式,負責輸入、輸出資料,用來除錯程式

轉義字元:鍵盤上沒有的一些符號,用一些特殊字元來表示,這些特殊字元叫做轉義字元,\n就是其中乙個

\n 換行

\r 回到行首

\t 製表符,用來自動對齊資料

\a 鈴響

%% 顯示乙個%

\ 表示乙個

\b 退乙個字元

c語言以分號作為一行**的結束,使用大括號來劃分**區域

編譯器:

負責把人類能夠看懂的記錄**的文字檔案,翻譯成計算機能看懂的二進位制檔案

由預處理器、編譯器、聯結器組成

gcc是gnu社群為了編譯linux**而開發的一款免費的編譯器,預設採用c89語法,-std=gnu99可以設定c99語法

常用的引數:

-e 顯示預處理結果

-c 只編譯不鏈結

-o 設定編譯結果的名字

-i 指定標頭檔案的載入路徑

-s 生成彙編**

-l 指定要使用庫,-lm 使用數學庫

-wall 以嚴格標準檢查**,顯示更多的警告提醒

-werror 把警告當錯誤處理

-std 指定編譯語法標準

c**變成可執行程式的過程:

1、預處理 把原始檔翻譯成與處理檔案

gcc -e code.c 顯示預處理結果

gcc -e code.c -o code.i 生成以.i結尾的預處理檔案

2、編譯 把與處理檔案翻譯成彙編檔案

gcc -s code.i 生成以.s結尾的彙編檔案

3、彙編 把彙編檔案翻譯成二進位制的目標檔案

gcc -c code.s 生成以.o結尾的彙編檔案

4、連線 把若干個目錄檔案合成乙個可執行檔案

gcc a.o b.o …預設生成乙個a.out的可執行檔案

c語言檔案型別:

.h 標頭檔案

.h.gch 標頭檔案的編譯結果,有優先使用權

.c 原始檔

.i 預處理檔案

.s 彙編檔案

.o 目標檔案

.a 靜態庫

.so 共享庫

C語言標準

寫在前面 k r c不用說。個人以為,我們平常說的標準c,指的是ansi c,iso c,c89,c90。k r c ansi c和iso c c 的第乙個標準是由ansi發布的。雖然這份文件後來被國際標準化組織 iso 採納並且iso發布的修訂版也被ansi採納了,但名稱ansi c 而不是 is...

C語言標準

c語言標準 寫在前面 k r c不用說。個人以為,我們平常說的標準c,指的是ansi c,iso c,c89,c90。k r c 1978年,丹尼斯 里奇 dennis ritchie 和布萊恩 柯林漢 brian kernighan 合作出版了 c程式語言 的第一版。書中介紹的c語言標準也被c語言...

標準C語言

1 檔案相關 建立檔案 touch 檔名 原本是用來修改檔案屬性的,但如果檔案不存在 會自動把檔案建立出來。刪除檔案 rm 檔名 此命令刪除時不經過 站,檔案恢復困難。複製檔案 cp 原始檔 目標位置 在複製過程中可以修改檔名。移植檔案 mv 原始檔 目標位置 用法與cp基本一致,區別是cp原始檔還...