C語言介紹

1.c語言的發(fā)展歷史

? ? ? ? ? ? --C語言的原型ALGOL 60語言(也稱為A語言)钞支,最早的塊結(jié)構(gòu)語言挪挤。

? ? ? ? ? ? --1963年,劍橋大學將ALGOL 60語言發(fā)展成為CPL語言皿伺,CPL最大的缺點就是太大了滋捶,以至于不能在很多應用程序中使用。

? ? ? ? ? ? --1967年疟丙,劍橋大學的Martin Richards 對CPL語言進行了簡化猾警,于是產(chǎn)生了BCPL語言,BCPL缺乏運行時的支持隆敢,而且運行很慢发皿。

? ? ? ? ? ? --1970年,美國貝爾實驗室的Ken thompson將BCPL進行了修改拂蝎,提煉CPL語言的精華并起名為B語言穴墅,并且他用B語言寫了第一個UNIX操作系統(tǒng),它的字符處理機制太爛了温自,而且浮點數(shù)運算被實現(xiàn)的并不理想玄货,處理指針時開銷太大。

? ? ? ? ? ? --1972年左右悼泌,美國貝爾實驗室的D.M.Ritchie在B語言基礎上最終設計出了一種新的語言松捉,取名為C語言。

? ? ? ? ? ? --1977年馆里,為了使UNIX操作系統(tǒng)推廣隘世,Dennis.M.Rithie發(fā)表了不依賴于具體機器系統(tǒng)的C語言編譯文本“可移植的C語言編譯程序”。

? ? ? ? ? ? --1978年鸠踪,美國電放電報公司(AT&T)貝爾實驗室正式發(fā)表了C語言丙者,同時由B.W.Kernighan和D.M.Ritche合著了著名的“The C Programming Language”一書,通常簡稱為“K&R”,也有人稱之為“K&R”標準营密,但是在“K&R”中并沒有定義一個完整的標準C語言械媒。

? ? ? ? ? ? --1983年,美國國家標準化協(xié)會(American National Standards Institute),在“K&R”基礎上制定了一個C語言標準,于1983年發(fā)表纷捞,通常稱之為ANSI C痢虹,又稱C89。

? ? ? ? ? ? --1990年主儡,國際標準化組織ISO(International Organization for Standards)接受了ANSI C為ISO C的標準(ISO9899-1990)奖唯,又稱C99。

2.C語言的特點

? ? ? ? ? ? 1》 語言缀辩,簡潔,緊湊踪央,使用方便靈活臀玄。C語言一共有32個關鍵字,9種控制語句畅蹂,程序書寫自由健无,壓縮了一切不必要的成份。

? ? 2》 運算符豐富液斜。

? ? ? ? ? ? 3》 數(shù)據(jù)類型豐富累贤,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)。

? ? 4》 具有結(jié)構(gòu)化的控制語句少漆。

? ? 5》 語法限制不太嚴格臼膏,程序設計自由度大。

? ? 6》 C語言允許直接訪問物理地址示损,能進行位(bit)操作渗磅,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件操作检访。

? ? ? ? ? ? 7》 生成目標代碼質(zhì)量高始鱼,程序執(zhí)行效率高。C語言一般只比匯編程序生成的目標代碼效率低10%--%20脆贵。

? ? 8》 C語言編寫的程序可移植性好医清,基本不用太多的修改就能在各種平臺上運行。

3.C的應用現(xiàn)狀

? ? ? ? ? ? 操作系統(tǒng)內(nèi)核開發(fā)領域幾乎是唯一開發(fā)工具

? ? ? ? ? ? 絕大部分操作系統(tǒng)是由C加上少量匯編語言開發(fā)的

? ? ? ? ? ? Linux卖氨、Windows会烙、Vxworks、Unix

? ? ? ? ? ? 在嵌入式領域占有絕對優(yōu)勢

? ? ? ? ? ? 在網(wǎng)絡服務器類相當大優(yōu)勢

? ? ? ? ? ? ? ? Apache筒捺、Oracle

? ? ? ? ? ? GUI應用領域

? ? ? ? ? ? ? ? 大型商用程序采用C的較多

? ? ? ? ? ? ? ? Offices,SPSS,AutoCAD

