C語言程序設計
-
【作 者】張崗亭 李向軍
【I S B N 】978-7-5170-4661-5
【責任編輯】李炎
【適用讀者群】本專通用
【出版時間】2016-09-08
【開 本】16
【裝幀信息】平裝(光膜)
【版 次】1-1
【頁 數】292
【千字數】449
【印 張】18.25
【定 價】¥36
【叢 書】普通高等教育“十三五”規劃教材(計算機專業群)
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
內 容 提 要
本書主要內容包括:程序設計和C語言、算法、順序結構程序設計、選擇結構程序設計、循環結構程序設計、數組、函數、指針、結構體與共用體、文件、C++初步知識等。本書嚴格遵循C語言標準,全面、系統地闡述了C語言的基本概念、語法和語義,以及用C語言進行程序設計的思想和方法。
本書內容豐富、選材精練、結構清晰、書寫規范、通俗易懂。針對初學者的特點,在內容編排、實例講解以及習題的選擇方面都遵循從易到難、循序漸進的原則,有利于教學的開展和學生的自學。
本書可作為計算機類專業及其他相關專業的本科或專科教材,也可以作為計算機水平考試的培訓以及C語言自學者的教材或參考書。
前 言
“C語言程序設計”是高等學校計算機專業一門重要的必修課程。同時,C語言以其靈活、高效、可移植性強等特點發展至今,卻始終保持著強大的生命力而被大多數高等學校理工科相關專業及計算機愛好者作為學習計算機程序設計的第一語言。
學習“C語言程序設計”,不僅要理解和掌握語言本身的語法規則和基本知識,更重要的是掌握傳統的結構化程序設計的基本方法、培養讀者具有嚴謹的程序設計思想、靈活的思維方式及使用計算機解決實際問題的動手操作能力。
“C語言程序設計”是一門實踐性很強的課程。對于初學編程的人,應強化上機實踐環節。學生只有通過大量的編程訓練,才能在實踐中理解和掌握C語言的基本知識、感受和領悟用計算機進行問題求解的思維模式、學習和探索程序設計的思想和方法、不斷提高自己分析問題和解決問題的能力。因此,“C語言程序設計”課程的教學重點是培養學生的實踐編程能力,教材也要以程序設計為中心來組織內容。
本書由一線教師根據長期教學工作的實踐編寫而成,在編寫過程中力求取材得當、循序漸進、通俗易懂、結構清晰、層次分明、書寫規范,通過精選典型實例驗證和說明語言規則、語法結構、程序設計的思想和方法。注重對程序基本概念、語法規則、程序結構和設計方法的講解。
為了方便讀者學習,在本書的附錄中提供了字符的ASCII表、運算符的優先級與結合性、常用標準庫函數、C語言關鍵字等相關內容。
全書共分11章。第1、2章及附錄由李向軍編寫;第3、4章由楊振華編寫;第5、9、11章由朱浩悅編寫;第6、7、8、10章由張崗亭編寫。全書由李向軍和張崗亭校稿及統稿。
在本書的編寫過程中,我們參考了許多優秀教材,查閱了大量資料,在此對這些教材的作者表示感謝。
由于編者水平和時間有限,書中難免存在疏漏和謬誤之處,敬請專家和讀者批評指正。
前言
第1章 緒論 1
1.1 什么是計算機程序 1
1.2 程序設計語言的發展 1
1.3 C語言的發展及其特點 4
1.4 最簡單的C語言程序 6
1.4.1 最簡單的C語言程序舉例 6
1.4.2 C語言程序的結構 10
1.5 C語言程序的運行 12
1.6 本章小結 19
習題1 20
第2章 算法與程序設計 23
2.1 程序的靈魂—算法 23
2.2 程序設計的基本過程 28
2.3 程序設計的基本方法 31
2.3.1 結構化程序設計 31
2.3.2 模塊化程序設計 33
2.3.3 “自頂向下、逐步細化”的設計
過程 34
2.4 本章小結 35
習題2 35
第3章 最簡單的C語言程序設計—順序
程序設計 37
3.1 順序程序設計舉例 37
3.2 數據的表現形式及其運算 38
3.2.1 數據類型 38
3.2.2 常量和變量 40
3.2.3 運算符和表達式 56
3.3 C語句 68
3.3.1 C語句的作用和分類 68
3.3.2 最基本的語句—賦值語句 70
3.4 數據的輸入輸出 70
3.4.1 數據輸入輸出的概念 70
3.4.2 用printf函數輸出數據 71
3.4.3 用scanf函數輸入數據 73
3.4.4 字符數據的輸入輸出 76
3.5 本章小結 78
習題3 79
第4章 選擇結構程序設計 82
4.1 選擇結構和條件判斷 82
4.2 用if語句實現選擇結構 82
4.3 用switch語句實現選擇結構 91
4.4 關系運算符和關系表達式 95
4.4.1 關系運算符及其優先次序 95
4.4.2 關系表達式 96
4.5 邏輯運算符和邏輯表達式 96
4.5.1 邏輯運算符及其優先次序 96
4.5.2 邏輯表達式 97
4.6 條件運算符和條件表達式 98
4.7 本章小結 99
習題4 100
第5章 循環結構程序設計 103
5.1 為什么需要循環 103
5.2 用while語句實現循環 104
5.3 用do-while語句實現循環 106
5.4 用for語句實現循環 109
5.5 循環的嵌套 112
5.6 幾種循環的比較 113
5.7 改變循環執行的狀態 114
5.7.1 break語句 114
5.7.2 continue 語句 115
5.8 循環程序舉例 117
5.9 本章小結 120
習題5 121
第6章 數組 128
6.1 一維數組 129
6.1.1 一維數組的定義 129
6.1.2 一維數組元素的引用 129
6.1.3 一維數組的初始化 130
6.1.4 一維數組的應用 130
6.2 二維數組 136
6.2.1 二維數組的定義 136
6.2.2 二維數組元素的引用 137
6.2.3 二維數組的初始化 137
6.2.4 二維數組的應用 137
6.3 使用字符數組處理字符串 139
6.3.1 為字符數組初始化一個字符串 139
6.3.2 存有字符串的字符數組的
輸入輸出 140
6.3.3 字符串處理函數 141
6.3.4 字符數組應用舉例 142
6.4 使用typedef定義數據類型 144
6.5 本章小結 145
習題6 145
第7章 函數 155
7.1 函數的定義 155
7.2 函數的參數及函數的返回值 156
7.2.1 形式參數和實際參數 156
7.2.2 函數的返回值 157
7.3 函數的調用 157
7.3.1 函數的調用格式和執行過程 157
7.3.2 函數的調用方式 158
7.4 函數的聲明 159
7.4.1 對被調函數的聲明格式 159
7.4.2 對被調函數的聲明位置 159
7.5 函數之間的數據傳遞 160
7.6 函數的嵌套調用和遞歸調用 161
7.6.1 函數的嵌套調用 161
7.6.2 函數的遞歸調用 163
7.7 局部變量與全局變量 164
7.7.1 局部變量 165
7.7.2 全局變量 166
7.8 變量的存儲類別 167
7.8.1 動態存儲類別與靜態存儲類別 167
7.8.2 局部變量的存儲類別 168
7.8.3 全局變量的存儲類別 169
7.9 內部函數與外部函數 171
7.9.1 內部函數 171
7.9.2 外部函數 171
7.10 程序舉例 173
7.11 本章小結 174
習題7 175
第8章 指針 178
8.1 概述 178
8.2 指針變量的定義及指針的操作 178
8.2.1 指針變量的定義 178
8.2.2 指針的操作 179
8.3 指針與一維數組 182
8.3.1 指向一維數組元素的指針 182
8.3.2 通過指針引用一維數組元素 182
8.4 數組作為函數的參數 183
8.4.1 數組元素作為函數實參 183
8.4.2 數組名作為函數參數 183
8.5 指針與二維數組 187
8.5.1 二維數組中的地址 187
8.5.2 指向二維數組元素的指針 188
8.5.3 指向一個含有N個元素的一維數組
的指針 189
8.5.4 二維數組名作為函數參數 191
8.6 返回地址值的函數 192
8.7 函數的指針及指向函數的指針變量 192
8.7.1 函數指針的概念 192
8.7.2 函數指針的定義 193
8.7.3 使用函數指針變量調用函數 193
8.8 指針數組與指向指針的指針 193
8.8.1 指針數組 193
8.8.2 指向指針的指針 195
8.8.3 指針數組作為主函數的形參 196
8.9 本章小結 196
習題8 197
第9章 結構體與共用體 209
9.1 定義和使用結構體變量 209
9.1.1 結構體類型的定義 209
9.1.2 定義結構體變量 210
9.1.3 結構體變量的引用及初始化 212
9.2 使用結構體數組 214
9.2.1 結構體數組的定義 215
9.2.2 結構體數組的使用 215
9.3 結構體指針 216
9.3.1 指向結構體變量的指針 216
9.3.2 指向結構體數組的指針變量 218
9.3.3 結構體變量和指向結構體的指針
作函數的參數 219
9.4 用指針處理鏈表 220
9.4.1 鏈表的結構及定義 220
9.4.2 動態存儲分配 221
9.4.3 鏈表的使用及操作 223
9.5 共用體類型 226
9.5.1 共用體類型的定義 226
9.5.2 共用體變量的定義及引用 226
9.5.3 共用體的特點 228
9.6 使用枚舉類型 228
9.7 本章小結 229
習題9 230
第10章 文件 238
10.1 C文件概述 238
10.2 文件指針 238
10.3 文件的打開與關閉 239
10.3.1 文件的打開 239
10.3.2 文件的關閉 240
10.4 文件的讀寫 241
10.4.1 字符讀寫函數—fgetc()和
fputc() 241
10.4.2 數據塊讀寫函數—fread()和
fwrite() 242
10.4.3 格式讀寫函數—fscanf()和
fprintf() 243
10.4.4 字符串讀寫函數—fgets()和
fputs() 244
10.5 文件定位 244
10.5.1 位置指針復位函數rewind() 244
10.5.2 隨機讀寫與fseek()函數 244
10.6 本章小節 245
習題10 246
第11章 C++入門 251
11.1 從C語言到C++語言 251
11.2 面向對象程序設計的相關概念 251
11.3 C++程序的組成及基本要素 253
11.3.1 C++程序的基本組成 253
11.3.2 C++程序的基本要素 255
11.4 C++程序設計基礎 255
11.4.1 函數重載及函數參數缺省 255
11.4.2 引用 256
11.4.3 變量的作用域、new、delete 256
11.4.4 類和對象的定義 257
11.4.5 構造函數和析構函數 258
11.4.6 繼承和派生 258
11.5 本章小結 260
習題11 260
附錄A 在Visual C++ 6.0環境下運行C程序
的方法 262
附錄B 常用字符與ASCII代碼對照表 269
附錄C C語言中的關鍵字列表 270
附錄D 運算符和結合性表 271
附錄E C語言常用語法題要 273
附錄F C庫函數 277
參考文獻 283
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發 [李智威 著]
- 網絡規劃設計師備考一本通 [夏杰 編著]