本書作為程序設(shè)計(jì)課程的教材,在結(jié)構(gòu)上注重知識(shí)的系統(tǒng)性、完整性和連貫性,將理論與實(shí)踐有機(jī)結(jié)合,作者在總結(jié)多年教學(xué)與實(shí)踐的基礎(chǔ)上,精選了近400道設(shè)計(jì)獨(dú)到的例題來作為典型概念示例和程序精講,并且兼顧C(jī)語(yǔ)言等級(jí)考試,且所有程序例題與習(xí)題都在VC++6.0環(huán)境下上機(jī)通過。對(duì)重點(diǎn)章節(jié)如函數(shù)和指針內(nèi)容,作者采用了獨(dú)創(chuàng)的動(dòng)態(tài)圖分析方法來分析程序執(zhí)行中函數(shù)或指針變化的情況,使函數(shù)和指針內(nèi)容中難以掌握的難題迎刃而解。本書在寫法上循序漸進(jìn)、深入淺出且圖文并茂,力求使讀者達(dá)到深入掌握C語(yǔ)言程序設(shè)計(jì)的目的。本書除了可以作為程序設(shè)計(jì)語(yǔ)言教材外,還可以作為全國(guó)計(jì)算機(jī)等級(jí)考試的教材或參考書。對(duì)于從事計(jì)算機(jī)專業(yè)的工作者,本書也是難得的一本資料書。
1994.9-1998.7 西安理工大學(xué) 計(jì)算機(jī)及其應(yīng)用 學(xué)士2000.9-2003.4 西安理工大學(xué) 計(jì)算機(jī)應(yīng)用技術(shù) 碩士2005.4-2008.3 日本大學(xué) 理工學(xué)部 計(jì)算機(jī)科學(xué) 博士2008.7-2013.11 西安理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 副教授2013.12至今 西安理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 教授2018.1至今,西安理工大學(xué)計(jì)算機(jī)學(xué)院教授、院長(zhǎng)
目 錄
第1章 C語(yǔ)言與程序設(shè)計(jì)簡(jiǎn)介 1
1.1 計(jì)算機(jī)和程序設(shè)計(jì)的基本概念 1
1.1.1 計(jì)算機(jī)系統(tǒng)的組成 1
1.1.2 程序與程序設(shè)計(jì)語(yǔ)言 2
1.2 C語(yǔ)言的發(fā)展歷程和特點(diǎn) 4
1.2.1 C語(yǔ)言發(fā)展歷程 4
1.2.2 C語(yǔ)言的主要特點(diǎn) 5
1.3 C語(yǔ)言程序的基本組成 6
習(xí)題1 8
第2章 C語(yǔ)言程序設(shè)計(jì)基礎(chǔ) 10
2.1 C語(yǔ)言基本符號(hào)與基本數(shù)據(jù)類型 10
2.1.1 C語(yǔ)言基本符號(hào) 10
2.1.2 C語(yǔ)言的數(shù)據(jù)類型 12
2.2 常量 13
2.2.1 整型常量、實(shí)型常量及符號(hào)常量 14
2.2.2 字符常量與字符串常量 15
2.3 變量 17
2.3.1 變量的概念、定義與初始化 17
2.3.2 整型變量、實(shí)型變量與字符型變量 19
2.4 運(yùn)算符與表達(dá)式 24
2.4.1 C語(yǔ)言運(yùn)算符簡(jiǎn)介 24
2.4.2 算術(shù)運(yùn)算符與算術(shù)表達(dá)式 26
2.4.3 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 28
2.4.4 邏輯運(yùn)算符與邏輯表達(dá)式 30
2.4.5 賦值運(yùn)算符與復(fù)合賦值運(yùn)算符 32
2.4.6 表達(dá)式中數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換 34
2.5 數(shù)據(jù)的輸入/輸出 36
2.5.1 字符輸入/輸出函數(shù) 36
2.5.2 格式輸出函數(shù) 37
2.5.3 格式輸入函數(shù) 41
習(xí)題2 45
第3章 三種基本結(jié)構(gòu)的程序設(shè)計(jì) 50
3.1 程序的基本結(jié)構(gòu)及C程序中的語(yǔ)句分類 50
3.1.1 程序的基本結(jié)構(gòu) 50
3.1.2 C程序中的語(yǔ)句分類 51
3.2 順序結(jié)構(gòu)程序設(shè)計(jì) 53
3.2.1 賦值語(yǔ)句 53
3.2.2 順序結(jié)構(gòu)程序 54
3.3 選擇結(jié)構(gòu)程序設(shè)計(jì) 56
3.3.1 if語(yǔ)句 56
3.3.2 if語(yǔ)句的嵌套 60
3.3.3 條件運(yùn)算符與條件表達(dá)式 62
3.3.4 switch語(yǔ)句 63
3.4 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 67
3.4.1 while語(yǔ)句 67
3.4.2 do…while語(yǔ)句 70
3.4.3 for語(yǔ)句 72
3.4.4 逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式 75
3.4.5 break語(yǔ)句、continue語(yǔ)句和goto語(yǔ)句 76
3.4.6 循環(huán)嵌套 79
3.5 典型例題精講 82
習(xí)題3 98
第4章 數(shù)組 108
4.1 一維數(shù)組 108
4.1.1 一維數(shù)組的定義 108
4.1.2 一維數(shù)組的引用和初始化 109
4.2 二維數(shù)組 113
4.2.1 二維數(shù)組的定義 113
4.2.2 二維數(shù)組的引用和初始化 114
4.3 字符數(shù)組和字符串 116
4.3.1 字符數(shù)組的定義、引用及初始化 116
4.3.2 字符串 119
4.3.3 常用字符串處理函數(shù) 121
4.4 典型例題精講 125
習(xí)題4 133
第5章 函數(shù) 140
5.1 函數(shù)的概念及特點(diǎn) 140
5.1.1 函數(shù)的概念 140
5.1.2 函數(shù)的分類 140
5.2 函數(shù)的定義和調(diào)用 141
5.2.1 函數(shù)的定義 141
5.2.2 函數(shù)的調(diào)用和返回值 143
5.2.3 函數(shù)執(zhí)行的分析方法 145
5.2.4 函數(shù)的聲明 146
5.3 變量的作用域 147
5.3.1 全局變量與局部變量 147
5.3.2 函數(shù)的副作用 149
5.4 函數(shù)的嵌套與遞歸 149
5.4.1 函數(shù)的嵌套調(diào)用 149
5.4.2 函數(shù)的遞歸調(diào)用 151
5.5 典型例題精講 154
5.6 遞歸轉(zhuǎn)化為非遞歸研究 162
5.6.1 漢諾塔問題遞歸解法 162
5.6.2 漢諾塔問題非遞歸解法 165
5.6.3 八皇后問題遞歸解法 167
5.6.4 八皇后問題非遞歸解法 169
習(xí)題5 171
第6章 指針 178
6.1 指針和指針變量 178
6.1.1 地址和指針的概念 178
6.1.2 指針變量的定義和初始化 179
6.1.3 指針變量的引用和運(yùn)算 180
6.2 指針變量與數(shù)組 184
6.2.1 指針變量與一維數(shù)組 184
6.2.2 指針變量與二維數(shù)組 187
6.2.3 指針數(shù)組 192
6.3 指針變量與字符串及多級(jí)指針變量 194
6.3.1 指針變量與字符串 194
6.3.2 多級(jí)指針變量 196
6.4 指針變量與函數(shù) 198
6.4.1 指針變量作為函數(shù)參數(shù) 198
6.4.2 用數(shù)組名作函數(shù)參數(shù) 201
6.4.3 返回指針值的函數(shù) 205
*6.5 動(dòng)態(tài)數(shù)組 206
6.6 典型例題精講 208
習(xí)題6 215
第7章 結(jié)構(gòu)體 223
7.1 結(jié)構(gòu)體類型的定義與結(jié)構(gòu)體變量 223
7.1.1 結(jié)構(gòu)體類型的定義 223
7.1.2 結(jié)構(gòu)體變量 226
7.1.3 用typedef定義類型標(biāo)識(shí)符 231
7.2 結(jié)構(gòu)體數(shù)組及指向結(jié)構(gòu)體的指針變量 234
7.2.1 結(jié)構(gòu)體數(shù)組 234
7.2.2 指向結(jié)構(gòu)體的指針變量 236
7.3 鏈表 240
7.3.1 鏈表的概念 240
7.3.2 動(dòng)態(tài)存儲(chǔ)分配 241
7.3.3 動(dòng)態(tài)鏈表的建立與查找 243
7.3.4 鏈表節(jié)點(diǎn)的插入與刪除 246
7.4 共用體 250
7.4.1 共用體的概念與定義 250
7.4.2 共用體變量的引用和賦值 252
7.5 典型例題精講 255
習(xí)題7 262
第8章 文件 271
8.1 文件的概念 271
8.1.1 文件的分類 271
8.1.2 文件指針變量及文件操作過程 272
8.2 文件的打開與關(guān)閉 273
8.2.1 文件的打開 273
8.2.2 文件的關(guān)閉 275
8.3 文件的讀/寫 276
8.3.1 字符讀/寫函數(shù) 276
8.3.2 字符串讀/寫函數(shù) 279
8.3.3 數(shù)據(jù)塊讀/寫函數(shù) 280
8.3.4 格式化讀/寫函數(shù) 282
8.4 文件的定位與隨機(jī)讀/寫 283
8.5 典型例題精講 287
習(xí)題8 292
第9章 C語(yǔ)言與程序設(shè)計(jì)補(bǔ)遺 296
9.1 變量的存儲(chǔ)類別與生命期 296
9.2 指向函數(shù)的指針變量 300
9.3 帶參數(shù)的main函數(shù) 304
9.4 編譯預(yù)處理命令 306
9.4.1 宏定義命令 306
9.4.2 文件包含命令 309
9.5 枚舉類型 312
9.6 位運(yùn)算 315
習(xí)題9 319
附錄 324
附錄1 ASCII表 324
附錄2 C語(yǔ)言中的運(yùn)算符及其優(yōu)先級(jí) 325
附錄3 常用C語(yǔ)言庫(kù)函數(shù) 326
參考文獻(xiàn) 328