? ? ? ? ? ? 大規(guī)模持搜、高性能計算、游戲開發(fā)以及一些傳統(tǒng)的客戶端軟件和構(gòu)件

4.C程序結(jié)構(gòu)特點

? ? ? ? ? ? 程序由一個或多個函數(shù)組成

? ? ? ? ? ? 必須有并且只能有一個主函數(shù)main()

? ? ? ? ? ? 程序執(zhí)行從main開始焙矛,在main中結(jié)束葫盼,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行

? ? ? ? ? ? C程序由語句組成

? ? ? ? ? ? 用";"作為語句終止符

? ? ? ? ? ? 習慣用小寫字母,大小寫敏感

6.linux平臺下我們用的編譯工具 gcc? (GUN)編譯器的集合村斟;我們用的編輯工具 VIM 贫导。

? ? 注: 區(qū)別的編譯器和編輯器的功用抛猫。

? ? ? ? -E? ? -S? ? -c? ? (-o)

? ? .c --> .i --> .s --> .o --> a.out

? ? ? 預處理? 編譯? 匯編? ? 鏈接

7.常用的字節(jié)和位之間的單位系

? ? ? ? ? ? 內(nèi)存以字節(jié)為單元組成,每個字節(jié)有一個地址孩灯,一個字節(jié)一般由8個二進制位組成闺金,每個二進制的值是0或1

? ? ? ? ? ? 1T = 1024G

? ? ? ? ? ? 1G = 1024M

? ? ? ? ? ? 1M = 1024K? ? ?

? ? ? ? ? ? 1K = 1024B? ? ?

? ? ? ? ? ? 1B = 8b? ? ? ? Byte 字節(jié)? Bit 位

8.C語言的32個關鍵字

? ? 只有32個,很多功能由函數(shù)實現(xiàn).

? ? auto? break? case? char? const? continue? default? do double? else

? ? enum? extern? float? for? goto? if? int? long? register? return

? ? short? signed sizeof? static? struct? switch? typedef? unsigned? union? void

? ? volatile? while

9.數(shù)據(jù)類型? ? 注:(區(qū)分數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu)的概念)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |--短整型short

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |整型----|--整型? int

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |--數(shù)值類型|? ? ? ? |--長整型long

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? |--擴展型長整型 long long

? ? |---------------基本類型--|? ? ? ? ? |? ? ? ?

? ? |? ? ? ? ? ? ? ? ? ? ? ? |? ? ? ? ? |實點型--|-單精度型float

? ? | ? ? ? ? ? ? ? |? ? ? ? ? ? ? ? ? |-雙精度型double

C? ? |? ? ? ? ? ? ? ? ? ? ? ? |--字符類型

數(shù)? |

據(jù) --|? ? ? ? ? ? ? ? ? ? ? ? |--數(shù)組

類? |---------------構(gòu)造類型--|--結(jié)構(gòu)體型

型? |? ? ? ? ? ? ? ? ? ? ? ? |--枚舉類型

? ? |? ? ? ? ? ? ? ? ? ? ? ? |--共用體型

? ? |?

? ? |---------------指針類型

? ? |

? ? |---------------空類型(無類型void)

? ? |? ? ? ? ? ? ? ?

? ? |---------------自定義類型typedef

10. 常量與變量

? ? 1》運行過程中,其值不能改變的量稱為常量峰档。12败匹,-3,4.6讥巡,-1.23掀亩,'a',“hello”。

? ? 2》在運行過程中可以改變其值的量叫變量欢顷。

? ? 3》和其它高級語言一樣槽棍,用來對變量,符號常量抬驴,函數(shù)炼七,數(shù)組等數(shù)據(jù)對象命名的有效字符序列稱為標志符。

? ? 注: 規(guī)定標識符只能由字母布持,數(shù)字和下劃線3種字符組成豌拙。且第一個字母必須為字母或下劃線。(有大小寫之分)

? ? Class? class 為不同的變量名题暖。

注:ANSI C沒有規(guī)定標識符的長度姆蘸,但各個C編譯系統(tǒng)都有自己的規(guī)定。如IBM——PC的MSC取8個字符芙委。大于8個字符的只取前8個字符作為有效標識符逞敷。

11.整型變量

? ? 1》 整型數(shù)據(jù)在內(nèi)存的存儲方式(補碼),正數(shù)和0的補碼和它的原碼相同灌侣,負數(shù)是原碼取反加1推捐;

