出版時間:2009-8 出版社:對外經濟貿易大學出版社 作者:陳鶴年 主編 頁數(shù):301
前言
自20世紀70年代C語言產生至今,計算機界經歷著深刻的變革,隨著大型機、個人計算機處理能力的不斷提高,C語言同時也在發(fā)生著變化。C語言原本只是為了編寫UNIX操作系統(tǒng),但是現(xiàn)在,它已經遠遠超出了這個初衷。c語言由于其功能強、使用靈活、可移植性好、目標程序質量高而受到廣泛的歡迎。隨著C語言的普及,1983年,美國國家標準化組織(the American National Standards Institute,ANSI)為此成立了一個專門的委員會,其宗旨是在保持C語言原有精髓的前提下,定義一種“無二意性的且與機器無關的C語言”,于是產生了針對C語言的ANSI標準,即ANSI C。該標準明確了原先C語言中模糊的概念,規(guī)范了標準的庫函數(shù)、內存管理、字符串操作等內容。隨后,在1990年,國際標準化組織(International Standardization Organization,ISO)接受ANSI C為國際標準C語言,即ISO C(ISO9899-1990)。正是由于上述的原因,我們選擇C語言作為介紹程序設計的入門語言?! 「鶕?jù)我近20年計算機教學工作的觀察,市場上很多關于C語言程序設計的書籍,或是從抽象枯燥的語法開始,或是使用晦澀的數(shù)學問題作為實例,這在某種程度上偏離了程序設計的核心,不僅容易挫傷初學者學習程序設計的信心,而且也會造成初學者對程序設計缺乏興趣。因此,需要一本初學者容易掌握的、描述程序設計概念和方法的書籍。經過多年的教學實踐,筆者在總結C語言授課經驗的基礎上,借鑒過去用過的多本的C語言書籍的優(yōu)點,根據(jù)講稿整理并編寫了這本《程序設計入門——C語言》?! ∽鳛橐槐救腴T教材,本書力求做到深入淺出、通俗易懂、易學易用。每個章節(jié)的結構層次清晰:首先提出本章節(jié)的重點、難點;其次給出學習之后應該達到的目標;第三是具體知識的解讀,包括實例描述、編程風格以及編程經驗等,而實例描述將從問題的提出、分析、數(shù)據(jù)結構描述、算法設計逐漸展開,直到給出完整的代碼或主要代碼;第四,對本章的知識進行總結;最后,提供練習和“實訓”題目,每章后面的練習內容全面,形式多樣,包含“問答題”、“選擇題”、“判斷題”、“分析程序輸出結果題”、“編程題”和“實訓題”等。通過這些練習,學生可以及時地檢查和測試對本章內容學習和掌握的情況,教師也可以從中選出一些題目留為作業(yè)。 高質量的軟件開發(fā)需要程序員具有較高的編程素質,這方面,國內計算機教育與實踐相對薄弱,很多程序員雖然能熟練地掌握編程技術,但是缺乏強烈的軟件工程與質量意識,具體表現(xiàn)是,在實踐中不注重軟件開發(fā)最基本的三個要素:編程風格、出錯處理以及算法復雜度分析。而這些要素是一個程序員應具備的基本素質,是應該在早期學習中潛移默化地接受并在實踐中運用的。通常的軟件設計課程也往往忽視這部分教育,這也是本書所關心的內容之一。
內容概要
本書主要由四大模塊組成。第一模塊是“入門”部分,包括第1章,第2章,是程序設計學習的入門階段,這部分將簡單介紹個人計算機系統(tǒng)軟、硬件環(huán)境,并通過簡單的C語言程序講述程序結構、語言集成編程環(huán)境,通過對簡單操作界面的設計,學習如何設計友好的人機界面接口,初步了解程序設計的概念和培養(yǎng)學生上機操作、調試程序的能力,使學生對程序設計初步建立起整體認識。模塊二“循序漸進”,是程序設計基礎部分,包括第3章、第4章。學習各種數(shù)據(jù)類型以及結構化流程設計的典型應用。模塊三“提高”,開始介紹相對復雜的數(shù)組類型、函數(shù)內容,培養(yǎng)模塊化程序設計的思想,使學生初步了解軟件工程概念,具備程序設計的基本能力;同時還講解用指針和結構體類型進行數(shù)據(jù)處理的程序設計,學習文件結構設計,訓練對外部存儲器數(shù)據(jù)的訪問并學習位操作的實際應用。通過學習,可以更好地培養(yǎng)學生綜合分析問題、解決問題的能力。本模塊包括第5章至第10章。模決四“綜合應用”,提供5個綜合性的實訓練習題目,并附源代碼,進行系統(tǒng)練習。另外,附錄中也包括初學者在編程中常見的錯誤并給出相應的例子與分析等內容。
書籍目錄
模塊一 入門 第1章 計算機系統(tǒng)介紹 1.1 計算機硬件 1.2 計算機軟件 1.3 算法 1.4 小結 1.5 習題與實訓 第2章 C語言概述 2.1 C語言的發(fā)展史及特點 2.2 C語言的程序結構 2.3 C語言程序開發(fā)工具 2.4 小結 2.5 習題與實訓模塊二 循序漸進 第3章 基本數(shù)據(jù)類型 3.1 整型數(shù)據(jù) 3.2 實型數(shù)據(jù) 3.3 字符型數(shù)據(jù) 3.4 運算符和表達式 3.5 小結 3.6 習題與實訓 第4章 程序控制語句 4.1 流程圖和偽代碼 4.2 結構化程序控制方法 4.3 順序程序設計 4.4 選擇控制程序設計 4.5 循環(huán)控制程序設計 4.6 小結 4.7 習題與實訓 第5章 數(shù)組 5.1 一維數(shù)組 5.2 二維數(shù)組 5.3 字符數(shù)組 5.4 小結 5.5 習題與實訓 第6章 函數(shù) 6.1 函數(shù)概述 6.2 函數(shù)的一般形式 6.3 函數(shù)的參數(shù)和返回值 6.4 函數(shù)的調用 6.5 函數(shù)的嵌套調用和遞歸調用 6.6 變量的作用域 6.7 變量的存儲類別 6.8 內部靜態(tài)函數(shù)和外部函數(shù) 6.9 函數(shù)應用舉例 6.10 小結 6.11 習題與實訓模塊三 提高 第7章 指針 7.1 變量的地址和指針變量 7.2 數(shù)組的指針和指向數(shù)組的指針變量 7.3 字符串的指針和指向字符串的指針變量 7.4 字符串指針作為函數(shù)參數(shù) 7.5 指向函數(shù)的指針變量 7.6 返回指針值的函數(shù) 7.7 指針數(shù)組與指向指針的指針 7.8 指針運算舉例 7.9 小結 7.10 習題與實訓 第8章 結構體、聯(lián)合體和枚舉類型 8.1 結構體類型 8.2 結構體數(shù)組 8.3 結構體指針變量 8.4 聯(lián)合體 8.5 枚舉類型 8.6 用typedef定義類型 …… 第9章 位運算 第10章 文件模塊四 綜合應用附錄參考文獻
章節(jié)摘錄
模塊一 入門 第1章 計算機系統(tǒng)介紹 1.2 計算機軟件 軟件(Software)是一系列按照特定順序組織的電腦數(shù)據(jù)和指令的集合。一般來講軟件被劃分為系統(tǒng)軟件、應用軟件和介于這兩者之間的中間件。其中系統(tǒng)軟件為計算機使用,提供最基本的功能,但是并不針對某一特定應用領域。而應用軟件則恰好相反,不同的應用軟件根據(jù)用戶和所服務的領域提供不同的功能。 軟件并不只是包括可以在計算機上運行的電腦程序,與這些電腦程序相關的文檔,一般也被認為是軟件的一部分。簡單的說,軟件就是程序加文檔的集合體。軟件被應用于世界的各個領域,對人們的生活和工作都產生了深遠的影響?! ?.2.1 程序 計算機程序就是計算機執(zhí)行的一個指令序列。它既可以只是幾條執(zhí)行某個簡單任務的指令,也可能是要操作巨大數(shù)據(jù)量的復雜指令隊列。許多計算機程序包含有百萬計的指令,而其中很多指令可能被反復執(zhí)行。在2005年,一臺典型的個人計算機可以每秒執(zhí)行大約30億條指令。計算機通常并不會執(zhí)行一些很復雜的指令來獲得額外的機能,更多情況下是在按照程序員的編程要求來運行那些較簡單但為數(shù)眾多的短指令?! ∫话闱闆r下,程序員們是不會直接用機器語言來為計算機寫入指令的。那么做的結果只能是費時費力、效率低下而且漏洞百出。所以,程序員一般通過“高級”語言來寫程序,然后再由某些特別的計算機程序,如解釋器或編譯器將之翻譯成機器語言。一些編程語言看起來很接近機器語言,如匯編程序,被認為是低級語言?!?/pre>圖書封面
評論、評分、閱讀與下載