C語(yǔ)言說(shuō)難不難,入門很容易,學(xué)精就有點(diǎn)難度了
1 編程語(yǔ)言
最早出現(xiàn)的是機(jī)器語(yǔ)言,機(jī)器語(yǔ)言是一種指令集的體系。這種指令集,稱機(jī)器碼(machine code), 是電腦的CPU可直接解讀的數(shù)據(jù)。機(jī)器語(yǔ)言是用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識(shí)別和執(zhí)行的一種機(jī)器指令的集合。
機(jī)器語(yǔ)言是計(jì)算機(jī)的設(shè)計(jì)者通過(guò)計(jì)算機(jī)的硬件結(jié)構(gòu)賦予計(jì)算機(jī)的操作功能。機(jī)器語(yǔ)言具有靈活、直接執(zhí)行和速度快等特點(diǎn)。不同型號(hào)的計(jì)算機(jī)其機(jī)器語(yǔ)言是不相通的,按著一種計(jì)算機(jī)的機(jī)器指令編制的程序,不能在另一種計(jì)算機(jī)上執(zhí)行。
一條指令就是機(jī)器語(yǔ)言的一個(gè)語(yǔ)句,它是一組有意義的二進(jìn)制代碼,指令的基本格式如,操作碼字段和地址碼字段,其中操作碼指明了指令的操作性質(zhì)及功能,地址碼則給出了操作數(shù)或操作數(shù)的地址。
用機(jī)器語(yǔ)言編寫程序,編程人員要首先熟記所用計(jì)算機(jī)的全部指令代碼和代碼的涵義。手編程序時(shí),程序員得自己處理每條指令和每一數(shù)據(jù)的存儲(chǔ)分配和輸入輸出,還得記住編程過(guò)程中每步所使用的工作單元處在何種狀態(tài)。這是一件十分繁瑣的工作。編寫程序花費(fèi)的時(shí)間往往是實(shí)際運(yùn)行時(shí)間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯(cuò)。除了計(jì)算機(jī)生產(chǎn)廠家的專業(yè)人員外,絕大多數(shù)的程序員已經(jīng)不再去學(xué)習(xí)機(jī)器語(yǔ)言了。
正是因?yàn)闄C(jī)器語(yǔ)言的各種缺點(diǎn),又不方便程序員去記憶,并且編寫程序以及檢查程序中出現(xiàn)的錯(cuò)誤,就在程序中出現(xiàn)了助記符,這便是匯編語(yǔ)言,匯編語(yǔ)言是將二進(jìn)制的機(jī)器碼通過(guò)助記符的方式讓人可以更方便的編寫并檢查的低級(jí)語(yǔ)言,匯編語(yǔ)言接近機(jī)器語(yǔ)言,可以看做是機(jī)器語(yǔ)言的另一種形式,計(jì)算機(jī)在運(yùn)行時(shí)也需要將其變?yōu)闄C(jī)器語(yǔ)言的二進(jìn)制形式才可運(yùn)行,在不同的設(shè)備中,匯編語(yǔ)言對(duì)應(yīng)著不同的機(jī)器語(yǔ)言指令集,通過(guò)匯編過(guò)程轉(zhuǎn)換成機(jī)器指令。普遍地說(shuō),特定的匯編語(yǔ)言和特定的機(jī)器語(yǔ)言指令集是一一對(duì)應(yīng)的,不同平臺(tái)之間不可直接移植,
機(jī)器語(yǔ)言和匯編語(yǔ)言跟硬件有著很大的關(guān)系,同樣的功能,我們?cè)诓煌脚_(tái)上需要以不同方式去編寫,簡(jiǎn)單來(lái)說(shuō)就是程序沒(méi)有移植性。所以我們需要考慮,如何脫離硬件平臺(tái),將編程重心轉(zhuǎn)移到人的身上,不會(huì)因?yàn)橛布牟煌淖兾覀兊某绦虼a,便有了后面以人為重心的編程語(yǔ)言,也稱為高級(jí)語(yǔ)言
高級(jí)語(yǔ)言最接近人類語(yǔ)言,但機(jī)器是無(wú)法執(zhí)行的,需要最終編譯連接成二進(jìn)制的機(jī)器代碼才可被計(jì)算機(jī)執(zhí)行,高級(jí)語(yǔ)言里面有C,C++,C#,java等等,而現(xiàn)在我們所學(xué)是就是C語(yǔ)言,就是高級(jí)語(yǔ)言的一種。
2 C語(yǔ)言
1972年由美國(guó)的貝爾實(shí)驗(yàn)室在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)開(kāi)發(fā)了C語(yǔ)言其目的是為了更好的設(shè)計(jì)開(kāi)發(fā)UNIX操作系統(tǒng),隨著微型計(jì)算機(jī)的日益普及,出現(xiàn)了許多C語(yǔ)言的版本
1983年,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)成立了一個(gè)委員會(huì),用來(lái)專門規(guī)范C語(yǔ)言
1989年,規(guī)范了C語(yǔ)言版本-----C89或者C90
1999年,在C89的基礎(chǔ)上,新增了一些特性----C99標(biāo)準(zhǔn)
C語(yǔ)言:用來(lái)人和計(jì)算機(jī)進(jìn)行交流的一種編程語(yǔ)言。而計(jì)算機(jī)所識(shí)別的語(yǔ)言是機(jī)器語(yǔ)言(由0和1組成得二進(jìn)制碼)需要將C語(yǔ)言轉(zhuǎn)換為計(jì)算機(jī)可以識(shí)別得機(jī)器語(yǔ)言,此時(shí)就是需要一個(gè)“翻譯官”,而編譯器就充當(dāng)了這個(gè)角色。因?yàn)镃語(yǔ)言編譯(編譯器)生成的可執(zhí)行文件中,含有計(jì)算機(jī)所能識(shí)別的機(jī)器代碼。
3 C語(yǔ)言的特點(diǎn)
3.1 C語(yǔ)言可以直接為對(duì)位 字節(jié) 地址操作
數(shù)據(jù)需要存儲(chǔ),需要存儲(chǔ)單元,存儲(chǔ)單元大小
位,字節(jié): 衡量計(jì)算機(jī)內(nèi)存中存儲(chǔ)單元的大小
位:?jiǎn)挝唬篵it 是計(jì)算機(jī)中最小的存儲(chǔ)單位,只能存儲(chǔ)0或1
字節(jié):?jiǎn)挝唬篵yte, 是計(jì)算機(jī)中常用的存儲(chǔ)單位,1byte = 8 bit
地址:在計(jì)算機(jī)系統(tǒng)中,系統(tǒng)為每一個(gè)字節(jié)分配一個(gè)編號(hào),編號(hào)是固定,并采用十六進(jìn)制的形式表示,一個(gè)字節(jié)固定一個(gè)編號(hào),這個(gè)編號(hào)就是地址,地址的長(zhǎng)度也是固定
1B = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.2 數(shù)據(jù)類型豐富
存儲(chǔ)數(shù)據(jù),---------》存儲(chǔ)單位
數(shù)據(jù)存儲(chǔ)在內(nèi)存空間中,占多大的空間,(占多大的字節(jié))
10 56 700 80000
數(shù)據(jù)類型根據(jù)數(shù)據(jù)的形式,(數(shù)據(jù)的類型)確定數(shù)據(jù)在內(nèi)存空間中需要占多大的字節(jié)
3.3 運(yùn)算符豐富
運(yùn)算符:對(duì)數(shù)據(jù)的一種操作規(guī)則(計(jì)算方法)
34種運(yùn)算符
3.4 結(jié)構(gòu)化編程
順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu)
程序劇透邏輯性,層次清晰,易于閱讀
3.5 程序代碼生成質(zhì)量高,編程效率高,
3.6 書寫靈活,
3.7 具有移植性
等等,C語(yǔ)言是最為基礎(chǔ)的語(yǔ)言
聯(lián)系客服