? ? 2》 整數(shù)的十進制數(shù),八進制侧啼,二進制的相互轉(zhuǎn)換和表示方法牛柒;

? ? 10進制===>>2進制? (除二取余法)

? ? 2? ? ===>>10? ? 例10101? ? ==? 1*2^0+0*2^1+1*2^2+0*2^3+1*2^4

? 每一個十六進制對應4個bit

12.浮點型變量

float? f;

double? b;

13.字符變量與常量

man ascii

char ch? ? "ch為字符變量"

ch = 'a'? "a為字符常量"

14.字符串常量

? "hello world"

13.算術運算符和算術表達式

? (查表理解它們之間的優(yōu)先級別,盡可能的多記一點)

a+b; a b 操作數(shù)? ‘+’操作符

根據(jù)所需操作數(shù)的數(shù)量 將操作符分為:

1.單目運算符:++ --? & ! ~? *(解引用:訪問指針指向的空間)

2.雙目運算符:+ - * / %

3.三目運算符: ?:

14.輸出(printf)輸入(scanf)語句的用法和簡介

printf("hello %d\n",a);

scanf("%d",&a);

%? 格式控制符

a? 輸出/輸入?yún)?shù)

幾個%對應幾個輸出/輸入?yún)?shù)痊乾,也叫輸出列表

%d? ? 整數(shù)int

%h? ? short

%c? ? 字符char

%s? ? 字符串

%f? ? 浮點型float

%lf? ? double

%p? ? 地址

%x? ? 十六進制

%o? ? 一個八進制

%u? ? unsigned int

%hu? ? unsigned short

%ld? ? unsigned long

%lld? long long

%%? ? 輸出一個“%”

...........................

15.位運算

? ? ? 運算符? ? ? ? ? 含義

? ? ? ? &(清0)? ? ? ? 按位與? ? 0&0=0,? 0&1=0,? 1&0=0,? 1&1=1? ?

? ? |(置1)? ? ? ? 按位或? ? 0|0=0,? 1|0=1皮壁, 0|1=1, 1|1=1

? ? ^? ? ? ? ? ? 按位異或? 0^0=0,? 1^0=1,? 0^1=1,? 1^1=0? ?

? ? ~? ? ? ? ? ? 取反

? ? ? ? 在邏輯左右移移出去的直接丟棄,空出來的補0

? ? ? ? 算術右移移出去的直接丟棄 空出來的補符號位

? ? <<? ? ? ? ? ? 左移

? ? >>? ? ? ? ? ? 右移

16.布爾希值(bool)

? 非零為真哪审,零為假蛾魄。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子滴须,更是在濱河造成了極大的恐慌舌狗,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扔水,死亡現(xiàn)場離奇詭異痛侍,居然都是意外死亡,警方通過查閱死者的電腦和手機魔市,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門主届,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人待德,你說我怎么就攤上這事君丁。” “怎么了磅网?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵谈截,是天一觀的道長筷屡。 經(jīng)常有香客問我涧偷,道長,這世上最難降的妖魔是什么毙死? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任燎潮,我火速辦了婚禮,結(jié)果婚禮上扼倘,老公的妹妹穿的比我還像新娘确封。我一直安慰自己,他們只是感情好再菊,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布爪喘。 她就那樣靜靜地躺著,像睡著了一般纠拔。 火紅的嫁衣襯著肌膚如雪秉剑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天稠诲,我揣著相機與錄音侦鹏,去河邊找鬼。 笑死臀叙,一個胖子當著我的面吹牛略水,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播劝萤,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼渊涝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起驶赏,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤炸卑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后煤傍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盖文,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年蚯姆,在試婚紗的時候發(fā)現(xiàn)自己被綠了五续。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡龄恋,死狀恐怖疙驾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情郭毕,我是刑警寧澤它碎,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站显押,受9級特大地震影響扳肛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜乘碑,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一挖息、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兽肤,春花似錦套腹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至笤休,卻和暖如春尖飞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宛官。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工葫松, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人底洗。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓腋么,卻偏偏與公主長得像,于是被迫代替她去往敵國和親亥揖。 傳聞我的和親對象是個殘疾皇子珊擂,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容