出版時間:2010-9 出版社:人民郵電出版社 作者:安俊秀 主編 頁數(shù):330
前言
C語言是目前國內(nèi)外廣泛使用的計算機程序設(shè)計語言之一,是國內(nèi)外大學(xué)都在開設(shè)的重要基礎(chǔ)課之一。C語言功能豐富、表達(dá)能力強、目標(biāo)程序效率高、可移植性好;既具有高級語言的特點,又具有匯編語言的特點,系統(tǒng)處理能力較強。它既適合編寫應(yīng)用軟件,又適合編寫系統(tǒng)軟件。因此,熟練使用C語言不僅是計算機技術(shù)人員應(yīng)具備的基本功,也是廣大計算機應(yīng)用人員應(yīng)該具備的基本能力?! ∮捎贑語言牽涉到的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯,不少初學(xué)者感到困難。為此,我們總結(jié)多年來從事C語言教學(xué)工作的經(jīng)驗,希望編寫出一本適合于高等院校學(xué)生使用的C語言的教程。本書針對高等院校學(xué)生的特點和認(rèn)識規(guī)律,精選內(nèi)容,分散難點,降低臺階,通過豐富的實例和通俗易懂的敘述闡明復(fù)雜的概念,并力求做到內(nèi)容新穎、概念清晰、實用性強、通俗易懂,從而使學(xué)生少走彎路,對C語言的感覺由害怕變?yōu)榕d趣盎然。 本書共14章,分為三篇。第一篇為C語言程序設(shè)計基礎(chǔ),在學(xué)習(xí)了這些內(nèi)容之后,學(xué)生可以編寫、調(diào)試和運行一般規(guī)模和難度的應(yīng)用程序,并對結(jié)構(gòu)化程序設(shè)計方法有所了解,為編寫較大規(guī)模的應(yīng)用程序打下基礎(chǔ)。第二篇為C語言高級編程技術(shù),這一部分強調(diào)對基本概念的理解和掌握,并在理解和掌握的基礎(chǔ)上運用高級編程技術(shù)的方法,鍛煉、培養(yǎng)較大規(guī)模、比較復(fù)雜的應(yīng)用程序的編程能力。第三篇為C語言綜合應(yīng)用與實踐,以實際案例為主線,引入軟件工程的思想,介紹軟件開發(fā)的方法,培養(yǎng)學(xué)生分析問題和解決實際問題的能力?! ”緯哂幸韵绿攸c。 ?。?)根據(jù)學(xué)習(xí)對象的實際情況,增加了C語言程序設(shè)計預(yù)備知識的講解,對于沒有任何計算機基礎(chǔ)的、不同層次的學(xué)生提供了統(tǒng)一的學(xué)習(xí)平臺,使前后知識的學(xué)習(xí)沒有斷層,有利于后續(xù)章節(jié)的理解?! 。?)對C語言公認(rèn)的難點進行了分解,如數(shù)組、函數(shù)、指針等,本著先易后難、平滑過渡、循序漸進、易讀易懂的思路進行了整體結(jié)構(gòu)設(shè)計。在本書的結(jié)構(gòu)體系方面充分注意到章節(jié)知識點的漸進性、前后表述的一致性和疑難點的可理解性?! 。?)程序示例中較早引入函數(shù)概念,有助于學(xué)生理解模塊化程序設(shè)計的思想?! 。?)針對解題難、實驗難的問題,每一章都提供了豐富的典型實例,并配有同步練習(xí)題。這對深化許多重要概念,掌握各章節(jié)知識要點、解讀知識難點有很大的幫助,也使學(xué)生們節(jié)約許多時間。本書中的全部例題均在ⅥsualC++6.0上調(diào)試通過。
內(nèi)容概要
本書針對高等院校學(xué)生的特點和認(rèn)識規(guī)律,全面、系統(tǒng)地介紹了C程序設(shè)計及應(yīng)用的知識。全書分為三篇,第一篇介紹C程序設(shè)計基礎(chǔ)知識,包括C程序設(shè)計預(yù)備知識,程序設(shè)計基礎(chǔ),C語言的基本概念,順序、分支和循環(huán)結(jié)構(gòu)程序設(shè)計,函數(shù)和數(shù)組。第二篇介紹C語言高級編程技術(shù)知識,包括編譯預(yù)處理、指針、結(jié)構(gòu)體、共用體和枚舉類型、文件。第三篇是C語言綜合應(yīng)用與實踐,培養(yǎng)綜合編程能力及程序編碼的規(guī)范性。包括程序編碼規(guī)范、學(xué)生成績管理系統(tǒng)等知識。 本書結(jié)構(gòu)清晰、語言通俗易懂、實例豐富。每章都配有同步練習(xí),用于熟練和鞏固所學(xué)知識。附錄中提供了相應(yīng)的常用資料,以方便師生查閱相關(guān)內(nèi)容。 本書可作為大學(xué)本科計算機和相關(guān)專業(yè)的“C程序設(shè)計”教材,也可供計算機培訓(xùn)班的學(xué)員學(xué)習(xí)參考。
書籍目錄
第一篇 C語言程序設(shè)計基礎(chǔ) 第1章 C語言程序設(shè)計預(yù)備知識 1 1.1 計算機系統(tǒng)組成及工作原理簡介 2 1.1.1 硬件系統(tǒng)的組成及其工作原理 2 1.1.2 軟件系統(tǒng)的組成 4 1.2 進位計數(shù)制及其轉(zhuǎn)換 4 1.2.1 計算機中數(shù)制的表示 4 1.2.2 非十進制數(shù)和十進制數(shù)的轉(zhuǎn)換 5 1.2.3 二進制數(shù)、八進制數(shù)和十六進制數(shù)的轉(zhuǎn)換 6 1.3 機器數(shù)的表示形式及其表示范圍 7 1.3.1 真值與機器數(shù) 7 1.3.2 數(shù)的原碼、反碼和補碼 8 1.3.3 無符號整數(shù)與帶符號整數(shù) 9 1.3.4 字符的表示法 9 習(xí)題1 10 第2章 C語言概述 11 2.1 C語言的發(fā)展及特點 11 2.1.1 程序設(shè)計語言的發(fā)展 11 2.1.2 C語言的起源與發(fā)展 12 2.1.3 C語言的特點 13 2.1.4 C語言學(xué)習(xí)的相關(guān)網(wǎng)站 13 2.2 C語言應(yīng)用領(lǐng)域概述 14 2.2.1 C語言在系統(tǒng)開發(fā)中的應(yīng)用 14 2.2.2 C語言在嵌入式系統(tǒng)開發(fā)中的應(yīng)用 14 2.2.3 C語言在商業(yè)應(yīng)用軟件開發(fā)中的應(yīng)用 15 2.2.4 C語言在硬件驅(qū)動開發(fā)、游戲設(shè)計中的應(yīng)用 15 2.3 C程序的基本結(jié)構(gòu) 16 2.3.1 簡單的C程序?qū)嵗?6 2.3.2 C程序的結(jié)構(gòu)特點 17 2.4 C程序的上機步驟 19 2.4.1 用計算機解決實際問題的步驟 19 2.4.2 運行C程序的一般步驟 20 2.4.3 Turbo C集成開發(fā)工具簡介 21 2.5 Visual C++ 6.0集成環(huán)境介紹 22 2.5.1 Visual C++ 6.0界面簡介 22 2.5.2 Visual C++ 6.0環(huán)境設(shè)置 23 2.5.3 在Visual C++ 6.0中編輯和運行C程序 25 習(xí)題2 28 第3章 基本數(shù)據(jù)類型、運算符與表達(dá)式 29 3.1 常量與變量 29 3.1.1 C語言的基本元素 29 3.1.2 數(shù)據(jù)和數(shù)據(jù)類型 30 3.1.3 常量 31 3.1.4 變量 32 3.2 基本數(shù)據(jù)類型 33 3.2.1 整型數(shù)據(jù) 33 3.2.2 實型數(shù)據(jù) 36 3.2.3 字符型數(shù)據(jù) 37 3.2.4 不同類型數(shù)據(jù)之間的混合運算 40 3.3 三大運算符及其表達(dá)式 40 3.3.1 算術(shù)運算符及其算術(shù)表達(dá)式 41 3.3.2 關(guān)系運算符及其關(guān)系表達(dá)式 42 3.3.3 邏輯運算符及其邏輯表達(dá)式 42 3.4 其他運算符及其表達(dá)式 44 3.4.1 賦值運算符及其賦值表達(dá)式 44 3.4.2 自增自減運算符及其表達(dá)式 45 3.4.3 條件、強制類型轉(zhuǎn)換運算符及其表達(dá)式 47 3.4.4 求字節(jié)、逗號運算符及其表達(dá)式 48 3.4.5 取地址運算符 49 3.5 運算符的優(yōu)先級與結(jié)合性 49 習(xí)題3 51 第4章 算法與結(jié)構(gòu)化程序設(shè)計 54 4.1 算法的概念及特征 54 4.1.1 程序和程序設(shè)計 54 4.1.2 算法的概念 55 4.1.3 算法的特征 55 4.2 算法的表示方法 56 4.2.1 用自然語言表示算法 56 4.2.2 用傳統(tǒng)流程圖表示算法 57 4.2.3 用N-S圖表示算法 59 4.2.4 用偽代碼表示算法 61 4.3 結(jié)構(gòu)化程序設(shè)計方法 62 4.3.1 結(jié)構(gòu)化程序設(shè)計的概念 62 4.3.2 結(jié)構(gòu)化程序設(shè)計方法 63 4.3.3 算法的合理性與優(yōu)化 66 習(xí)題4 68 第5章 C語言程序的基本控制結(jié)構(gòu) 70 5.1 C語句概述 70 5.2 順序結(jié)構(gòu)程序設(shè)計及其函數(shù) 72 5.2.1 順序結(jié)構(gòu)程序設(shè)計思想 72 5.2.2 字符輸入/輸出函數(shù)的應(yīng)用 73 5.2.3 按格式輸出函數(shù)的應(yīng)用 74 5.2.4 按格式輸入函數(shù)的應(yīng)用 77 5.3 順序結(jié)構(gòu)程序舉例 80 5.4 選擇結(jié)構(gòu)程序設(shè)計及其語句 82 5.4.1 選擇結(jié)構(gòu)程序設(shè)計思想 82 5.4.2 if語句的應(yīng)用 83 5.4.3 switch開關(guān)語句的應(yīng)用 88 5.5 選擇結(jié)構(gòu)程序舉例 91 5.6 循環(huán)結(jié)構(gòu)程序設(shè)計及其語句 95 5.6.1 while循環(huán)語句的應(yīng)用 95 5.6.2 do~while循環(huán)語句的應(yīng)用 96 5.6.3 for循環(huán)語句的應(yīng)用 97 5.6.4 循環(huán)的嵌套 100 5.6.5 幾種循環(huán)的比較 101 5.7 輔助控制語句及循環(huán)結(jié)構(gòu)程序舉例 101 5.7.1 輔助控制語句的應(yīng)用 101 5.7.2 循環(huán)結(jié)構(gòu)程序舉例 104 5.8 程序的調(diào)試 106 5.8.1 編譯出錯信息理解與調(diào)試 106 5.8.2 Visual C++ 6.0中的程序調(diào)試 109 習(xí)題5 110 第6章 數(shù)組 115 6.1 問題的提出 115 6.2 一維數(shù)組 116 6.2.1 一維數(shù)組的定義 116 6.2.2 一維數(shù)組的引用 117 6.2.3 一維數(shù)組的初始化 117 6.2.4 一維數(shù)組的應(yīng)用 119 6.3 二維數(shù)組和多維數(shù)組 125 6.3.1 二維數(shù)組的定義 125 6.3.2 二維數(shù)組的引用 126 6.3.3 二維數(shù)組的初始化 126 6.3.4 二維數(shù)組的應(yīng)用 128 6.3.5 多維數(shù)組的定義和引用 132 6.4 字符數(shù)組和字符串 133 6.4.1 字符數(shù)組的定義、初始化和引用 133 6.4.2 字符串與字符數(shù)組 134 6.4.3 字符數(shù)組的輸入/輸出 134 6.4.4 常用字符串處理函數(shù) 136 6.4.5 字符數(shù)組的應(yīng)用 140 習(xí)題6 142 第7章 函數(shù)和變量的作用域 146 7.1 函數(shù)概述 146 7.1.1 模塊化程序設(shè)計方法 146 7.1.2 C是模塊化程序設(shè)計語言 147 7.1.3 函數(shù)的分類 148 7.2 函數(shù)的定義與調(diào)用 149 7.2.1 函數(shù)的定義 149 7.2.2 函數(shù)的參數(shù)和返回值 151 7.2.3 函數(shù)聲明 153 7.2.4 函數(shù)的調(diào)用和參數(shù)傳遞 155 7.3 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 157 7.3.1 函數(shù)的嵌套調(diào)用 158 7.3.2 函數(shù)的遞歸調(diào)用 159 7.4 數(shù)組作為函數(shù)的參數(shù) 162 7.4.1 數(shù)組元素作函數(shù)實參 162 7.4.2 一維數(shù)組名作函數(shù)實參 162 7.4.3 二維數(shù)組名作函數(shù)實參 163 7.5 變量的作用域與生存期 164 7.5.1 局部變量及其存儲類型 166 7.5.2 全局變量及其存儲類型 170 7.6 內(nèi)部函數(shù)和外部函數(shù) 174 7.6.1 內(nèi)部函數(shù) 174 7.6.2 外部函數(shù) 175 7.6.3 如何運行一個多文件的程序 176 7.7 程序綜合示例 177 習(xí)題7 179第二篇 C語言程序設(shè)計基礎(chǔ) 第8章 編譯預(yù)處理 184 8.1 宏定義 184 8.2 “文件包含”處理 188 8.3 條件編譯 190 8.4 程序示例 193 習(xí)題8 194 第9章 指針的應(yīng)用 196 9.1 指針概述 196 9.1.1 變量與地址 196 9.1.2 指針與指針變量 196 9.1.3 &與*運算符 197 9.1.4 直接訪問與間接訪問 197 9.2 指針變量 197 9.2.1 指針變量的定義、初始化及引用 197 9.2.2 零指針與空類型指針 200 9.2.3 指針變量作為函數(shù)參數(shù) 200 9.3 指針與數(shù)組 202 9.3.1 指向數(shù)組元素的指針變量的定義與賦值 202 9.3.2 數(shù)組元素的表示方法 203 9.3.3 指針變量的運算 204 9.3.4 指針與二維數(shù)組 205 9.3.5 指針數(shù)組 209 9.4 指針與字符串 211 9.4.1 字符串的表示形式及其相關(guān)操作 211 9.4.2 字符指針作函數(shù)參數(shù) 213 9.5 函數(shù)指針與指針函數(shù) 214 9.5.1 函數(shù)指針及指向函數(shù)的指針變量 214 9.5.2 指針函數(shù) 215 9.5.3 指向指針的指針 216 9.6 帶參數(shù)的main函數(shù) 217 9.7 指針的應(yīng)用舉例 219 習(xí)題9 221 第10章 結(jié)構(gòu)體、共用體及枚舉類型的應(yīng)用 224 10.1 結(jié)構(gòu)體的應(yīng)用 224 10.1.1 結(jié)構(gòu)體類型的定義 224 10.1.2 結(jié)構(gòu)體變量的聲明 226 10.1.3 結(jié)構(gòu)體變量的初始化 227 10.1.4 結(jié)構(gòu)體變量的引用 227 10.2 結(jié)構(gòu)體數(shù)組 228 10.3 指向結(jié)構(gòu)體的指針 230 10.4 結(jié)構(gòu)體與函數(shù) 232 10.4.1 函數(shù)的形參與實參是結(jié)構(gòu)體 232 10.4.2 函數(shù)的返回值類型是結(jié)構(gòu)體 233 10.5 共用體的應(yīng)用 235 10.5.1 共用體類型的定義 236 10.5.2 共用體變量的聲明和引用 236 10.5.3 共用體變量程序舉例 238 10.6 單鏈表的應(yīng)用 239 10.6.1 鏈表概述 239 10.6.2 動態(tài)分配內(nèi)存庫函數(shù) 240 10.6.3 單鏈表的基本操作 241 10.6.4 單鏈表的應(yīng)用舉例 245 10.7 枚舉類型 248 10.8 類型定義 250 習(xí)題10 251 第11章 文件 253 11.1 C文件概述及文件類型指針 253 11.1.1 C文件概述 253 11.1.2 文件的分類 253 11.1.3 文件類型指針 254 11.2 文件的操作 254 11.2.1 文件的打開和關(guān)閉操作 254 11.2.2 文件讀寫操作 256 11.2.3 文件的定位 264 11.2.4 文件出錯的檢測 266 11.3 庫文件 267 11.4 文件操作應(yīng)用舉例 268 習(xí)題11 271第三篇 C語言綜合應(yīng)用與實踐 第12章 程序編碼規(guī)范 274 12.1 標(biāo)識符命名規(guī)范 274 12.2 代碼編寫格式 276 12.2.1 清晰的表達(dá)式 277 12.2.2 語句的規(guī)范性 278 12.2.3 縮進的書寫格式 280 12.2.4 一致性和習(xí)慣用法 282 12.2.5 程序描述的層次 283 12.3 文檔注釋 284 12.3.1 注釋 284 12.3.2 注釋的書寫格式 284 12.3.3 注釋的分類及使用 285 習(xí)題12 287 第13章 位運算 288 13.1 位運算符及應(yīng)用 288 13.2 位運算應(yīng)用舉例 291 13.3 位段 292 習(xí)題13 296 第14章 學(xué)生成績管理系統(tǒng) 298 14.1 需求分析 298 14.1.1 需求分析的基本概念 298 14.1.2 需求分析的方法 298 14.1.3 學(xué)生成績管理系統(tǒng)需求分析 299 14.2 總體設(shè)計 299 14.2.1 模塊設(shè)計 300 14.2.2 系統(tǒng)流程圖 301 14.2.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計 301 14.3 詳細(xì)設(shè)計 303 14.3.1 創(chuàng)建學(xué)生成績信息文件creatstu.c 303 14.3.2 學(xué)生成績?yōu)g覽printstu.c 305 14.4 核心代碼實現(xiàn) 307 14.4.1 安全驗證模塊 307 14.4.2 學(xué)生成績管理模塊 309 14.4.3 用戶管理模塊 317 14.4.4 系統(tǒng)主控平臺 318附錄1 常用字符與ASCⅡ代碼對照表 320附錄2 Visual C++ 6.0常見錯誤信息表 322附錄3 Visual C++常用庫函數(shù)一覽表 324參考文獻 329
章節(jié)摘錄
1.微處理器(CPU) 運算器和控制器被集成在同一塊微處理器芯片上,統(tǒng)稱為微處理器或CPU芯片。微處理器是計算機硬件系統(tǒng)的核心,其重要性好比大腦對于人一樣。它是計算機的運算和控制中心,負(fù)責(zé)處理、計算計算機內(nèi)部的所有數(shù)據(jù)?! ∵\算器是對二進制數(shù)據(jù)進行加工和處理的邏輯部件。因為計算機內(nèi)部是依靠模擬電路來存儲和計算的,電路的開關(guān)狀態(tài)正對應(yīng)二進制的0和1。運算器根據(jù)器件的物理狀態(tài)表示和處理二進制數(shù),不僅能夠非常容易地實現(xiàn)基本的算術(shù)運算和邏輯運算,而且具有高的可靠性?! 】刂破魇怯嬎銠C的“神經(jīng)中樞”,是協(xié)調(diào)指揮計算機各部件和諧工作的元件。它能夠綜合有關(guān)的邏輯條件與時間條件,并按照主頻的節(jié)拍產(chǎn)生相應(yīng)的微控制信號,以指揮計算機各部件按照指令功能的要求自動執(zhí)行指定的操作。 2.存儲器 存儲器是計算機的“記憶系統(tǒng)”,是存放程序和數(shù)據(jù)的邏輯部件。根據(jù)作用不同,存儲器分為內(nèi)存儲器(簡稱內(nèi)存)和外存儲器(簡稱外存)。內(nèi)存是CPU能根據(jù)地址直接尋址的存儲空間,它用來存放當(dāng)前正在使用的或者隨時要使用的程序或數(shù)據(jù)。其特點是速度快、容量小,價格較高。外存(如硬盤)用來存放內(nèi)存的副本和暫時不用的程序或數(shù)據(jù)。當(dāng)需要處理外存中的程序或數(shù)據(jù)時,必須通過輸入輸出指令,將其調(diào)入內(nèi)存中才能被CPU執(zhí)行處理。外存的存取速度比內(nèi)存慢,但容量比內(nèi)存大得多,并且可以永久保存信息?! ?.輸入設(shè)備/輸出設(shè)備 輸入設(shè)備與輸出設(shè)備是實現(xiàn)人機交互的主要部件。輸入設(shè)備用來接收用戶輸入的原始程序或數(shù)據(jù),并將它們轉(zhuǎn)變?yōu)橛嬎銠C能識別的二進制數(shù)據(jù)存入到內(nèi)存中,其功能類似于人的“眼”和“耳”——既能看又能聽。輸出設(shè)備用來將計算機處理的結(jié)果轉(zhuǎn)變?yōu)槿藗兡芙邮艿男问捷敵?,功能類似于人的“手”和“嘴”——既能寫又能說。目前常用的輸入設(shè)備有鍵盤、鼠標(biāo)、觸摸屏、光筆、畫筆、圖形板、攝像機、圖文掃描儀和圖文傳真機等,輸出設(shè)備有顯示器、打印機、繪圖儀和音箱等。 ……
編輯推薦
《C語言程序設(shè)計(第2版)》根據(jù)高等院?!癈語言程序設(shè)計”課程的開設(shè)時間、教學(xué)目標(biāo)、學(xué)生的特點和認(rèn)識規(guī)律,以及教育部考試中心2007年版NCRE考試大綱的教學(xué)基本要求編寫而成,目的是適應(yīng)高等院校計算機程序設(shè)計“零起點”的專業(yè)公共基礎(chǔ)課教學(xué)任務(wù)?! 禖語言程序設(shè)計(第2版)》共14章,分為三篇。第一篇為C語言程序設(shè)計基礎(chǔ),在學(xué)習(xí)了這些內(nèi)容之后,學(xué)生可以編寫、調(diào)試和運行一般規(guī)模和難度的應(yīng)用程序,并對結(jié)構(gòu)化程序設(shè)計方法有所了解,為編寫較大規(guī)模的應(yīng)用程序打下基礎(chǔ)。第二篇為C語言高級編程技術(shù),這一部分強調(diào)對基本概念的理解和掌握,并在理解和掌握的基礎(chǔ)上運用高級編程技術(shù)的方法,鍛煉、培養(yǎng)較大規(guī)模、比較復(fù)雜的應(yīng)用程序的編程能力。第三篇為C語言綜合應(yīng)用與實踐,以實際案例為主線,引入軟件工程的思想,介紹軟件開發(fā)的方法,培養(yǎng)學(xué)生分析問題和解決實際問題的能力?! 禖語言程序設(shè)計(第2版)》重構(gòu)教學(xué)內(nèi)容和順序,構(gòu)成多個學(xué)習(xí)平面,可根據(jù)需求自由組合,以理論、實踐、工程三大核心要素構(gòu)成學(xué)習(xí)平面,以模塊化程序設(shè)計為牽引,形成螺旋學(xué)習(xí),實現(xiàn)靶向培養(yǎng),注重教材立體化配套,提供豐富的教學(xué)資源。
圖書封面
評論、評分、閱讀與下載