資源描述:
《c程序設(shè)計基礎(chǔ)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、一、C程序設(shè)計基礎(chǔ)1.二進制基礎(chǔ)?計算機采用二進制的原因?成本更低?運算更簡單?硬件上更容易實現(xiàn)?二、八、十、十六進制數(shù)的轉(zhuǎn)換?10進制數(shù)轉(zhuǎn)換成2、8、16進制數(shù)整數(shù)部分:除基取余法小數(shù)部分:乘基取整法?2、8、16進制數(shù)轉(zhuǎn)換成10進制數(shù)按權(quán)相加法?2進制數(shù)轉(zhuǎn)換成16進制數(shù)四位一組用16進制數(shù)代替?16進制數(shù)轉(zhuǎn)換成2進制數(shù)每位用四位2進制數(shù)代替?數(shù)據(jù)在計算機中的存儲形式?位、字節(jié)和字的概念?內(nèi)存單元、內(nèi)存單元地址和指針的概念?整數(shù)的無符號與有符號表示?原碼、反碼和補碼?原碼:一個整數(shù)在內(nèi)存中占二字節(jié),規(guī)定
2、高位字節(jié)的最左邊一位為最高位,表示數(shù)的符號(0正1負),其余各位代表數(shù)本身的絕對值。如:+8的原碼0000000000001000-8的原碼1000000000001000+0的原碼0000000000000000-0的原碼1000000000000000?反碼:正數(shù)的反碼與原碼相同,負數(shù)的反碼規(guī)定符號位不動,其余各位對原碼取反如:-8的反碼1111111111110111-0的反碼1111111111111111?補碼:正數(shù)的補碼同原碼,負數(shù)的補碼為它的反碼加1如:-8的補碼11111111111110
3、00-0的補碼0000000000000000+0的補碼0000000000000000?用補碼表示數(shù)時,0的代碼是唯一的;負數(shù)補碼的補碼是它的原碼;用補碼表示數(shù)使加減法的統(tǒng)一。1111111111111101(-3)的補碼+0000000000000001(+1)的補碼1111111111111110(-2)的補碼?模216原則假定用16位二進制表示一個整數(shù),則數(shù)值范圍為:無符號數(shù):0000000000000000~11111111111111110~216-1即0~65535有符號數(shù):10000000
4、00000000~0111111111111111-215~215-1即-32768~32767如果計算機進行運算時運算結(jié)果超出這16位范圍,那么將只取低16位作為結(jié)果,例如:65534+3=65536+1無符號有符號1111111111111110(65534)(-2)+0000000000000011(3)(3)10000000000000001(1)(1)無符號有符號1000000000000010(32770)(-32766)+1111111111111101(65533)(-3)10111111
5、111111111(32767)(32767)無符號32770+65533=65536+32767有符號-32766-3=-32769=-65536+32767結(jié)論:設(shè)有兩個整數(shù)a和b對216求余數(shù)(模)所得結(jié)果相同(即兩數(shù)的二進制表示中低16位完全相同),那么計算機就認為這兩數(shù)是同一個數(shù),計算機的這個特征稱為取模原則或模216原則,即任何一個數(shù)加上或減去65536所得結(jié)果相同。2.程序設(shè)計初步?程序設(shè)計語言?機器語言計算機能直接執(zhí)行的二進制指令的集合?匯編語言用“助憶符”代替二進制形式的指令組成的指令集
6、。計算機不能直接執(zhí)行匯編語言編寫的程序,須經(jīng)“匯編程序”“翻譯”成機器語言。?高級語言更接近于人們習慣的自然語言和所用的數(shù)學公式。計算機不能直接執(zhí)行高級語言編寫的源程序,須翻譯成機器語言,主要有兩種方式:一種是編譯方式:“編譯程序”把整個源程序翻譯成機器語言的目標程序,以后再執(zhí)行該目標程序。另一種是解釋方式:“解釋程序”把源程序翻譯一句,執(zhí)行一句,…直至結(jié)束。?程序設(shè)計的含義?算法+數(shù)據(jù)結(jié)構(gòu)=程序算法:指問題的求解過程(計算機工作的步驟)數(shù)據(jù)結(jié)構(gòu):指對參與運算的數(shù)據(jù)的組織和安排?面向過程與面向?qū)ο?算法的
7、表示方法⑴用自然語言⑵用流程圖(傳統(tǒng)流程圖和N-S流程圖)例如:描述計算1至n累加和的流程。用自然語言描述如下:用傳統(tǒng)流程圖描述如下:①輸入整數(shù)n②置變量s為0③置變量i為1④將變量i的值加到s中⑤變量i遞增1⑥如果i≤n則轉(zhuǎn)到步驟④⑦輸出s的值T開始輸入n1?iFi≤n0?ss+i?si+1?i輸出s結(jié)束?結(jié)構(gòu)化程序設(shè)計?自頂向下,逐步細化根據(jù)總要求和完成功能逐步細分成若干相對獨立的模塊和子模塊?清晰第一,效率第二程序要清晰易讀,包括采用有意義的變量名和作必要的注釋?書寫規(guī)范,縮進格式統(tǒng)一標準的格式書寫
8、程序,用分層縮進的寫法顯示嵌套結(jié)構(gòu)的層次或區(qū)分每一結(jié)構(gòu)?基本結(jié)構(gòu),組合而成程序用順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成3.C語言概述?C語言簡史1972年Bell實驗室D.M.Ritchie在B語言基礎(chǔ)上設(shè)計1973年和Thompson合作用以改寫UNIX1978年B.W.Kernighan和D.M.Ritchie(簡稱K&R)合著《TheCProgramingLanguage》稱為標準C1983年美國國家標準化協(xié)會制定發(fā)表ANSI