![CH1c程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/168148f4-c672-42eb-b309-c5a9368f93ca/168148f4-c672-42eb-b309-c5a9368f93ca1.gif)
![CH1c程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/168148f4-c672-42eb-b309-c5a9368f93ca/168148f4-c672-42eb-b309-c5a9368f93ca2.gif)
![CH1c程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/168148f4-c672-42eb-b309-c5a9368f93ca/168148f4-c672-42eb-b309-c5a9368f93ca3.gif)
![CH1c程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/168148f4-c672-42eb-b309-c5a9368f93ca/168148f4-c672-42eb-b309-c5a9368f93ca4.gif)
![CH1c程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/15/168148f4-c672-42eb-b309-c5a9368f93ca/168148f4-c672-42eb-b309-c5a9368f93ca5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、C程序設(shè)計(jì)基礎(chǔ) 1. 二進(jìn)制基礎(chǔ) 計(jì)算機(jī)采用二進(jìn)制的原因 成本更低 運(yùn)算更簡(jiǎn)單 硬件上更容易實(shí)現(xiàn) 二、八、十、十六進(jìn)制數(shù)的轉(zhuǎn)換 10進(jìn)制數(shù)轉(zhuǎn)換成2、8、16進(jìn)制數(shù) 整數(shù)部分:除基取余法 小數(shù)部分:乘基取整法 2、8、16進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制數(shù) 按權(quán)相加法 2進(jìn)制數(shù)轉(zhuǎn)換成16進(jìn)制數(shù) 四位一組用16進(jìn)制數(shù)代替 16進(jìn)制數(shù)轉(zhuǎn)換成2進(jìn)制數(shù) 每位用四位2進(jìn)制數(shù)代替 數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)形式 位、字節(jié)和字的概念 內(nèi)存單元、內(nèi)存單元地址和指針的概念 整數(shù)的無(wú)符號(hào)與有符號(hào)表示 原碼、反碼和補(bǔ)碼 原碼原碼:一個(gè)整數(shù)在內(nèi)存中占二字節(jié),規(guī)定高位 字節(jié)的最左邊一位為最高位,表示數(shù)的符號(hào)(0 正1負(fù)),其余各位代表
2、數(shù)本身的絕對(duì)值。如:+8的原碼 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 - 8的原碼 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 +0的原碼 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - 0的原碼 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 反碼反碼:正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼規(guī)定 符號(hào)位不動(dòng),其余各位對(duì)原碼取反如:- 8的反碼 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 - 0的反碼 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 補(bǔ)碼補(bǔ)碼:正數(shù)的補(bǔ)碼同原碼,負(fù)數(shù)的
3、補(bǔ)碼為它的 反碼加1 如:- 8的補(bǔ)碼 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 - 0的補(bǔ)碼 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0的補(bǔ)碼 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 用補(bǔ)碼表示數(shù)時(shí),0的代碼是唯一的; 負(fù)數(shù)補(bǔ)碼的補(bǔ)碼是它的原碼; 用補(bǔ)碼表示數(shù)使加減法的統(tǒng)一 。 1111 1111 1111 1101 (-3)的補(bǔ)碼 + 0000 0000 0000 0001 (+1)的補(bǔ)碼 1111 1111 1111 1110 (-2)的補(bǔ)碼 模216原則 假定用16位二進(jìn)制表示一個(gè)整數(shù),則數(shù)值范圍為: 無(wú)符號(hào)數(shù):0
4、0000000000000001111111111111111 0 216 -1 即 065535 有符號(hào)數(shù):10000000000000000111111111111111 -215 215 -1 即 -3276832767 如果計(jì)算機(jī)進(jìn)行運(yùn)算時(shí)運(yùn)算結(jié)果超出這16位范圍, 那么將只取低16位作為結(jié)果,例如: 65534 + 3 = 65536+1 無(wú)符號(hào) 有符號(hào) 1111 1111 1111 1110 (65534) (-2) + 0000 0000 0000 0011 (3) (3) 1 0000 0000 0000 0001 (1) (1) 無(wú)符號(hào) 有符號(hào) 1000 0000 0000
5、0010 (32770)(-32766) + 1111 1111 1111 1101 (65533)(-3) 1 0111 1111 1111 1111 (32767)(32767) 無(wú)符號(hào) 32770+65533 = 65536+32767 有符號(hào) -32766-3 = -32769 = -65536+32767 結(jié)論結(jié)論:設(shè)有兩個(gè)整數(shù)a和b對(duì)216求余數(shù)(模)所得結(jié)果相同(即兩數(shù)的二進(jìn)制表示中低16位完全相同),那么計(jì)算機(jī)就認(rèn)為這兩數(shù)是同一個(gè)數(shù),計(jì)算機(jī)的這個(gè)特征稱為取模原則或模216原則,即任何一個(gè)數(shù)加任何一個(gè)數(shù)加上或減去上或減去6553665536所得結(jié)果相同所得結(jié)果相同。2. 程序設(shè)計(jì)
6、初步 程序設(shè)計(jì)語(yǔ)言 機(jī)器語(yǔ)言 計(jì)算機(jī)能直接執(zhí)行的二進(jìn)制指令的集合 匯編語(yǔ)言 用“助憶符”代替二進(jìn)制形式的指令組成的指令集。 計(jì)算機(jī)不能直接執(zhí)行匯編語(yǔ)言編寫(xiě)的程序,須經(jīng) “匯編程序”“翻譯”成機(jī)器語(yǔ)言。 高級(jí)語(yǔ)言 更接近于人們習(xí)慣的自然語(yǔ)言和所用的數(shù)學(xué)公式。 計(jì)算機(jī)不能直接執(zhí)行高級(jí)語(yǔ)言編寫(xiě)的源程序,須 翻譯成機(jī)器語(yǔ)言,主要有兩種方式: 一種是編譯編譯方式: “編譯程序”把整個(gè)源程序翻譯成機(jī)器語(yǔ)言的目標(biāo) 程序,以后再執(zhí)行該目標(biāo)程序。 另一種是解釋解釋方式: “解釋程序”把源程序翻譯一句,執(zhí)行一句,直 至結(jié)束。 程序設(shè)計(jì)的含義 算法 + 數(shù)據(jù)結(jié)構(gòu) = 程序 算法:算法:指問(wèn)題的求解過(guò)程(計(jì)算機(jī)工作的
7、步驟) 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu):指對(duì)參與運(yùn)算的數(shù)據(jù)的組織和安排 面向過(guò)程與面向?qū)ο?算法的表示方法 用自然語(yǔ)言 用流程圖(傳統(tǒng)流程圖和N-S流程圖) 例如:描述計(jì)算1至n累加和的流程。用自然語(yǔ)言描述如下: 用傳統(tǒng)流程圖描述如下: 輸入整數(shù)n 置變量s為0 置變量i為1 將變量i的值加到s中 變量i遞增1 如果i n則轉(zhuǎn)到步驟 輸出s的值 T開(kāi) 始輸入n1 iFin 0 ss+i si+1 i輸出s結(jié) 束 結(jié)構(gòu)化程序設(shè)計(jì) 自頂向下,逐步細(xì)化自頂向下,逐步細(xì)化 根據(jù)總要求和完成功能逐步細(xì)分成若干相對(duì)獨(dú)立 的模塊和子模塊 清晰第一,效率第二清晰第一,效率第二 程序要清晰易讀,包括采用有意義的變量名和作
8、必要的注釋 書(shū)寫(xiě)規(guī)范,縮進(jìn)格式書(shū)寫(xiě)規(guī)范,縮進(jìn)格式 統(tǒng)一標(biāo)準(zhǔn)的格式書(shū)寫(xiě)程序,用分層縮進(jìn)的寫(xiě)法顯 示嵌套結(jié)構(gòu)的層次或區(qū)分每一結(jié)構(gòu) 基本結(jié)構(gòu),組合而成基本結(jié)構(gòu),組合而成 程序用順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成 3. C語(yǔ)言概述 C語(yǔ)言簡(jiǎn)史 1972年 Bell實(shí)驗(yàn)室D.M.Ritchie在B語(yǔ)言基礎(chǔ)上設(shè)計(jì) 1973年 和Thompson合作用以改寫(xiě) UNIX 1978年 B.W.Kernighan和D.M.Ritchie (簡(jiǎn)稱K&R) 合著The C Programing Language 稱為標(biāo)準(zhǔn) C 1983年 美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)制定發(fā)表 ANSI C 1987年 美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)制定發(fā)表
9、87 ANSI C 1989年 美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)制定發(fā)表最終版 C89 1990年 國(guó)際標(biāo)準(zhǔn)化組織(ISO)批準(zhǔn)了同一標(biāo)準(zhǔn), 稱為C90,本教材以此版本為基礎(chǔ) 1999年 ANSI和ISO聯(lián)合制訂了新標(biāo)準(zhǔn),稱為C99 C語(yǔ)言最初是為了編寫(xiě)UNIX操作系統(tǒng)而推出的, 1978年后,C語(yǔ)言先后移植到大、中、小、微型機(jī) 上,成為應(yīng)用最廣泛的計(jì)算機(jī)語(yǔ)言之一 C語(yǔ)言特點(diǎn) 面向過(guò)程的結(jié)構(gòu)化語(yǔ)言,包含豐富的數(shù)據(jù)類(lèi)型和 運(yùn)算符,適用于一般解題和科學(xué)計(jì)算等各種領(lǐng)域 講究效率,書(shū)寫(xiě)格式簡(jiǎn)潔自由,編譯生成的代碼 質(zhì)量非常高。指針類(lèi)型等能直接控制系統(tǒng)的各種 資源,因此可以最大限度地提高程序的靈活性。 但源程序的語(yǔ)法
10、檢查相對(duì)不太嚴(yán)格 最接近于匯編語(yǔ)言,是匯編語(yǔ)言最好的替代工具 內(nèi)核部分相當(dāng)小,編譯器容易實(shí)現(xiàn),容易推廣到 各種不同的平臺(tái)上,通過(guò)非常豐富的庫(kù)函數(shù)和自 己擴(kuò)充函數(shù),可以編寫(xiě)出各種功能強(qiáng)大的程序 C語(yǔ)言字符集 大小寫(xiě)英文字母: az AZ 數(shù)字字符: 09 27個(gè)特殊字符: + - * / = : ; ? | ! # % & () _ , . 空格 C語(yǔ)言標(biāo)識(shí)符 標(biāo)識(shí)符標(biāo)識(shí)符:是指用來(lái)標(biāo)識(shí)程序中用到的變量名、函 數(shù)名、類(lèi)型名、數(shù)組名以及符號(hào)常量名等的有效 字符序列 標(biāo)識(shí)符標(biāo)識(shí)符組成組成: 標(biāo)識(shí)符必須由字母或下劃線開(kāi)頭, 后跟字母或下劃線或數(shù)字,字母區(qū)分大小寫(xiě) 標(biāo)識(shí)符長(zhǎng)度標(biāo)識(shí)符長(zhǎng)度:有效字符個(gè)數(shù)無(wú)統(tǒng)
11、一規(guī)定,隨C 編 譯系統(tǒng)而定 ,一般只能識(shí)別前8個(gè)字符,TC 2.0 支持最長(zhǎng)為32個(gè)字符 選擇標(biāo)識(shí)符時(shí),提倡使用有意義的英文單詞,注 意做到“見(jiàn)名知義見(jiàn)名知義” 關(guān)鍵字關(guān)鍵字是由語(yǔ)言規(guī)定的具有特定意義的字符串, 通常也稱為保留字保留字 ,不允許作標(biāo)識(shí)符(見(jiàn)附錄) 簡(jiǎn)單的C程序例1: main ( ) /*主函數(shù)*/ /*函數(shù)體*/ printf(This is a c program.n); /*調(diào)用輸出函數(shù)*/ /*字符串*/ /* n 換行符*/ /*句末用分號(hào)*/ 本程序的作用是輸出以下一行信息: This is a c program.例2: /* 求兩個(gè)變量之和 */ main (
12、 ) int a, b, sum; /* 變量說(shuō)明 */ a=123; b=456; /* 賦值 */ sum=a+b; /* 求和計(jì)算 */ printf(“sum = %dn”, sum); /* 調(diào)用輸出函數(shù) */ 本程序的運(yùn)行結(jié)果: sum = 579幾點(diǎn)認(rèn)識(shí)幾點(diǎn)認(rèn)識(shí): C是函數(shù)式的語(yǔ)言,C程序由函數(shù)構(gòu)成 有且只有一個(gè)主函數(shù)(main()函數(shù)) 函數(shù)名后須有一對(duì)圓括號(hào),括號(hào)內(nèi)可有參數(shù) 函數(shù)名下至少有一對(duì)花括號(hào),最外層花括號(hào)內(nèi)是 函數(shù)體, 函數(shù)體包括變量說(shuō)明和程序語(yǔ)句 每個(gè)程序語(yǔ)句以分號(hào)為結(jié)束 一行內(nèi)可寫(xiě)多個(gè)語(yǔ)句,一個(gè)語(yǔ)句可分寫(xiě)在多行上 程序中可用 /*.*/ 對(duì)任何部分作注釋本章結(jié)束數(shù)
13、據(jù)在計(jì)算機(jī)中的存儲(chǔ)形式(16位系統(tǒng))字節(jié)(8位)地址00000001 2000200120022003 FFFEFFFF64K容量 16位變量x指針變量p00000000001000000011100100110000= &x= 12345除基取余法:除基取余法:十進(jìn)制整十進(jìn)制整數(shù)數(shù)轉(zhuǎn)二進(jìn)制轉(zhuǎn)二進(jìn)制除2取余法192=9 1 (低位) 92=4 1 42=2 0 22=1 0 12=0 1 (高位) (19)10=(10011)2十進(jìn)制整十進(jìn)制整數(shù)數(shù)轉(zhuǎn)十六進(jìn)制轉(zhuǎn)十六進(jìn)制除16取余法999916=624 15 62416= 39 0 3916= 2 7 216= 0 2 (9999)10=(270F)16乘基取整法:乘基取整法:十進(jìn)制小十進(jìn)制小數(shù)數(shù)轉(zhuǎn)二進(jìn)制轉(zhuǎn)二進(jìn)制乘2取整法0.6875 2 = 1.375 0.375 2 = 0.75 0.75 2 = 1.5 0.5 2 = 1.0(0.6875)10=(0.1011)2 十進(jìn)制小十進(jìn)制小數(shù)數(shù)轉(zhuǎn)八進(jìn)制轉(zhuǎn)八進(jìn)制乘8取整法0.6875 8 = 5.5 0.5 8 = 4.0(0.6875)10=(0.54)8 按權(quán)相加
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療照明銷(xiāo)售合同范例
- 供暖法律合同范例
- 2025年度物流園區(qū)后勤保障與運(yùn)營(yíng)管理合同
- 產(chǎn)品英文訂購(gòu)合同范本
- 中國(guó)針織襯衫行業(yè)市場(chǎng)深度分析及投資策略咨詢報(bào)告
- 倉(cāng)儲(chǔ)承包服務(wù)合同范本
- 低價(jià)漁具轉(zhuǎn)讓合同范例
- 公寓電腦租賃合同范本
- 農(nóng)機(jī)合同范本
- 仔豬購(gòu)買(mǎi)合同范本
- 數(shù)學(xué)-河南省三門(mén)峽市2024-2025學(xué)年高二上學(xué)期1月期末調(diào)研考試試題和答案
- 2025年春新人教版數(shù)學(xué)七年級(jí)下冊(cè)教學(xué)課件
- 《心臟血管的解剖》課件
- 心肺復(fù)蘇課件2024
- 2024-2030年中國(guó)并購(gòu)基金行業(yè)發(fā)展前景預(yù)測(cè)及投資策略研究報(bào)告
- 河道清淤安全培訓(xùn)課件
- 2024各科普通高中課程標(biāo)準(zhǔn)
- 7.3.1印度(第1課時(shí))七年級(jí)地理下冊(cè)(人教版)
- 教師培訓(xùn)校園安全
- 清華大學(xué)考生自述
- AS9100D人力資源管理程序(范本)
評(píng)論
0/150
提交評(píng)論