出版時(shí)間:2012-8 出版社:清華大學(xué)出版社 作者:程曉榮 等編著 頁數(shù):121 字?jǐn)?shù):198000
前言
?。ㄒ唬 ≡谛畔r(shí)代,程序設(shè)計(jì)會(huì)被人稱為計(jì)算機(jī)以及相關(guān)專業(yè)的看家本領(lǐng),然而不僅如此,在程序設(shè)計(jì)中所蘊(yùn)涵的邏輯,是解決所有領(lǐng)域復(fù)雜問題的根基,同時(shí)在程序設(shè)計(jì)課程中所進(jìn)行的邏輯思維訓(xùn)練,所有人都可從中獲益。但是,盡管程序設(shè)計(jì)課程已經(jīng)開設(shè)幾十年了,教學(xué)效果卻很不盡如人意。 程序設(shè)計(jì)涉及邏輯思維、語言和方法3方面內(nèi)容。然而,早期的程序設(shè)計(jì)課程僅僅是語言手冊(cè)的改編。因此,從20世紀(jì)80年代,就開始著手改變這種狀況,于1985年出版的我的第一本著作--《BASIC程序設(shè)計(jì)》中就在原來的語法體系中引入典型算法和軟件工程思想。以后受CIT考試的啟發(fā),在為NIT(國家信息技術(shù)考試)編寫的《程序設(shè)計(jì)(C語言)》(清華大學(xué)出版社,1999)一書中,把程序測(cè)試引入到程序設(shè)計(jì)教材中?! ≈螅瑤准页霭嫔缦群蠹s稿,出版了《新概念C語言程序設(shè)計(jì)》(中國鐵道出版社,2003) 、《C語言程序設(shè)計(jì)案例教程》(清華大學(xué)出版社,2004) 、《新概念C程序設(shè)計(jì)教程》(南京大學(xué)出版社,2007) 、《新概念C語言教程》(中國電力出版社,2011) 。在這些教材中,逐步形成并完善了按照內(nèi)容體系的程序設(shè)計(jì)教材。所以將它們以“新概念”命名,是想表明這種全新理念的程序設(shè)計(jì)體系。讓我欣慰的是,隨著這幾本書的不斷改進(jìn),類似的書也陸續(xù)問世,品種不斷增加,說明面向問題,按照“問題分析-設(shè)計(jì)代碼-語法說明”線索組織程序設(shè)計(jì)教學(xué)的理念日益被廣泛接受?! 。ǘ ”緯鴳?yīng)清華大學(xué)出版社之邀而撰寫,它是對(duì)前幾本教材的進(jìn)一步完善與改進(jìn)。全書分為3篇。第1篇由5個(gè)單元組成,在這5個(gè)單元中,以幾個(gè)經(jīng)典問題為載體,以窮舉、迭代、遞歸、隨機(jī)模擬、時(shí)間步長、事件步長等基本算法為主線,將設(shè)計(jì)思路、程序測(cè)試方法和C語言基本語法知識(shí)融于其中。第2篇由4個(gè)單元組成。第6~8單元分別介紹數(shù)組、結(jié)構(gòu)體和指針這3種支持程序數(shù)據(jù)結(jié)構(gòu)的重要類型,使讀者可以初步領(lǐng)略數(shù)據(jù)結(jié)構(gòu)對(duì)于程序設(shè)計(jì)的重要性,第9單元介紹幾種常用的算法設(shè)計(jì)策略。通過這4個(gè)單元,使“數(shù)據(jù)結(jié)構(gòu) + 算法 = 程序”的思想在讀者心中扎根。前面兩篇,按照“訓(xùn)練解題思路為主,語法夠用就行”的原則編寫。第3篇用6個(gè)單元補(bǔ)充了一些重要的語法細(xì)節(jié),使讀者能在前兩篇初步掌握了程序設(shè)計(jì)的基本方法的基礎(chǔ)上,將C語言程序設(shè)計(jì)的學(xué)習(xí)引向深入。這樣不僅建立了一種全新的內(nèi)容體系,將應(yīng)試教育向能力培養(yǎng)方面做了較大幅度的轉(zhuǎn)變,同時(shí)也與教育部計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)推薦的《高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè):公共核心知識(shí)體系與課程》中關(guān)于程序設(shè)計(jì)課程的要求一致,讀者可以按照自己的專業(yè)定位選擇其中的有關(guān)內(nèi)容?! 。ㄈ 榱四苡械姆攀傅剡M(jìn)行訓(xùn)練,本書以二級(jí)節(jié)為單位給出習(xí)題。習(xí)題分為4個(gè)欄目:概念辨析、代碼解析、探索驗(yàn)證和開發(fā)練習(xí)。 “概念辨析”主要提供了一些選擇題和判斷題,旨在提高讀者對(duì)基礎(chǔ)語法知識(shí)的認(rèn)知。 “代碼解析”包括指出程序(或代碼段)執(zhí)行結(jié)果、改錯(cuò)和填空,旨在提高讀者的代碼閱讀能力。因?yàn)樽x程序也是程序設(shè)計(jì)的一種基本訓(xùn)練。 “探索驗(yàn)證”主要是用于提示或者指導(dǎo)學(xué)習(xí)者如何通過自己上機(jī)驗(yàn)證來提高掌握語法細(xì)節(jié)的能力。除了這個(gè)欄目中的習(xí)題外,學(xué)習(xí)者最好也能通過設(shè)計(jì)程序驗(yàn)證自己對(duì)于概念辨析欄目中的習(xí)題的判斷是否正確?! 伴_發(fā)練習(xí)”是一種綜合練習(xí),應(yīng)當(dāng)要求學(xué)習(xí)者寫出開發(fā)文檔。內(nèi)容主要包括問題(算法)分析、代碼設(shè)計(jì)、測(cè)試用例設(shè)計(jì)、測(cè)試及調(diào)試結(jié)果分析等幾個(gè)部分,重點(diǎn)應(yīng)當(dāng)放在問題分析、代碼設(shè)計(jì)和測(cè)試用例的設(shè)計(jì)上。要把這些工作都做好,再上機(jī)調(diào)試、測(cè)試,不要什么還沒有設(shè)計(jì)出來就上機(jī)?! 。ㄋ模 ≡诒緯磳⒊霭嬷H,由衷地感謝在本書寫作過程中參與收集資料、程序調(diào)試以及校閱工作的姚威、張秋菊、文明瑤、杜勇、丁群、朱莎、史林娟、張展為、張有明。同時(shí),也殷切地期待著廣大讀者和同仁的批評(píng)和建議。讓我們共同把程序設(shè)計(jì)課程的改革做得更有實(shí)效?! 埢鶞?012年2月
內(nèi)容概要
《普通高校本科計(jì)算機(jī)專業(yè)特色教材精選·網(wǎng)絡(luò)與通信:新編網(wǎng)絡(luò)工程技術(shù)與實(shí)驗(yàn)教程》是一本基于能力培養(yǎng)體系的C語言程序設(shè)計(jì)教材?!镀胀ǜ咝1究朴?jì)算機(jī)專業(yè)特色教材精選·網(wǎng)絡(luò)與通信:新編網(wǎng)絡(luò)工程技術(shù)與實(shí)驗(yàn)教程》按照作者提出的“提出問題、分析問題-編寫程序、語法說明-程序測(cè)試、結(jié)果分析”的思路,并按照“前期以培養(yǎng)解題思路為主,語法知識(shí)夠用就行;后期補(bǔ)充必要的語法細(xì)節(jié)”的原則編寫,旨在引導(dǎo)讀者在邏輯思維能力、語法應(yīng)用能力和程序測(cè)試能力3個(gè)方面同步提高。
全書分為3篇。第1篇從幾個(gè)經(jīng)典問題入手,將讀者帶入窮舉、迭代、遞歸、隨機(jī)模擬、時(shí)間步長、事件步長等基本邏輯思維訓(xùn)練之中,并相對(duì)集中地融入基本語法,為初學(xué)者奠定程序設(shè)計(jì)的基本知識(shí)和能力。第2篇通過數(shù)組、結(jié)構(gòu)體和指針3種構(gòu)造數(shù)據(jù)類型以及常用算法設(shè)計(jì)策略的介紹,使讀者的程序設(shè)計(jì)能力上升到“數(shù)據(jù)結(jié)構(gòu)
+ 算法 = 程序”的水平。第3篇對(duì)C語言重點(diǎn)語法進(jìn)行總結(jié)、提升和拓展,使讀者在發(fā)揮C語言優(yōu)勢(shì)方面得到提升。
《普通高校本科計(jì)算機(jī)專業(yè)特色教材精選·網(wǎng)絡(luò)與通信:新編網(wǎng)絡(luò)工程技術(shù)與實(shí)驗(yàn)教程》結(jié)構(gòu)新穎、概念準(zhǔn)確,魚漁并重、和木皆宜,例題經(jīng)典、習(xí)題豐富、題型全面,適應(yīng)面寬、注重效果,適合教學(xué)、兼顧自學(xué),與教育部計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)推薦的《高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè):公共核心知識(shí)體系與課程》中關(guān)于程序設(shè)計(jì)課程的要求一致,可以作為高等學(xué)校各專業(yè)的新一代程序設(shè)計(jì)課程教材,也可供從事程序設(shè)計(jì)相關(guān)領(lǐng)域的人員自學(xué)或參考。
書籍目錄
第1篇 C語言程序設(shè)計(jì)初步
第1單元 簡(jiǎn)單的C語言程序
1.1 兩個(gè)整數(shù)相加
1.1.1 兩個(gè)整數(shù)常數(shù)相加的C語言程序
1.1.2 C語言程序的編譯與連接
1.1.3 帶有輸出操作的C程序
習(xí)題1.
1.2 變量初步
1.2.1 使用變量的兩整數(shù)相加程序
1.2.2 從鍵盤給變量輸入值
習(xí)題1.
1.3 用浮點(diǎn)數(shù)進(jìn)行除運(yùn)算
1.3.1 整數(shù)相除的問題
1.3.2 兩個(gè)浮點(diǎn)數(shù)相除的C程序
習(xí)題1.
第2單元 選擇結(jié)構(gòu)
2.1 將從鍵盤輸入的任意兩個(gè)數(shù)按升序輸出
2.1.1 問題分析與參考代碼
2.1.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式
2.1.3 if-else二分支選擇結(jié)構(gòu)
2.1.4 程序測(cè)試
2.1.5 程序的書寫風(fēng)格
習(xí)題2.
2.2 三中取大
2.2.1 算法分析與參考代碼
2.2.2 邏輯運(yùn)算符與邏輯表達(dá)式
2.2.3 多分支選擇結(jié)構(gòu)中if與else的配對(duì)規(guī)則
2.2.4 測(cè)試用例設(shè)計(jì): 語句覆蓋與分支覆蓋
2.2.5 else if結(jié)構(gòu)
2.2.6 條件運(yùn)算符
習(xí)題2.
2.3 字符分類
2.3.1 字符類型
2.3.2 基于整型值匹配的switch結(jié)構(gòu)
2.3.3 算法分析與參考代碼
2.3.4 程序測(cè)試用例設(shè)計(jì)的等價(jià)分類法
2.3.5 switch結(jié)構(gòu)與if-else結(jié)構(gòu)的比較
習(xí)題2.
第3單元 重復(fù)結(jié)構(gòu)
3.1 C語言重復(fù)結(jié)構(gòu)基礎(chǔ)
3.1.1 C語言的三種重復(fù)結(jié)構(gòu)
3.1.2 累加器程序
3.1.3 打印九九乘法表
習(xí)題3.
3.2 窮舉
3.2.1 求素?cái)?shù)
3.2.2 搬磚問題
3.2.3 推斷名次
習(xí)題3.
3.3 迭代與遞推
3.3.1 用輾轉(zhuǎn)相除法求兩個(gè)正整數(shù)的最大公因子
3.3.2 Fibonacci數(shù)列
3.3.3 猴子吃桃子
3.3.4 用二分迭代法求解一元二次方程
習(xí)題3.
第4單元 用函數(shù)組織C程序
4.1 函數(shù)基礎(chǔ)
4.1.1 函數(shù)定義
4.1.2 函數(shù)調(diào)用
4.1.3 函數(shù)原型聲明
4.1.4 局部變量與全局變量
4.1.5 模塊化程序設(shè)計(jì)
習(xí)題4.
4.2 遞歸
4.2.1 階乘的遞歸計(jì)算
4.2.2 漢諾塔
習(xí)題4.2109第5單元 計(jì)算機(jī)模擬
5.1 隨機(jī)問題模擬
5.1.1 產(chǎn)品隨機(jī)抽樣
5.1.2 用蒙特卡洛法求π的近似值
習(xí)題5.
5.2 基于步長的模擬
5.2.1 事件步長法--中子擴(kuò)散問題
5.2.2 時(shí)間步長法--鹽水池問題
習(xí)題5.
第2篇 數(shù)據(jù)結(jié)構(gòu)+算法
第6單元 順序地組織同類型數(shù)據(jù)--數(shù)組類型
6.1 數(shù)組基礎(chǔ)
6.1.1 撲克牌的表示與數(shù)組定義
6.1.2 撲克牌查找: 數(shù)組元素引用與數(shù)組名參數(shù)
6.1.3 撲克洗牌的隨機(jī)模擬
6.1.4 撲克牌整理: 數(shù)組元素排序
6.1.5 撲克發(fā)牌: 二維數(shù)組應(yīng)用
習(xí)題6.
6.2 字符串
6.2.1 字符串與字符數(shù)組
6.2.2 字符串輸入輸出
6.2.3 字符串的其他操作
習(xí)題6.
第7單元 描述一類對(duì)象的屬性--結(jié)構(gòu)體類型和共用體類型
7.1 結(jié)構(gòu)體類型基礎(chǔ)
7.1.1 結(jié)構(gòu)體類型的定義
7.1.2 結(jié)構(gòu)體類型的實(shí)例化
7.1.3 結(jié)構(gòu)體變量的引用
習(xí)題7.
7.2 結(jié)構(gòu)體數(shù)組
7.2.1 結(jié)構(gòu)體數(shù)組的定義與初始化
7.2.2 結(jié)構(gòu)體數(shù)組元素的引用
習(xí)題7.
7.3 union類型
7.3.1 共用體類型的定制與共用體變量的定義
7.3.2 共用體類型與結(jié)構(gòu)體類型的比較
7.3.3 共用體變量的應(yīng)用
習(xí)題7.
第8單元 指針類型
8.1 指針的概念
8.1.1 指針=基類型+地址
8.1.2 懸空指針、空指針與void指針
8.1.3 多級(jí)指針
8.1.4 指針的操作
習(xí)題8.
8.2 數(shù)組的指針形式
8.2.1 數(shù)組名與指向數(shù)組的指針
8.2.2 二維數(shù)組的指針形式
8.2.3 指針與C字符串
習(xí)題8.
8.3 指針參數(shù)
8.3.1 變量地址傳送
8.3.2 數(shù)組地址傳送
8.3.3 字符指針參數(shù)
8.3.4 帶參主函數(shù)
習(xí)題8.
第9單元 常用算法設(shè)計(jì)策略??
9.1 分治策略
9.1.1 二分查找
9.1.2 快速排序
9.1.3 自行車帶人問題
習(xí)題9.
9.2 回溯策略
9.2.1 迷宮問題
9.2.2 使用堆棧組織搜索過程
習(xí)題9.
9.3 貪心策略
9.3.1 旅行費(fèi)用問題
9.3.2 刪數(shù)問題
習(xí)題9.
9.4 動(dòng)態(tài)規(guī)劃
習(xí)題9.
第3篇 深入學(xué)習(xí)C語言
第10單元 C語言中常量的表示
10.1 字面常量
10.1.1 整型字面常量的表示和辨識(shí)
10.1.2 浮點(diǎn)類型字面常量的表示和辨識(shí)
習(xí)題10.
10.2 宏
10.2.1 宏定義
10.2.2 使用宏應(yīng)當(dāng)注意的幾點(diǎn)
10.2.3 帶參宏定義
習(xí)題10.
10.3 const修飾符
10.3.1 用const"固化"變量
10.3.2 用const修飾指針
習(xí)題10.
10.4 枚舉類型
10.4.1 枚舉類型及其定義
10.4.2 枚舉變量的定義
10.4.3 對(duì)枚舉變量和枚舉元素的操作
習(xí)題10.
第11單元 數(shù)據(jù)類型
11.1 基本數(shù)據(jù)類型特性
11.1.1 整型數(shù)據(jù)類型的主要特性
11.1.2 浮點(diǎn)數(shù)據(jù)類型的主要特性
習(xí)題11.
11.2 數(shù)據(jù)類型轉(zhuǎn)換
11.2.1 數(shù)據(jù)類型轉(zhuǎn)換的一般規(guī)則
11.2.2 數(shù)據(jù)類型轉(zhuǎn)換的副作用與注意事項(xiàng)
習(xí)題11.
11.3 typedef和sizeof操作符
11.3.1 typedef
11.3.2 sizeof運(yùn)算符
習(xí)題11.
第12單元 C程序中變量的訪問屬性
12.1 變量訪問屬性的概念
12.1.1 變量的存儲(chǔ)類型與生存期
12.1.2 標(biāo)識(shí)符的作用域
12.1.3 標(biāo)識(shí)符的鏈接屬性
習(xí)題12.
12.2 C語言程序?qū)嶓w的存儲(chǔ)類型
12.2.1 C程序中的局部變量
12.2.2 C程序中的外部變量
習(xí)題12.
12.3 C程序中的動(dòng)態(tài)內(nèi)存分配
12.3.1 申請(qǐng)存儲(chǔ)空間
12.3.2 釋放一個(gè)指針指向的存儲(chǔ)空間
12.3.3 修改一個(gè)指針指向的存儲(chǔ)空間大小
習(xí)題12.
第13單元 格式化輸入輸出函數(shù)詳解
13.1 格式化輸出函數(shù)printf ()
13.1.1 格式參數(shù)結(jié)構(gòu)
13.1.2 基本格式符
13.1.3 長度修飾符
13.1.4 域?qū)捙c精度說明
13.1.5 前綴修飾符
習(xí)題13.
13.2 格式化輸入函數(shù)scanf ()
13.2.1 地址參數(shù)
13.2.2 格式參數(shù)結(jié)構(gòu)與工作機(jī)制
13.2.3 數(shù)值數(shù)據(jù)的輸入控制
13.2.4 scanf ()與輸入緩沖區(qū)
13.2.5 字符型數(shù)據(jù)的輸入控制
13.2.6 scanf ()的停止與返回
習(xí)題13.
第14單元 文件
14.1 C文件的基本概念
14.1.1 I/O流與緩沖
14.1.2 文件及其分類
14.1.3 FILE類型及其指針
習(xí)題14.
14.2 C文件操作的一般過程
14.2.1 文件打開
14.2.2 文件讀寫定位與讀寫操作
14.2.3 文件關(guān)閉
習(xí)題14.
14.3 文件操作程序示例
14.3.1 寫若干行字符串到文本文件
14.3.2 文件復(fù)制
習(xí)題14.
第15單元 位運(yùn)算與位段
15.1 位運(yùn)算
15.1.1 按位邏輯運(yùn)算
15.1.2 移位運(yùn)算
15.2 位段
習(xí)題
附錄
附錄A C語言的關(guān)鍵字及其用途
附錄B C語言運(yùn)算符的優(yōu)先級(jí)和結(jié)合方向
附錄C 編譯預(yù)處理命令
C.1 宏定義
C.2 文件包含
C.3 條件編譯
附錄D C語言常用標(biāo)準(zhǔn)庫函數(shù)
D.1 數(shù)學(xué)函數(shù)
D.2 字符函數(shù)和字符串函數(shù)
D.3 輸入輸出函數(shù)
D.4 動(dòng)態(tài)內(nèi)存分配函數(shù)
D.5 退出程序函數(shù)
D.6 數(shù)值轉(zhuǎn)換函數(shù)
D.7 時(shí)間和日期函數(shù)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 10.3 基于移動(dòng)Agent的AdHoc網(wǎng)絡(luò)管理體系結(jié)構(gòu)的研究與應(yīng)用 1.研究意義和現(xiàn)狀 AdHoc廣泛應(yīng)用于眾多領(lǐng)域,其戰(zhàn)略意義非常重要。由于AdHoc網(wǎng)絡(luò)不同于一般無線網(wǎng)絡(luò)的特點(diǎn),如何對(duì)AdHoc網(wǎng)絡(luò)進(jìn)行管理成為眾多學(xué)者研究的一個(gè)熱點(diǎn)。如何進(jìn)行高效的管理是AdHoc實(shí)際網(wǎng)絡(luò)應(yīng)用中必須解決的關(guān)鍵問題。移動(dòng)Agent技術(shù)作為一種新的模式被引入到網(wǎng)絡(luò)管理中,其憑借著移動(dòng)代理自身具有的智能性,可以提升網(wǎng)絡(luò)管理的效率,在網(wǎng)絡(luò)管理中具有很好的應(yīng)用前景。 基于移動(dòng)代理的網(wǎng)絡(luò)管理方案“變”傳輸數(shù)據(jù)為傳輸計(jì)算,減輕了網(wǎng)管站的計(jì)算負(fù)擔(dān),減小了網(wǎng)絡(luò)管理對(duì)帶寬的要求,同時(shí)提高了網(wǎng)絡(luò)管理功能的靈活性和可重用性,加之移動(dòng)代理可嵌入,擴(kuò)充智能知識(shí)庫,更增強(qiáng)了網(wǎng)絡(luò)性能管理的準(zhǔn)確性和高效性,具有很好的實(shí)用和研究?jī)r(jià)值。在AdHoc網(wǎng)管中引入移動(dòng)Agent技術(shù)不僅能體現(xiàn)以上移動(dòng)Agent的固有特點(diǎn),同時(shí)更能體現(xiàn)移動(dòng)AdHoc分布式的特點(diǎn),提高AdHoc網(wǎng)絡(luò)管理的效率。 2.研究平臺(tái) IBM Aglet 2.0.2代理平臺(tái)、Java、網(wǎng)絡(luò)通信實(shí)驗(yàn)環(huán)境。 3.研究手段 在現(xiàn)有AdHoc網(wǎng)絡(luò)管理模型的研究基礎(chǔ)上,對(duì)于基于移動(dòng)Agent的AdHoc網(wǎng)絡(luò)的網(wǎng)絡(luò)管理模型以及相關(guān)技術(shù)問題進(jìn)行研究,研究分析采用SNMP協(xié)議與移動(dòng)Agent相結(jié)合的AdHoc網(wǎng)絡(luò)管理模型,并探討在此管理模型下的性能管理以及故障管理應(yīng)用。通過這些研究對(duì)于移動(dòng)AdHoc網(wǎng)絡(luò)管理方面進(jìn)行一些有益的探索。
編輯推薦
《普通高等教育"十一五"國家級(jí)規(guī)劃教材?普通高校本科計(jì)算機(jī)專業(yè)特色教材精選?網(wǎng)絡(luò)與通信:新編網(wǎng)絡(luò)工程技術(shù)與實(shí)驗(yàn)教程》為計(jì)算機(jī)網(wǎng)絡(luò)課程實(shí)踐教學(xué)提供有價(jià)值的教材和工程實(shí)踐指導(dǎo),可供研究生、本科生進(jìn)行計(jì)算機(jī)網(wǎng)絡(luò)開放實(shí)踐、綜合實(shí)驗(yàn)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、研究生論文選題等教學(xué)環(huán)節(jié)的教學(xué)使用和參考,也可為工程技術(shù)人員的學(xué)習(xí)提供參考和幫助。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
新編網(wǎng)絡(luò)工程技術(shù)與實(shí)驗(yàn)教程 PDF格式下載