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原始檔還...