一a一片一级一片啪啪-一a一级片-一a级毛片-一一级黄色片-国产免费福利片-国产免费福利网站

熱門關鍵字:  聽力密碼  聽力密碼  新概念美語  單詞密碼  巧用聽寫練聽力

C語言程序設計教程(第二版)

中國水利水電出版社
    【作 者】徐新華 主編 【I S B N 】978-7-5084-4452-9 【責任編輯】王艷燕 【適用讀者群】高職高專 【出版時間】2008-06-01 【開 本】16開本 【裝幀信息】平裝(光膜) 【版 次】第2版 【頁 數】252 【千字數】 【印 張】 【定 價】24 【叢 書】21世紀高職高專新概念教材 【備注信息】
圖書詳情

    本書是普通高等教育“十一五”國家級規劃教材。

    本書由13章組成。前12章,按ANSI C標準,全面、系統地介紹了C語言的基本知識,支持選擇結構和循環結構程序設計的控制語句,以及數組、函數、編譯預處理、指針、結構體、位運算和文件操作等。第13章是綜合應用專題,旨在突破指針、結構體和文件操作等教學重點和難點,并通過專門設計的小型參考程序,詳細介紹了一些增強程序健壯性、處理變長數據的設計思路、實現方法和技巧等。

    本書適用于應用型本專科學歷教育,成人本專科學歷教育各專業,以及對C語言感興趣的讀者。本書有相關配套教材:《C語言程序設計實驗指導與習題祥解(第二版)》和《C語言程序設計實訓(第二版)》。

    第二版前言

    本書是普通高等教育“十一五”國家級規劃教材。

    C語言作為面向對象方法的經典語言——C++/C#的基礎,得到了廣泛的認可和重視。各類院校工科專業,尤其是計算機類專業,程序設計語言都首選C語言。

    本書第一版自2001年7月出版以來,得到了廣大教師、學生和讀者的認可,累計印刷12次、5.6萬冊。隨著C語言程序設計課程教學實踐的深入,本書作者在不斷總結經驗、持續改進的同時,產生了許多對于教材的新設想,及作者在學習新知識過程中,站在學習者角度產生的對教材的強烈期盼,促使作者再次拿起筆來,將最近幾年積累起來的對C語言程序設計課程教學新的認識和感悟,物化在第二版中。

    第二版的主要改進如下:

    (1)在每章的前面新增“本章教學導讀”欄目,在每章的后面新增一節“軟件工程與方法”。

    在“本章教學導讀”欄目中,詳細說明哪些是基礎的、必須知道的內容,哪些是重點、難點和進階內容等情況,便于讀者根據教學目標、學時以及其他實際情況,有選擇性地進行教或者學。

    在“軟件工程與方法”欄目中,除了將第一版各章中分散的軟件工程評述和方法等內容集中起來,還新增了部分內容。這樣處理的目的:一是降低對一般初學者的教學要求;二是對于有興趣、又有能力的讀者,可以強化軟件工程思想和處理方法。

    (2)調整了原有的部分案例和習題,新增了部分基于應用的、趣味性更強的案例和習題。

    第二版中案例的一般結構是:案例描述、算法設計要點、參考源程序(配有大量的簡明注釋)、程序運行結果(或舉例)和程序說明。

    算法設計是程序設計的核心,第二版中各案例的算法都經過重新優化。新增的程序說明部分,作為參考源程序中注釋的補充,扼要地解釋程序實現過程中的主要技術或技巧,旨在使讀者不僅知其然,而且知其所以然。

    (3)新增一個貫穿于第3~5章和第7章的實用程序“加、減、乘、除和求余數運算練習程序”,旨在整合結構化程序設計“三大基本結構”(順序結構、選擇結構和循環結構)及其相關控制語句的應用,展現軟件工程“逐步求精”的基本思想和方法。

    重新改寫了第13章(FoxBASE+模擬系統),旨在突破結構、指針和文件等教學難點,并通過專門設計的小型參考程序,詳細介紹了一些增強程序健壯性、處理變長數據的設計思路、實現方法和技巧等。

    (4)將上機實驗環境升級到TC++ 3.0(正文)和VC++ 6.0(附錄)。

    隨著計算機技術快速發展,軟硬件不斷升級,鼠標已經成為計算機系統的標準配置。與第一版的TC 2.0集成開發環境相比,TC++ 3.0(或VC++ 6.0)集成開發環境的最大優勢在于支持鼠標操作和彩色管理,從而顯著地提高了易操作性和操作效率。

    在繼承第一版特色的基礎上,第二版的主要特色如下:

    1.教學效率方面

    效率是產出(知識、能力等)與投入(時間、精力等)之比。

    (1)分級組織。

    C語言作為一門自成體系的系統軟件開發工具,其知識點和功能點很多,有些是基礎的、必須的,有些是屬于進階的,也有些是不太常用的。恰恰是那些不太常用的部分,導致教學效率的下降!

    有鑒于此,在第二版中,按照效率原則,將上述情況在“本章教學導讀”欄目予以說明,便于讀者有選擇性地進行教或者學。

    (2)內容自含,備查方便。

    內容自含是指本書任何地方首次引用的新東西(術語、知識、功能、庫函數等),均直接給出其說明或解釋。

    本書的目標之一是實現100%的“內容自含”;同時,在第一版原有附錄A、附錄B、附錄C基礎上,新增“控制語句和編譯預處理命令索引”、“TC++ 3.0的安裝、配置、多源文件的編譯連接與程序調試”和“在VC++ 6.0環境中運行C語言程序的基本操作”三個附錄。

    內容自含,并且建立相關索引表,將極大地方便讀者(尤其是初學者和自學者),有效地提高學習效率。

    2.教學效果方面

    (1)全面貫徹“以應用為中心”的指導思想。

    C語言作為開發工具,語法介紹是必須的。但教學的目的是為了應用,本書第二版全面貫徹“以應用為中心”的指導思想,具體做法請參見“第二版的主要改進”板塊中的(2)和(3)。

    (2)用軟件工程思想和方法貫穿整個教材。

    作者在長期的教學實踐中發現,很多學生(包括計算機專業的學生)到畢業時,都未養成一個良好的源程序書寫風格,也未形成基本的程序設計風格。

    本書以獨立的“軟件工程與方法”欄目形式,強化軟件工程思想,包括源程序書寫風格方面(例如標識符命名“見名知意”、對齊與縮排、注釋等)、程序設計風格(例如人機交互、數據校驗、錯誤提示等)等;同時,將作者多年來在教學實踐中積淀起來的、簡單易用的方法和技巧(例如,必須配對使用的符號輸入、混合運算時的運算次序、else與if的匹配等)奉獻給讀者。

    通過上述各種舉措,有意識地、潛移默化地引導讀者,使之逐步養成一個良好的源程序書寫習慣,掌握程序設計與實現的基本方法,形成符合軟件工程要求的程序設計和編碼風格。

    本書導讀

    本書由13章組成,可分為4部分:

    第1部分——C語言基礎知識,由第1、2章組成,主要介紹C語言源程序的總體結構、函數的一般結構以及源程序書寫規則,Turbo C++ 3.0的基本操作,程序設計的靈魂——算法的有關知識,C語言提供的基本數據類型、運算符和表達式等。

    第2部分——初級程序設計,由第3~7章組成,介紹順序結構、選擇結構和循環結構程序設計,以及數組、函數與變量作用域。

    第3部分——高級程序設計,由第8~12章組成,介紹編譯預處理、指針、結構類型與鏈表、位運算、文件。

    第4部分——綜合應用,由第13章(FoxBASE+模擬系統)組成,介紹FoxBASE+庫文件的邏輯結構與存儲結構,算法設計要點與參考源程序,增強程序健壯性、處理可變長度數據的基本方法,以及C語言程序設計實訓項目。

    第1、2部分,是C語言程序設計教學的必須部分,理論教學大約需要36學時。第3部分,理論教學大約需要18學時。第4部分,可作為課程設計或實訓項目,大約需要36學時。

    每章結構如下:①引言;②本章主體內容提要;③本章教學導讀;④正文;⑤軟件工程與方法;⑥本章小結;⑦習題。

    在“本章主體內容提要”的章節編號后面標注“*”者,表示該章節屬于進階內容,或者是教學難點內容;同時,在“本章教學導讀”欄目中,用文字予以詳細說明。

    “本章教學導讀”欄目中的內容,有助于讀者根據教學目標、學時以及其他實際情況,有選擇性地進行教或者學。

    “軟件工程與方法”欄目中的內容,有助于讀者從軟件工程層面上,重新認識C語言的某些靈活性和功能,以及解決某些問題的方法和技巧。

    本書由徐新華擔任主編,謝永紅、王建平任副主編,楊國興、劉勇、鄒廣慧、宋晏、嚴婷等參加了部分章節的編寫,以及編寫大綱的討論、案例和習題設計、文字輸入與排版等工作。具體分工如下:徐新華編寫了第9~13章,謝永紅編寫了第5~7章,王建平編寫了第3~4章,楊國興編寫了第2章,劉勇和嚴婷編寫了本書附錄,鄒廣慧編寫了第8章,宋晏編寫了 第1章。

    本書全套電子教案、書中所有案例的源程序代碼,以及其他教學資源,可到中國水利水電出版社網站(http://www.waterpub.com.cn/softdown/)免費下載。

    由于作者水平有限,加之時間倉促,書中難免有不當之處,敬請專家及廣大讀者批評指正。

    編 者

    2006年12月


    第二版前言
    第一版前言
    第1章 C語言概述 1
    1.1 C語言的發展簡史和特點 1
    1.2 C語言源程序的結構及其書寫規則 2
    1.2.1 C語言程序的總體結構 2
    1.2.2 函數的一般結構與函數分類 4
    1.2.3 源程序書寫規則 6
    1.3 C語言的語句和關鍵字 6
    1.3.1 C語言的語句 6
    1.3.2 C語言的關鍵字 7
    1.4 Turbo C++ 3.0的基本操作 7
    1.5 軟件工程與方法 11
    1.5.1 軟件工程評述 11
    1.5.2 方法與技巧 11
    1.6 本章小結 11
    1.7 習題 12
    第2章 數據類型、運算符與表達式 13
    2.1 程序設計概述 13
    2.1.1 算法的概念和特性 14
    2.1.2 算法設計的一般方法 14
    2.1.3 算法描述 15
    2.1.4 結構化程序設計方法 17
    2.2 C語言的數據類型 18
    2.3 常量和變量 18
    2.3.1 常量 18
    2.3.2 變量與標識符 18
    2.4 整型數據 19
    2.4.1 整型變量 19
    2.4.2 整型常量 20
    2.5 實型數據 20
    2.5.1 實型變量 20
    2.5.2 實型常量 20
    2.6 字符型數據 21
    2.6.1 字符常量 21
    2.6.2 字符變量 22
    2.6.3 字符串常量 23
    2.7 算術運算與算術表達式 24
    2.7.1 5種基本算術運算符 24
    2.7.2 表達式和算術表達式 24
    2.7.3 運算符的優先級與結合性 25
    2.7.4 數據類型轉換 25
    2.8 賦值運算與賦值表達式 26
    2.8.1 賦值運算 26
    2.8.2 復合賦值運算 26
    2.8.3 賦值表達式 27
    2.9 C語言特有的運算 27
    2.9.1 自增(++)、自減(--)運算 27
    2.9.2 逗號運算(,)及其表達式 29
    2.10 軟件工程與方法 29
    2.10.1 良好的源程序書寫風格——見名知義 29
    2.10.2 軟件工程評述 29
    2.10.3 方法與技巧 30
    2.11 本章小結 30
    2.12 習題 32
    第3章 順序結構程序設計 33
    3.1 格式化輸出——printf()函數 33
    3.1.1 printf()函數的一般格式 33
    3.1.2 格式指示符應用舉例 36
    3.1.3 使用說明 38
    3.2 格式化輸入——scanf()函數 38
    3.2.1 scanf()函數的一般格式 38
    3.2.2 格式指示符 40
    3.2.3 數據輸入操作 41
    3.3* 單個字符輸入輸出——getchar()和putchar()函數 41
    3.3.1 單個字符輸出——putchar()函數 42
    3.3.2 單個字符輸入——getchar()函數 42
    3.4 順序結構程序設計 43
    3.5 軟件工程與方法 44
    3.5.1 良好的源程序書寫風格——左對齊 44
    3.5.2 軟件工程評述 45
    3.6 本章小結 45
    3.7 習題 46
    第4章 選擇結構程序設計 47
    4.1 關系運算及其表達式 47
    4.1.1 關系運算符及其優先級 48
    4.1.2 關系表達式 48
    4.2 邏輯運算及其表達式 48
    4.2.1 邏輯運算及其優先級 49
    4.2.2 邏輯表達式 49
    4.3 if語句和條件運算 50
    4.3.1 if語句 50
    4.3.2 條件運算符 53
    4.4 switch語句 54
    4.5 選擇結構程序設計 56
    4.6 軟件工程與方法 61
    4.6.1 良好的源程序書寫風格 61
    4.6.2 軟件工程評述 62
    4.6.3 方法與技巧 63
    4.7 本章小結 63
    4.8 習題 64
    第5章 循環結構程序設計 65
    5.1 循環語句概述 65
    5.2 for語句和while語句 66
    5.2.1 for語句 66
    5.2.2 while語句 68
    5.3 直到型循環do-while語句 69
    5.4 break語句與continue語句 70
    5.5 循環結構程序設計 71
    5.6 軟件工程與方法 74
    5.6.1 良好的源程序書寫風格 74
    5.6.2 軟件工程評述 75
    5.7 本章小結 75
    5.8 習題 76
    第6章 數組 77
    6.1 1維數組的定義、存儲和引用 78
    6.1.1 1維數組的定義與存儲 78
    6.1.2 1維數組元素的引用 79
    6.1.3 1維數組元素的初始化 80
    6.2 2維數組的定義、存儲和引用 80
    6.2.1 2維數組的定義與存儲 80
    6.2.2 2維數組元素的引用 82
    6.2.3 2維數組元素的初始化 82
    6.3 字符數組與字符串 83
    6.3.1 字符數組概述 83
    6.3.2 字符數組的逐個字符處理 84
    6.3.3 字符數組的整體處理 85
    6.4 常用的字符串處理函數 87
    6.4.1 字符串輸入——gets()函數 87
    6.4.2 字符串輸出——puts()函數 88
    6.4.3 字符串比較——strcmp()函數 88
    6.4.4 拷貝字符串——strcpy()函數 89
    6.4.5 連接字符串——strcat()函數 89
    6.4.6 求字符串長度——strlen()函數 90
    6.4.7 將大寫字母轉換成小寫——strlwr()函數 90
    6.4.8 將小寫字母轉換成大寫——strupr()函數 90
    6.5 應用案例 90
    6.6 軟件工程與方法 94
    6.6.1 軟件工程評述 94
    6.6.2 方法與技巧 95
    6.7 本章小結 95
    6.8 習題 97
    第7章 函數與變量作用域 98
    7.1 函數的定義與調用 98
    7.1.1 函數的定義 99
    7.1.2 函數的返回值與函數類型 100
    7.1.3 對被調用函數的說明和函數原型 100
    7.1.4 函數調用與返回 102
    7.1.5 參數傳遞——值傳遞方式 103
    7.2 函數的嵌套調用與遞歸調用 104
    7.2.1 函數的嵌套調用 104
    7.2.2 函數的遞歸調用 105
    7.3 內部函數與外部函數 107
    7.3.1 內部函數(又稱靜態函數) 107
    7.3.2 外部函數 107
    7.3.3 多個源文件的編譯和連接 109
    7.4 內部變量與外部變量 110
    7.4.1 內部變量 110
    7.4.2 外部變量 110
    7.5 變量的動態存儲與靜態存儲 112
    7.5.1 內部變量的存儲方式 112
    7.5.2 外部變量的存儲方式及其作用域 114
    7.6 軟件工程與方法 115
    7.6.1 良好的源程序書寫風格——注釋 115
    7.6.2 軟件工程評述 116
    7.6.3 方法與技巧 116
    7.7 本章小結 116
    7.8 習題 118
    第8章 編譯預處理 119
    8.1 宏定義與符號常量 119
    8.1.1 無參宏定義 119
    8.1.2 符號常量 121
    8.1.3 有參宏定義 121
    8.2 文件包含 123
    8.2.1 文件包含的概念 123
    8.2.2 文件包含的一般格式 124
    8.2.3 使用文件包含的優點 124
    8.2.4 說明 124
    8.3 條件編譯 125
    8.3.1 #ifdef~#endif和#ifndef~#endif命令 125
    8.3.2 #if~#endif 126
    8.4 軟件工程與方法 126
    8.4.1 軟件工程評述 126
    8.4.2 方法與技巧 126
    8.5 本章小結 126
    8.6 習題 127
    第9章 指針 128
    9.1 指針和指針變量的概念 128
    9.1.1 內存地址 128
    9.1.2 變量地址 129
    9.1.3 變量值的存取 129
    9.1.4 指針與指針變量 130
    9.2 指針變量及其應用 131
    9.2.1 指針變量的定義與相關運算 131
    9.2.2 指針變量作函數參數 133
    9.3 1維數組的指針與列指針變量 136
    9.3.1 使用列指針變量引用1維數組的元素 136
    9.3.2 數組作函數參數 138
    9.4 2維數組的指針與行指針變量 139
    9.4.1 2維數組的1維化處理 139
    9.4.2 2維數組的指針 140
    9.4.3 行指針變量——指向由n個元素組成的1維數組的指針變量 141
    9.4.4 2維數組指針作函數參數 142
    9.5 字符串的指針和指向字符串的指針變量 142
    9.5.1 字符串的表示與引用 143
    9.5.2 字符串指針作函數參數 144
    9.6 指針數組與主函數main()的參數 145
    9.6.1 指針數組 145
    9.6.2 主函數main()的參數 147
    9.6.3 指向指針的指針變量簡介 148
    9.7 返回指針值的函數 149
    9.8 函數的指針和指向函數的指針變量簡介 150
    9.9 軟件工程與方法 151
    9.9.1 軟件工程評述 151
    9.9.2 方法與技巧 151
    9.10 本章小結 153
    9.11 習題 155
    第10章 結構類型與鏈表 156
    10.1 結構類型與結構變量的定義 156
    10.1.1 結構類型定義 156
    10.1.2 結構變量定義 157
    10.2 結構變量的引用與初始化 158
    10.3 結構數組 159
    10.4 指向結構類型數據的指針 161
    10.4.1 指向結構變量的指針 161
    10.4.2 指向結構數組的指針 162
    10.4.3 指向結構數據的指針作函數參數 163
    10.5 鏈表處理——結構指針的應用 164
    10.5.1 概述 164
    10.5.2 創建一個新鏈表 165
    10.5.3 對鏈表的插入操作 167
    10.6 枚舉型和共用型簡介 169
    10.6.1 枚舉型 169
    10.6.2 共用型 169
    10.7 定義已有類型的別名 170
    10.8 軟件工程與方法 171
    10.9 本章小結 172
    10.10 習題 173
    第11章 位運算 175
    11.1 數值在計算機中的表示 175
    11.2 位運算 176
    11.2.1 位運算及其運算符 176
    11.2.2 應用舉例 177
    11.3 位段簡介 179
    11.3.1 位段類型的概念與定義 179
    11.3.2 說明 179
    11.4 軟件工程與方法 180
    11.4.1 實現按位與(&)、按位或(|)、按位異或(^)運算主要用途的方法 180
    11.4.2 實現按位取反運算主要用途的方法 180
    11.5 本章小結 180
    11.6 習題 181
    第12章 文件 182
    12.1 C語言文件概述 182
    12.1.1 文件與文件名 182
    12.1.2 文件分類 182
    12.1.3 C語言的流式文件 183
    12.1.4 文件類型FILE 183
    12.1.5 讀文件與寫文件 184
    12.1.6 緩沖文件系統 184
    12.2 文件的打開與關閉 184
    12.2.1 文件的打開——fopen()函數 185
    12.2.2 文件的關閉——fclose()函數 186
    12.3 常用的文件讀寫操作庫函數 186
    12.3.1 讀/寫1個字符 186
    12.3.2 讀/寫1個字符串——fgets()和fputs()函數 189
    12.3.3 讀/寫1個數據塊——fread()和fwrite()函數 191
    12.3.4 對文件進行格式化讀/寫——fscanf()和fprintf()函數 191
    12.3.5 讀/寫函數的選用原則 192
    12.4 讀寫位置指針與文件定位 192
    12.4.1 讀寫位置指針復位函數rewind() 192
    12.4.2 隨機讀寫與fseek()函數 192
    12.4.3 返回文件當前位置的函數ftell() 193
    12.5 出錯檢測 193
    12.5.1 ferror()函數 193
    12.5.2 clearerr()函數 193
    12.6 軟件工程與方法 194
    12.6.1 軟件工程評述 194
    12.6.2 方法與技巧 194
    12.7 本章小結 194
    12.8 習題 195
    第13章 綜合應用——FoxBASE+模擬系統 197
    13.1 FoxBASE+及其模擬系統簡介 197
    13.1.1 FoxBASE+庫文件的邏輯結構與存儲結構 197
    13.1.2 模擬系統功能簡介 199
    13.2 算法設計要點與參考源程序 199
    13.2.1 數據結構頭文件(Foxsys.h) 199
    13.2.2 源程序文件(Foxsys.c) 200
    13.3 軟件工程與方法 209
    13.3.1 增強程序健壯性的基本方法——校驗并規范化 209
    13.3.2 處理可變長度數據的基本方法——動態處理 210
    13.4 C語言程序設計實訓項目 210
    13.4.1 理解題 210
    13.4.2 程序設計題 211
    附錄A ASCII編碼表(基本部分) 212
    附錄B C語言的運算符和結合性 213
    附錄C 標準庫函數 214
    附錄D 控制語句和編譯預處理命令索引 219
    附錄E TC++ 3.0的安裝、配置、多源文件的編譯連接與程序調試 222
    附錄F 在VC++ 6.0環境中運行C語言程序的基本操作 227
    參考文獻 231
最新評論共有 0 位網友發表了評論
發表評論
評論內容:不能超過250字,需審核,請自覺遵守互聯網相關政策法規。
用戶名: 密碼:
匿名?
注冊
主站蜘蛛池模板: 91免费观看视频 | 国产男女免费视频 | 国产伦精品一区二区三区无广告 | 成人性色生活片全黄 | 日本欧美一级二级三级不卡 | 成人18免费观看的软件 | 亚洲国产最新在线一区二区 | 欧美黄色免费网站 | 老司机午夜精品网站在线观看 | 久久99精品久久久久久秒播放器 | 国产欧美成人一区二区三区 | 免费99热在线观看 | 欧美成人免费香蕉 | 亚洲成a人v在线观看 | 美女视频网站免费播放视 | 亚洲一区不卡 | 无圣光福利视频 | 亚洲国产精品久久久久 | 国产三级在线观看 | 免费黄色欧美 | 国产一级黄毛片 | 97在线观看完整免费 | 国产三级日产三级日本三级 | 国内自拍第1页 | 日韩伦理一区二区三区 | 国产欧美曰韩一区二区三区 | 日本乱人伦片中文字幕三区 | 久久综合精品国产一区二区三区无 | 人久热欧美在线观看量量 | 韩国一级特黄清高免费大片 | 欧美一级毛片在线播放 | 国产97在线观看 | 美女毛片儿 | 久久99精品久久久久久久不卡 | 美女啪啪网站又黄又免费 | 色www亚洲| 久久悠 | 久草.com| 国产第二页| 99久久伊人一区二区yy5o99 | 日本不卡免费高清视频 |