第1章軟件的誕生與發(fā)展
1.1軟件的誕生
1.1.1計(jì)算機(jī)的誕生
1.1.2軟件概念的出現(xiàn)與發(fā)展
1.2程序設(shè)計(jì)語言
1.2.1低級語言
1.2.2高級語言
1.2.3系統(tǒng)軟件
1.3軟件工程
1.3.1軟件開發(fā)模型
1.3.2軟件開發(fā)方法
1.3.3軟件開發(fā)環(huán)境
1.3.4軟件技術(shù)回顧
1.4常用的軟件開發(fā)工具
1.4.1VisualBasic開發(fā)工具
1.4.2VisualC++開發(fā)工具
1.4.3Java開發(fā)工具
1.4.4Delphi開發(fā)工具
1.5習(xí)題
1.5.1簡答題
第2章計(jì)算機(jī)中信息的表示
2.1常用數(shù)制及其相互轉(zhuǎn)換
2.1.1十進(jìn)制數(shù)
2.1.2二進(jìn)制數(shù)
實(shí)例1:把二進(jìn)制數(shù)1101.11轉(zhuǎn)換成十進(jìn)制數(shù)
實(shí)例2:把十進(jìn)制數(shù)37轉(zhuǎn)換成二進(jìn)制數(shù)
實(shí)例3:把(0.6875)10轉(zhuǎn)換成二進(jìn)制數(shù)
2.1.3八進(jìn)制數(shù)
實(shí)例4:把(11101)2轉(zhuǎn)換成八進(jìn)制數(shù)
實(shí)例5:把(11101.1101)2轉(zhuǎn)換成八進(jìn)制數(shù)
實(shí)例6:將(56.103)8轉(zhuǎn)換為二進(jìn)制數(shù)
2.1.4十六進(jìn)制
實(shí)例7:把(1111100111.111111)2轉(zhuǎn)換成十六進(jìn)制數(shù)
實(shí)例8:把(3AD.B8)16轉(zhuǎn)換成二進(jìn)制數(shù)
2.1.5其他進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換
實(shí)例9:把(17.26)8轉(zhuǎn)換成十進(jìn)制數(shù)
實(shí)例10:把(65535)10轉(zhuǎn)換成十六進(jìn)制數(shù)(輾轉(zhuǎn)除以16取余)
2.2計(jì)算機(jī)中數(shù)的表示
2.2.1原碼,反碼和補(bǔ)碼
實(shí)例11:已知X=6,Y=2,求X-Y
實(shí)例12:已知X=-19,Y=-30,求X+Y
2.2.2數(shù)的定點(diǎn)和浮點(diǎn)表示
2.3字符與漢字的編碼
2.3.1字符的編碼
2.3.2漢字的編碼
實(shí)例13:將漢字“?!钡膮^(qū)位碼轉(zhuǎn)換成機(jī)內(nèi)碼
2.4習(xí)題
2.4.1簡答題
第3章數(shù)據(jù)名稱
3.1命名規(guī)則
3.2給數(shù)據(jù)選擇合適的名稱
3.2.1命名時(shí)要考慮的最重要問題
3.2.2最佳名稱長度
3.2.3變量名中的反義詞
3.3特定數(shù)據(jù)類型命名
3.3.1循環(huán)變量命名
3.3.2狀態(tài)變量命名
3.3.3臨時(shí)變量命名
3.3.4邏輯變量命名
3.4命名約定
3.5應(yīng)避免的名稱
第4章程序流程圖的繪制
4.1用流程圖表示算法
4.1.1流程圖符號
4.1.2流程圖的三種基本結(jié)構(gòu)
4.2Visio2003繪制流程圖
4.2.1繪制基本流程圖
4.2.2設(shè)置流程圖元素的名稱
4.2.3為流程圖加上編號
4.2.4加入商用背景
4.2.5加入配色方案
4.2.6繪制一個(gè)完整的流程圖
第5章結(jié)構(gòu)化程序設(shè)計(jì)
5.1順序程序設(shè)計(jì)
實(shí)例14:輸入三角形的三邊長,求三角形面積
實(shí)例15:求ax2+bx+c=O方程的根
5.2選擇(分支)結(jié)構(gòu)程序設(shè)計(jì)
5.2.1關(guān)系運(yùn)算符和關(guān)系表達(dá)式
5.2.2邏輯運(yùn)算符和邏輯表達(dá)式
5.2.3if語句
實(shí)例16:嵌套if語句的應(yīng)用
5.2.4switch語句
實(shí)例17:運(yùn)輸公司對用戶計(jì)算運(yùn)費(fèi)
5.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
5.3.1while語句(當(dāng)型循環(huán))
實(shí)例18:利用while語句,編寫程序計(jì)算1+2+3+…+100
實(shí)例19:利用while語句,計(jì)算1+1/2+1/4+…+1/50
5.3.2do-while語句(直到型循環(huán))實(shí)例20:利用do-while語句計(jì)算1+1/2+1/4+…+1/50
5.3.3for語句(當(dāng)型循環(huán))
實(shí)例21:編寫程序,計(jì)算半徑分別為0.5.1.5.2.5.3.5.4.5.5.5mill時(shí)圓的半徑
實(shí)例22:求正整數(shù)n的階乘n!,其中n由用戶輸入
5.3.4幾種循環(huán)的比較
實(shí)例23:將50~100之間不能被3整除的數(shù)輸出(用三種循環(huán)結(jié)構(gòu)實(shí)現(xiàn))
實(shí)例24:從鍵盤輸入一個(gè)大于2的整數(shù)n,判斷其是否為是不是素?cái)?shù)
5.4習(xí)題
5.4.1選擇題
5.4.2編程題
第6章數(shù)據(jù)結(jié)構(gòu)中的線性表
6.1為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)
6.2有關(guān)概念和術(shù)語
6.3線性表
6.3.1線性表的定義
6.3.2線性表的基本操作
6.4線性表的順序存儲及運(yùn)算實(shí)現(xiàn)
6.4.1順序表上基本運(yùn)算的實(shí)現(xiàn)
6.4.2順序表應(yīng)用——劃分
6.4.3順序表應(yīng)用——合并與排序
6.4.4順序表的優(yōu)缺點(diǎn)
6.5線性表的單鏈表存儲和運(yùn)算
6.5.1單鏈表
6.5.2單鏈表上基本運(yùn)算的實(shí)現(xiàn)
6.5.3單鏈表應(yīng)用舉例
6.5.4循環(huán)鏈表
6.6雙向鏈表
6.6.1雙向鏈表上插入的實(shí)現(xiàn)
6.6.2雙向鏈表上刪除的實(shí)現(xiàn)
6.6.3選擇鏈表還是順序表
6.7習(xí)題
6.7.1填空題
6.7.2簡答題
6.7.3編程題
第7章數(shù)據(jù)結(jié)構(gòu)中的棧和隊(duì)列
7.1棧
7.1.1棧的定義
7.1.2棧的基本運(yùn)算
7.1.3順序棧及運(yùn)算
7.1.4順序棧操作的注意事項(xiàng)
7.1.5鏈棧及運(yùn)算
7.1.6棧的應(yīng)用舉例
實(shí)例25:數(shù)制轉(zhuǎn)換問題
實(shí)例26:棧與遞歸
7.2隊(duì)列
7.2.1隊(duì)列上進(jìn)行的基本操作
7.2.2順序隊(duì)的存儲及運(yùn)算
7.2.3鏈隊(duì)
7.3習(xí)題
7.3.1填空題
7.3.2編程題
第8章數(shù)據(jù)結(jié)構(gòu)中的二叉樹
8.1叉樹的概念
8.1.1二叉樹的相關(guān)概念
8.1.2鏈?zhǔn)酱鎯Y(jié)構(gòu)
8.1.3二叉樹的基本操作及實(shí)現(xiàn)
8.2叉樹的遍歷
8.2.1二叉樹的遍歷方法及遞歸實(shí)現(xiàn)
8.2.2由遍歷序列恢復(fù)二叉樹
8.3二叉樹的應(yīng)用
8.3.1查找數(shù)據(jù)元素
8.3.2統(tǒng)計(jì)出給定二叉樹中葉子節(jié)點(diǎn)的數(shù)目
8.4習(xí)題
8.4.1填空題
8.4.2簡答題
第9章常用的程序設(shè)計(jì)算法
9.1算法的概念
9.1.1算法的直觀認(rèn)識
9.1.2算法的特征
9.1.3Algorithm(算法)一詞的由來
9.1.4算法的表示方法
實(shí)例27:求三個(gè)數(shù)中的最大值
實(shí)例28:百錢買百雞問題
9.1.5算法分析
實(shí)例29:算法的時(shí)間復(fù)雜性
實(shí)例30:空間復(fù)雜性
9.2查找
9.2.1基本概念與術(shù)語
9.2.2靜態(tài)查找表
實(shí)例31:順序查找
實(shí)例32:有序表的折半查找
9.2.3動態(tài)查找表
實(shí)例33:二叉排序樹插入操作和構(gòu)造二叉排序樹
9.2.4哈希表查找(雜湊法)
實(shí)例34:哈希表
實(shí)例35:常用的哈希函數(shù)——直接定址法
實(shí)例36:常用的哈希函數(shù)——除留余數(shù)法
實(shí)例37:常用的哈希函數(shù)——數(shù)字分析法
實(shí)例38:常用的哈希函數(shù)——折疊法
實(shí)例39:處理沖突——開放定址法之線性探測法
實(shí)例40:處理沖突——開放定址法之二次探測法
9.3排序
9.3.1基本概念
9.3.2插入排序
實(shí)例41:直接插入排序
實(shí)例42:折半插入排序
實(shí)例43:表插入排序的重排
實(shí)例44:希爾排序(Shell'sSort)
9.3.3快速排序
實(shí)例45:非遞歸算法實(shí)現(xiàn)的快速排序
實(shí)例46:遞歸算法實(shí)現(xiàn)的快速排序
9.3.4選擇排序
實(shí)例47:簡單選擇排序
9.4幾個(gè)有趣的算法
9.4.1漢諾塔的算法
實(shí)例48:漢諾塔
9.4.2斐波那契數(shù)列的算法
實(shí)例49:斐波那契數(shù)列
9.4.3楊輝三角的算法
實(shí)例50:楊輝三角
第10章數(shù)據(jù)庫程序設(shè)計(jì)基礎(chǔ)
10.1數(shù)據(jù)庫簡介
10.1.1歷史上的數(shù)據(jù)庫
10.1.2數(shù)據(jù)庫的構(gòu)成
10.1.3查詢和索引
10.1.4為什么要使用索引
10.1.5索引的原理
10.1.6主鍵
實(shí)例51:創(chuàng)建Access數(shù)據(jù)庫Info.mdb
實(shí)例52:建立表之間的關(guān)系
10.1.7ODBC數(shù)據(jù)源
實(shí)例53:建立連接到info…mdb的ODBC數(shù)據(jù)源
10.2從數(shù)據(jù)庫中獲取所需的部分?jǐn)?shù)據(jù)
10.2.1最常用Select語句
實(shí)例54:創(chuàng)建查詢查看Select語句執(zhí)行結(jié)果
實(shí)例55:組合式的字段列表
實(shí)例56:給字段起別名
10.2.2帶條件表達(dá)式的Select語句
實(shí)例57:模糊查找
實(shí)例58:使用“Where字段名稱Between值1And值2”格式
實(shí)例59:使用“Where字段名稱In(值1,值2,…)”格式
10.2.3具有排序功能的Select語句
實(shí)例60:按照某個(gè)字段排序
實(shí)例61:按照多個(gè)字段排序
實(shí)例62:按照字段的降序排序
10.2.4表之間的連接
實(shí)例63:從兩個(gè)有關(guān)系的表中篩選數(shù)據(jù)
10.3選取合適的數(shù)據(jù)庫應(yīng)用程序開發(fā)工具
10.3.1幾種編程語言的數(shù)據(jù)庫性能比較
10.3.2選擇開發(fā)工具的幾點(diǎn)建議
第11章網(wǎng)絡(luò)編程基礎(chǔ)
11.1計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展
11.1.1計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展的階段劃
11.1.2計(jì)算機(jī)網(wǎng)絡(luò)的定義
11.1.3計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展方向
11.2計(jì)算機(jī)網(wǎng)絡(luò)的設(shè)備和分類
11.2.1常用的計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備
11.2.2計(jì)算機(jī)網(wǎng)絡(luò)的分類
11.3網(wǎng)絡(luò)服務(wù)和相關(guān)概念
11.3.1常用的網(wǎng)絡(luò)服務(wù)
11.3.2IP地址
11.3.3子網(wǎng)掩碼
11.3.4網(wǎng)關(guān)
11.3.5域名
11.4OSI模型
11.4.1物理層
11.4.2數(shù)據(jù)鏈路層
11.4.3網(wǎng)絡(luò)層
11.4.4傳輸層
11.4.5會話層
11.4.6表示層
11.4.7應(yīng)用層
11.5通信協(xié)議
11.5.1協(xié)議的關(guān)鍵
11.5.2標(biāo)準(zhǔn)
11.5.3TCP/IP協(xié)議
11.5.4TCP/IP模型
11.5.5了解TCP/IP核心協(xié)議
11.5.6WindowsSockets簡介
11.6開啟WWW服務(wù)
11.6.1搭建運(yùn)行平臺
11.6.2制作自己的動態(tài)網(wǎng)頁
11.6.3WWW服務(wù)的相關(guān)技術(shù)
附錄A習(xí)題答案