c語言是目前在所有開發(fā)技術中廣泛使用的語言,從誕生之日起就受到程序員們的喜愛。
隨著C語言的普及,后來的開發(fā)語言都或多或少地借鑒或遵循了它的一些模式。另外,C語言是計算機編程領域中使用最早的高級語言之一,它的出現(xiàn)推動了軟件行業(yè)的迅猛發(fā)展。本章將簡要介紹C語言的基本知識,為讀者學習后面的內(nèi)容打下基礎。1.1 計算機應用基礎
計算機(computer)是一種能接收和存儲信息,并按照內(nèi)部存儲的程序?qū)斎氲男畔⑦M行加工、處理,然后把處理結果進行輸出的高度自動化的電子設備。本節(jié)介紹計算機應用的基礎知識,為讀者學習后面的知識打下基礎。
1.1.1 中央處理器
中央處理器就是我們平常說的CPU(Central Processing Unit),是一塊超大規(guī)模的集成電路,是計算機的運算核心和控制核心。它主要包括算術和邏輯單元(Arithmetic and Logic Unit,ALU)和控制單元(Control Unit,CU)兩大部件。此外,它還包括若干個寄存器和存儲器及彼此之間的數(shù)據(jù)、控制與狀態(tài)總線。它與內(nèi)部存儲器和輸入/輸出設備合稱為電子計算機的三大核心部件。其功能主要是解釋計算機指令以及處理計算機軟件中的數(shù)據(jù)。計算機的性能在很大程度上由CPU的性能所決定,而CPU的性能主要體現(xiàn)在運行程序的速度上。
1.1.2 位和字節(jié)
1.位
位(bit)又稱為比特,bit是Binary System的縮寫。在現(xiàn)實應用中,位有如下兩個含義。
(1)它是計算機專業(yè)術語,是信息量單位。二進制數(shù)的一位所包含的信息就是一位,如二進制數(shù)0100就有4位。在計算機應用中,二進制數(shù)“0”和“1”是構成信息的最小單位,稱作“位”或“比特”。
(2)二進制數(shù)字中的位是信息量的度量單位,為信息量的最小單位。數(shù)字化音響用電脈沖表達音頻信號,“1”代表有脈沖,“0”代表脈沖間隔。如果波形中每個點的信息用4位一組的編碼來表示,則每組編碼有4位。位數(shù)越多,表達的模擬信號就越精確,對音頻信號的還原能力越強。
2.字節(jié)
字節(jié)(Byte),是計算機信息技術中用于存儲容量的一種計量單位,有時在一些計算機編程語言中也表示數(shù)據(jù)類型和語言字符。
在計算機應用中,由若干位組成1字節(jié)。字節(jié)由多少位組成取決于計算機的結構。通常來說,微型計算機的CPU多由8位組成1字節(jié),并用此表示一個字符的代碼。構成1字節(jié)的8位被看作一個整體,字節(jié)是存儲信息的基本單位。在大多數(shù)情況下,計算機存儲單位的換算關系如下:
1B=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB在上述關系中各個單位的具體說明如下:
- B:表示字節(jié)。
- bit:表示位。
- KB:表示千字節(jié)。
- MB:表示兆字節(jié)。
- GB:表示吉字節(jié)。
1.1.3 二進制
二進制是計算機技術中廣泛采用的一種數(shù)制,是使用0和1兩個數(shù)碼來表示的數(shù)。二進制的基數(shù)為2,進位規(guī)則是“逢二進一”,借位規(guī)則是“借一當二”,這是由18世紀德國數(shù)理哲學大師萊布尼茲發(fā)現(xiàn)的。當前的計算機系統(tǒng)使用的基本上都是二進制系統(tǒng),數(shù)據(jù)在計算機中主要是以補碼的形式進行存儲的。計算機中的二進制是一個非常微小的開關,用“開”來表示1,用“關”來表示0。因為它只使用0、1兩個數(shù)字符號,所以非常簡單方便,易于用電子方式來實現(xiàn)。
下面介紹如何將十進制數(shù)轉(zhuǎn)換成二進制數(shù)。
(1)把正整數(shù)轉(zhuǎn)換成二進制。
轉(zhuǎn)換原則是除以2取余,然后倒序排列,高位補零。也就是說,將正的十進制數(shù)除以2,得到的商再除以2,依次類推,一直到商為0或1,然后在旁邊標出各步的余數(shù),最后倒著寫出來,高位補零即可。例如,將十進制數(shù)字42轉(zhuǎn)換為二進制的步驟為:42除以2得到的余數(shù)連在一起為010101,然后將得到的余數(shù)倒著排一下就會得到數(shù)字42,所對應的二進制數(shù)是101010。但是因為在計算機內(nèi)部表示數(shù)的字節(jié)單位是定長的(如8位、16位或32位),所以當位數(shù)不夠時,需要在高位補零。十進制數(shù)42轉(zhuǎn)換成二進制數(shù)的結果是101010,它的前面缺少兩位,因此將十進制數(shù)42轉(zhuǎn)換成二進制數(shù)的最終結果是:00101010。
(2)把負整數(shù)轉(zhuǎn)換成二進制。
轉(zhuǎn)換原則是先將對應的正整數(shù)轉(zhuǎn)換成二進制,最后對二進制數(shù)取反,最后將結果加1。以十進制負整數(shù)?42為例,將42的二進制形式(00101010)取反得到的結果是11010101,然后再加1的結果是11010110。所以負整數(shù)?42轉(zhuǎn)成二進制數(shù)的最終結果是:11010110。
(3)把二進制整數(shù)轉(zhuǎn)換成十進制。
轉(zhuǎn)換原則是先將二進制數(shù)補齊位數(shù)。如果首位是0則代表它是正整數(shù);如果首位是1則代表它是負整數(shù)。先看首位是0的正整數(shù),補齊位數(shù)以后,得到n×2m的計算結果。其中,上標m表示二進制數(shù)字的位數(shù),n表示二進制的某個位數(shù)。對于二進制數(shù)中的各位分別計算n×2m,然后將計算結果相加得到值的就為十進制數(shù)。比如將二進制數(shù)1010轉(zhuǎn)換為十進制數(shù)的過程如下。
二進制 1 0 1 0
補齊位數(shù) 0 0 0 0 1 0 1 0
計算n×2m 0×27 0×26 0×25 0×24 1×23 0×22 1×21 0×20
計算結果 0 0 0 0 8 0 2 0
各位求和結果 10
所以將二進制數(shù)1010轉(zhuǎn)換為十進制數(shù)的結果是10。
如果要轉(zhuǎn)換的二進制數(shù)補足位數(shù)后首位為1,那么表示這個二進制數(shù)是負整數(shù)。此時,就需要先取反,然后再進行換算:例如二進制數(shù)11101011的首位為1,這時應先取反得到00010100,然后按照上面的計算過程得出10100對應的十進制數(shù)20,所以二進制數(shù)11101011對應的十進制數(shù)為?20。
1.1.4 編碼格式
1.ASCII碼
ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼),是基于拉丁字母的一套計算機編碼系統(tǒng),主要用于表示現(xiàn)代英語和其他西歐語言。ASCII碼是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國際標準ISO/IEC 646。
一個英文字母(不分大小寫)占1字節(jié)空間,一個中文漢字占2字節(jié)空間。一個二進制數(shù)字序列在計算機中為一個數(shù)字單元,一般為8位二進制數(shù)。它的最小值為0,最大值為255。例如,一個ASCII碼就是1字節(jié)。
2.Unicode編碼
Unicode(又稱為統(tǒng)一碼、萬國碼、單一碼)是計算機科學領域里的一項業(yè)界標準,包括字符集、編碼方案等。Unicode編碼是為了解決傳統(tǒng)字符編碼方案的局限性而產(chǎn)生的,它為每種語言中的每個字符都設定了統(tǒng)一并且唯一的二進制編碼,以滿足跨語言和跨平臺進行文本轉(zhuǎn)換、處理的要求。
最初Unicode編碼的長度是固定的16位,也就是2字節(jié)代表一個字符,這樣可以表示65536個字符。顯然,若要表示各種語言中的所有字符,這是遠遠不夠的。Unicode 4.0規(guī)范考慮到了這種情況,定義了一組附加字符編碼。附加字符編碼采用兩個16位來表示,這樣最多可以定義1 048 576個附加字符。目前,Unicode 4.0規(guī)范只定義了45 960個附加字符。
Unicode只是一個編碼規(guī)范。目前實際實現(xiàn)的Unicode編碼只要有3種:UTF-8、UCS-2和UTF-16。3種Unicode字符集之間可以按照相關規(guī)范進行轉(zhuǎn)換。
3.UTF-8編碼
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度的字符編碼,又稱為萬國碼。UTF-8由Ken Thompson于1992年創(chuàng)建,現(xiàn)在已經(jīng)將它標準化為RFC 3629。UTF-8用1~6字節(jié)編碼Unicode字符。在網(wǎng)頁上它可以統(tǒng)一頁面顯示中文簡體/繁體及其他語言(如英文、日文、韓文)。一個UTF-8編碼的英文字符占用1字節(jié);一個UTF-8編碼的中文(含繁體)字符少數(shù)情況下占用3字節(jié),多數(shù)情況下占用4字節(jié);一個UTF-8編碼的數(shù)字占用1字節(jié)。
邊看書邊聽視頻,迅速掌握C編程技術的指南
本書賣點
本書內(nèi)容和服務有優(yōu)勢:
1,提供100個提高程序性能的技巧。
2,增加課后練習模塊
3,繼續(xù)發(fā)揮一本書包含三本書內(nèi)容的優(yōu)勢,用從入門到精通的寫法進行。
4,按照C11新版本寫作,案例和內(nèi)容刪除過時的技術,讓讀者真正和現(xiàn)實項目結合起來。
5,贈送市面中符合讀者需求的學習資料。
6,全視頻講解
7,開設輔導讀者的視頻課。
內(nèi)容提要
本書循序漸進、由淺入深地講解了C語言開發(fā)的技術。全書共25章。本書不僅介紹了C語言的基礎和核心知識(如開發(fā)工具、語法、運算符、表達式、輸入/輸出、流程控制、數(shù)組、字符串、函數(shù)),還講解了C語言中的重點和難點(如指針、結構體、共用體和枚舉、鏈表、位運算、預編譯、文件操作、調(diào)試、內(nèi)存管理、高級編程技術、算法、數(shù)據(jù)結構、網(wǎng)絡編程技術等)。此外,本書還通過4個綜合實例,介紹了C語言在綜合項目中的應用。全書內(nèi)容以“技術解惑”和“范例演練”貫穿全書,引領讀者全面掌握C語言。
本書不但適用C語言的初學者,也適合有一定C語言基礎的讀者學習,還可以作為大專院校相關專業(yè)的師生用書和培訓學校的教材。
(此處已添加圈子卡片,請到今日頭條客戶端查看)歡迎加入程序員讀書會,每日與你分享好書和文章
1.《101010大寫怎么寫看這里!程序員入門C語言,需要掌握的4個基礎知識》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《101010大寫怎么寫看這里!程序員入門C語言,需要掌握的4個基礎知識》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/2206884.html