21世紀高等學校規(guī)劃教材·計算機科學與技術:C程序設計快速進階大學教程
定 價:31 元
- 作者:蔣光遠 ,田琳琳 編
- 出版時間:2010/9/1
- ISBN:9787302231196
- 出 版 社:清華大學出版社
- 中圖法分類:TP312C
- 頁碼:307
- 紙張:膠版紙
- 版次:1
- 開本:16開
《C程序設計快速進階大學教程》按照快速了解、詳細解讀、深入研討的順序展開,目的是使讀者盡快領略C語言的全貌,進而產(chǎn)生強烈的興趣和深人探討的愿望。依據(jù)此思想《C程序設計快速進階大學教程》分為三篇:第一篇感知篇,通過一個簡單任務驅動,讓讀者在很短的時問內(nèi)了解C語言的主要知識點及C程序所能完成的任務;第二篇詳解篇,逐步展開對每個知識點的詳細研究,按照理解概念、語法規(guī)則、使用方式進行深入探討,以掌握計算機語言的基本要素;第三篇進階篇,分析、設計、實現(xiàn)一些有一定難度的案例,深層次運用各個知識點,進而培養(yǎng)讀者結構化程序設計的能力!禖程序設計快速進階大學教程》組織方式完全符合人類對語言的學習過程,即模仿、理解、應用,也符合軟件工程迭代式開發(fā)過程的思想,對讀者從事軟件研發(fā)大有裨益。
從模仿到理解,從感性到理性,遵循人類自然語言的學習過程。 案例貫穿,以任務需求驅動展開,講解各知識點怎樣應用到任務中去。 深入淺出,把復雜的問題簡單化,有助于讀者理解。
從事了多年的C語言教學工作,怎樣提高教學水平一直是縈繞筆者腦海的問題?偨Y學生學習中的問題,大致有以下三點: 第一,學習過程的初期對計算機語言沒有整體的認識,不了解C程序所能完成的功能,以及各知識點所扮演的角色,學習時沒有明確的目的性; 第二,C語言本身知識點繁多、晦澀難懂,對于初次接觸計算機語言的讀者來說難于掌握,久而久之,產(chǎn)生畏難情緒,因而喪失了學習的興趣; 第三,只能初步了解各知識點語法規(guī)則,不能夠融會貫通,并綜合運用,更談不上程序設計。
C語言具備一般語言的特點,筆者認為計算機語言的學習能不能借鑒人類自然語言的學習方式?人類對自然語言的學習過程,總是從模仿開始,這個階段只知道這么說,并不理解其語法規(guī)則; 然后在生活、學習當中逐步懂得語言的結構及語法; 最后,通過閱讀、分析文章和撰寫文件才能夠熟練地應用語言。
C語言的學習是為了軟件的研發(fā),回顧多年的軟件研發(fā)經(jīng)驗,其中最困難的當然是了解用戶的需求。如果不熟悉問題領域的需求,學習起來很困難。如何解決呢?我們通常采用迭代式的軟件開發(fā)方法,因為開始很難詳知開發(fā)問題領域的所有問題,可以選一條主線完成一個基本結構,然后經(jīng)過多次迭代,每次軟件有一定增量,使得每次的迭代產(chǎn)品都越來越接近目標系統(tǒng)。
于是,筆者萌生這樣一個想法,C語言對于初學來說,知識點繁多且難于理解,想一次完全掌握對于大多數(shù)讀者來說相當困難。C語言的學習與人類學習自然語言以及軟件開發(fā)過程中理解問題域的知識非常相似,就可以把人類對自然語言的學習過程和軟件開發(fā)過程的迭代方法應用到C語言學習當中來,我們稱之為“三次迭代法”。
三次迭代法采用三個周期,每個周期有一定的增量,遞增地學習各個知識點。具體方法如下: 感知部分(第一次迭代)讓讀者在很短的時間內(nèi)親身感受到C語言的全貌,建立起對C語言的興趣,分析典型樣例,并給出相似的模仿習題; 詳解部分(第二次迭代)
對C語言逐步展開介紹,對每個知識點按照理解、語法規(guī)則、使用方式的次序做深入探討; 進階部分(第三次迭代)綜合運用各個知識點分析、設計、實現(xiàn)一些有一定難度的案例,不但再次深層次運用各個知識點,而且培養(yǎng)了程序設計能力。這就完全符合了人類學習自然語言的過程,同時,三次迭代過程每次迭代都是對前一次的深化。
三次迭代法的教材組織與教學方法對傳統(tǒng)模式的變革,類似于軟件開發(fā)過程由“瀑布式開發(fā)”到“迭代式開發(fā)”演變,這種思路對讀者從事軟件研發(fā)也會大有裨益。
有了以上想法,筆者異常興奮,廢寢忘食,奮筆疾書,望早日呈書于讀者面前,希望為C語言的學習者提供些許幫助。
鑒于筆者水平有限,書中難免有紕漏,歡迎廣大讀者多提寶貴意見。
編者2010年6月
第0章 概述
0.1 計算機的由來及組成
0.2 計算機程序
0.3 C語言發(fā)展史-
0.4 C程序基本結構
0.5 C程序開發(fā)步驟
0.6 集成開發(fā)環(huán)境
習題
第1篇 感知篇
第1章 數(shù)據(jù)的基本操作
1.1 數(shù)據(jù)的存儲與輸出
1.2 數(shù)據(jù)的輸入與運算
1.3 數(shù)據(jù)的比較與判斷
第2章 結構化程序設計初探
2.1 重復與循環(huán)語句
2.2 基本結構的組合
2.3 模塊化編程
第3章 數(shù)據(jù)結構
3.1 數(shù)組
3.2 結構體
3.3 動態(tài)數(shù)組
3.4 文件
第4章 算法描述和編碼規(guī)范
4.1 程序設計與算法描述
4.1.1 程序設計與算法
4.1.2 FC流程圖
4.1.3 NS盒圖
4.2 C語言編碼規(guī)范
習題
第2篇 詳解篇
第5章 數(shù)據(jù)類型與輸入輸出
5.1 C語言要素
5.1.1 字符集
5.1.2 標識符與關鍵字
5.1.3 可執(zhí)行語句
5.2 數(shù)據(jù)類型
5.2.1 理解數(shù)據(jù)類型
5.2.2 變量
5.2.3 常量
5.2.4 整型數(shù)據(jù)
5.2.5 浮點型數(shù)據(jù)
5.2.6 字符型數(shù)據(jù)
5.3 輸入與輸出操作
5.3.1 輸入與輸出的概念
5.3.2 格式化輸出函數(shù)
5.3.3 格式化輸入函數(shù)
5.3.4 字符的輸入與輸出
5.4 編程錯誤
5.4.1 語法錯誤和警告
5.4.2 運行錯誤
5.4.3 邏輯錯誤
習題
第6章 運算符與表達式
6.1 概述
6.2 算術運算
6.3 賦值運算
6.4 表達式中的類型轉換
6.4.1 隱式類型轉換
6.4.2 顯式類型轉換
6.5 自增與自減運算
6.6 關系與邏輯表運算
6.7 其他運算符
6.8 運算符的優(yōu)先級與結合性
6.9 案例分析
習題
第7章 選擇結構
7.1 理解選擇結構
7.2 簡單分支語句
7.2.1 單分支if語句
7.2.2 雙分支if-else語句
7.3 多分支語句
7.3.1 嵌套if語句
7.3.2 多分支else if語句
7.3.3 switch語句
7.4 案例分析
習題
第8章 循環(huán)結構
8.1 理解循環(huán)結構
8.2 循環(huán)語句
8.2.1 while語句
8.2.2 do語句
8.2.3 for語句
8.2.4 幾種循環(huán)語句的比較
8.3 循環(huán)條件
8.3.1 計數(shù)器控制循環(huán)
8.3.2 標記控制循環(huán)
8.4 循環(huán)嵌套
8.4.1 循環(huán)嵌套結構
8.4.2 循環(huán)中的選擇結構
8.5 循環(huán)中的跳轉
8.5.1 break語句
8.5.2 continue語句
8.5.3 go to語句
8.6 案例分析
習題
第9章 數(shù)組
9.1 理解數(shù)組
9.2 一維數(shù)組
9.2.1 一維數(shù)組定義
9.2.2 一維數(shù)組引用
9.2.3 一維數(shù)組初始化
9.2.4 一維數(shù)組案例分析
9.3 二維數(shù)組
9.3.1 二維數(shù)組定義
9.3.2 二維數(shù)組引用
9.3.3 二維數(shù)組初始化
9.3.4 二維數(shù)組案例分析
習題
第10章 函數(shù)
10.1 理解函數(shù)
10.2 函數(shù)定義和分類
10.2.1 函數(shù)定義
10.2.2 函數(shù)分類
10.3 函數(shù)調用和聲明
10.3.1 函數(shù)調用
10.3.2 函數(shù)聲明
10.4 函數(shù)參數(shù)和函數(shù)值
10.4.1 形式參數(shù)與實際參數(shù)
10.4.2 函數(shù)返回值
10.4.3 數(shù)組作函數(shù)參數(shù)
10.5 函數(shù)遞歸調用
10.6 變量作用域與生存期
10.6.1 變量作用域
10.6.2 變量存儲類別與生存期
10.7 內(nèi)部函數(shù)和外部函數(shù)
習題
第11章 指針.
11.1 理解指針
11.2 指向變量的指針
11.2.1 指針變量定義
11.2.2 指針變量引用
11.3 數(shù)組與指針
11.3.1 一維數(shù)組與指針
11.3.2 二維數(shù)組與指針
11.3.3 指針數(shù)組
11.3.4 指向指針的指針
11.4 函數(shù)與指針
11.4.1 指針作函數(shù)參數(shù)
……
第3篇 進階篇
附錄A ASCII表
計算機每做的一次動作,一個步驟,都是按照已經(jīng)用計算機語言編好的程序來執(zhí)行的,程序是計算機要執(zhí)行的指令的集合,而程序全部都是用人們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發(fā)出命令。
計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,不采用機器語言,因為它非常難于記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
高級語言是目前絕大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,并且去掉了與具體操作有關但與完成工作無關的細節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由于省略了很多細節(jié),編程者也就不需要有太多的專業(yè)知識。