原來從事信息管理系統軟件的開發.基於.net framework平臺,使用C#語言.使用.net framework的特性,方便,快捷.漸漸形成對於平臺的依懶,甚至於完全忽略了一些基本原理.舉例說,因爲.net framework的反射機制和元數據機制,可以爲程序添加引用後,自動解析引用程序集的接口.因而程序編譯時不再需要鏈接程序的過程.
從今天開始學習C語言.這是一篇學習筆記.
選用教材<C語言程序設計:現代方法>,作者K.N.King.翻譯:呂秀峯
C語言的起源
貝爾實驗室Ken Thompson 和 Dennis Ritchie 在開發Unix時開發的語言.
發展過程
Algo1 60->BCPL語言->B語言->C語言
C語言的標準化
Brian Kernighan & Dennis Ritchie 編寫 <The C Programming Language>成爲一開始C語言標準
隨着ANSI於1989年對C的標準化(C89),和1990年ISO標準(C90)
<The C Programming Language>成爲了經典C
1999年再次對C進行標準化推出 C99 全面與 C++進行兼容.
生成程序過程
預處理器(preprocessor)
根據程序的預處理指令(Preprocessor Directive)編輯源程序.例如加入頭文件內容,替換宏等
編譯器(complier)
將預處理後的結果編譯成目標代碼(object code)
鏈接器(linker)
鏈接目標代碼,生成可執行文件或程序庫
舉例:
cc -o outfile sourceFile.c//Unix自帶編譯器
gcc -Wall -o outfile sourceFile.c//GNU編譯器
-Wall 可以詳細檢查程序錯誤和警告
程序組成結構
1.預處理指令(Preprocessor Directive)
2.函數(Function)
3.聲明(Declaration)
4.初始化(Initializer)
5.語句(Statement)
6.標識符(Identifier)
7.變量(Variable)
8.類型(Type)
9.函數調用(Function Call)
10.字符串字面量(String Literal)
11.註釋(Comment)
12.賦值(Assignment)
13.格式串(Fomat String)
14.宏定義(Maro Definition)