本書(shū)全面、系統(tǒng)地介紹了C語(yǔ)言的基本概念、基本語(yǔ)法、數(shù)據(jù)類(lèi)型、程序結(jié)構(gòu)及高級(jí)語(yǔ)言程序設(shè)計(jì)的方法和常規(guī)算法,既考慮了全國(guó)計(jì)算機(jī)等級(jí)考試大綱主要內(nèi)容,又結(jié)合了具體的程序設(shè)計(jì)綜合要求。本書(shū)根據(jù)初學(xué)者的特點(diǎn),在內(nèi)容安排上由淺入深,循序漸進(jìn),旨在幫助學(xué)生掌握C語(yǔ)言程序設(shè)計(jì)的基本方法,理解、領(lǐng)會(huì)C語(yǔ)言的特點(diǎn)和本質(zhì),提高學(xué)生運(yùn)用C語(yǔ)言解決實(shí)際問(wèn)題的綜合能力。作者在各章中精選了配合各個(gè)知識(shí)點(diǎn)的相應(yīng)案例程序,并都給出完整的注釋、運(yùn)行結(jié)果和分析說(shuō)明,案例程序由淺入深,強(qiáng)化了知識(shí)點(diǎn)、算法、編程方法與技巧。全書(shū)運(yùn)用計(jì)算思維的方法設(shè)計(jì)程序,以案例程序?yàn)閷?dǎo)向,拓寬學(xué)生思維,引導(dǎo)學(xué)生自主思考,使學(xué)生逐步掌握程序設(shè)計(jì)的一般規(guī)律和方法。 本書(shū)除了可以作為程序設(shè)計(jì)語(yǔ)言教材,還可以作為全國(guó)計(jì)算機(jī)等級(jí)考試的教材或參考書(shū)。對(duì)于從事計(jì)算機(jī)專(zhuān)業(yè)的工作者,本書(shū)也是一本難得的參考書(shū)。
孫軍,碩士,講師。現(xiàn)任湖北大學(xué)計(jì)算機(jī)與信息工程學(xué)院講師。出版教材和論文情況如下:教材:《大學(xué)計(jì)算機(jī)基礎(chǔ)簡(jiǎn)明教程》 科學(xué)出版社,主編,2009年;《大學(xué)計(jì)算機(jī)基礎(chǔ)》 科學(xué)出版社,副主編,2013年;《C語(yǔ)言程序設(shè)計(jì)》科學(xué)出版社,副主編,2016年;《大學(xué)計(jì)算機(jī)基礎(chǔ)教程》科學(xué)出版社,副主編,2016年。論文:分布式光伏數(shù)據(jù)采集器的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)測(cè)量與控制,通訊作,2018-08-25;《程序設(shè)計(jì)》課程教學(xué)中計(jì)算思維的培養(yǎng) 長(zhǎng)江大學(xué)學(xué)報(bào)(自科版),第二作者,2015-04-05。
目 錄
第1章 程序設(shè)計(jì)基礎(chǔ) 1
1.1 程序和程序設(shè)計(jì)語(yǔ)言 1
1.1.1 程序 1
1.1.2 程序設(shè)計(jì)語(yǔ)言 1
1.1.3 程序設(shè)計(jì)語(yǔ)言的發(fā)展歷史 1
1.1.4 語(yǔ)言處理程序 3
1.2 C語(yǔ)言的發(fā)展及特點(diǎn) 3
1.3 C和C++語(yǔ)言 4
1.4 簡(jiǎn)單的C程序介紹 5
1.5 Microsoft Visual C++ 2010學(xué)習(xí)版開(kāi)發(fā)環(huán)境的使用 8
1.5.1 開(kāi)發(fā)C程序的基本步驟 8
1.5.2 使用Microsoft Visual C++2010學(xué)習(xí)版開(kāi)發(fā)簡(jiǎn)單的C程序 9
1.5.3 開(kāi)發(fā)C程序的常見(jiàn)問(wèn)題 13
習(xí)題1 15
第2章 基本數(shù)據(jù)類(lèi)型、運(yùn)算符和表達(dá)式 17
2.1 字符集和標(biāo)識(shí)符 17
2.2 數(shù)據(jù)類(lèi)型 19
2.2.1 整型 21
2.2.2 實(shí)型(浮點(diǎn)型) 23
2.2.3 字符型 26
2.3 運(yùn)算符和表達(dá)式 30
2.3.1 算術(shù)運(yùn)算 30
2.3.2 自增運(yùn)算和自減運(yùn)算 31
2.3.3 賦值運(yùn)算 32
2.3.4 數(shù)據(jù)類(lèi)型的轉(zhuǎn)換 33
2.3.5 逗號(hào)運(yùn)算 37
2.3.6 位運(yùn)算 37
2.3.7 sizeof運(yùn)算 40
習(xí)題2 41
第3章 數(shù)據(jù)的輸入和輸出 45
3.1 單個(gè)字符的輸入和輸出 45
3.1.1 函數(shù)getchar() 45
3.1.2 函數(shù)putchar() 45
3.2 數(shù)據(jù)的格式化輸出和輸入 47
3.2.1 數(shù)據(jù)的格式化輸出 47
3.2.2 數(shù)據(jù)的格式化輸入 52
3.3 順序結(jié)構(gòu)程序舉例 57
習(xí)題3 61
第4章 選擇結(jié)構(gòu) 64
4.1 關(guān)系運(yùn)算 64
4.1.1 C語(yǔ)言的邏輯值 64
4.1.2 關(guān)系運(yùn)算符 64
4.1.3 關(guān)系表達(dá)式 65
4.2 邏輯運(yùn)算 67
4.2.1 邏輯運(yùn)算符 67
4.2.2 邏輯表達(dá)式 68
4.2.3 邏輯表達(dá)式求值的優(yōu)化 69
4.3 if語(yǔ)句 70
4.3.1 單分支if語(yǔ)句 70
4.3.2 雙分支if語(yǔ)句 71
4.3.3 多分支if語(yǔ)句 73
4.3.4 條件運(yùn)算符 77
4.4 switch語(yǔ)句 79
4.5 選擇結(jié)構(gòu)程序舉例 82
習(xí)題4 85
第5章 循環(huán)結(jié)構(gòu) 90
5.1 while語(yǔ)句 90
5.2 do…while語(yǔ)句 97
5.3 for語(yǔ)句 102
5.4 循環(huán)結(jié)構(gòu)的嵌套 107
5.5 break語(yǔ)句和continue語(yǔ)句 110
5.5.1 用break語(yǔ)句提前終止循環(huán) 110
5.5.2 用continue 語(yǔ)句提前結(jié)束本輪循環(huán) 113
習(xí)題5 114
第6章 數(shù)組 121
6.1 一維數(shù)組 121
6.1.1 一維數(shù)組的定義 121
6.1.2 一維數(shù)組元素的訪問(wèn) 122
6.1.3 一維數(shù)組元素的初始化 123
6.1.4 一維數(shù)組應(yīng)用舉例 124
6.2 二維數(shù)組 130
6.2.1 二維數(shù)組的定義 130
6.2.2 二維數(shù)組的訪問(wèn) 131
6.2.3 二維數(shù)組的初始化 132
6.2.4 二維數(shù)組應(yīng)用舉例 133
習(xí)題6 135
第7章 函數(shù) 141
7.1 函數(shù)的定義 142
7.2 函數(shù)的調(diào)用 144
7.3 函數(shù)的聲明 145
7.4 函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 146
7.4.1 函數(shù)的設(shè)計(jì)方法 146
7.4.2 函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 147
7.4.3 函數(shù)調(diào)用時(shí)的類(lèi)型轉(zhuǎn)換 148
7.5 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 149
7.5.1 函數(shù)的嵌套調(diào)用 149
7.5.2 函數(shù)的遞歸調(diào)用 150
7.6 數(shù)組作為參數(shù)的用法 153
7.6.1 數(shù)組元素作為函數(shù)實(shí)參 153
7.6.2 數(shù)組名作為函數(shù)實(shí)參 154
7.6.3 二維數(shù)組名作為函數(shù)實(shí)參 156
7.7 函數(shù)main()的參數(shù) 157
7.8 變量的作為用域和生存期 158
7.8.1 變量的作為用域 159
7.8.2 變量的生存期 161
7.9 內(nèi)部函數(shù)和外部函數(shù) 165
習(xí)題7 167
第8章 指針 172
8.1 變量地址與指針 172
8.1.1 變量的地址 172
8.1.2 指針的概念 173
8.2 指針的定義與使用 173
8.2.1 定義指針變量 173
8.2.2 指針變量賦值 174
8.2.3 使用指針 176
8.3 指針與函數(shù) 177
8.3.1 指針作為函數(shù)參數(shù) 179
8.3.2 指針作為函數(shù)返回值 181
8.4 指針與數(shù)組 183
8.4.1 數(shù)組首地址與數(shù)組元素地址 183
8.4.2 指針與數(shù)組元素 185
8.5 指針和二維數(shù)組 191
8.5.1 二維數(shù)組元素的地址 191
8.5.2 使用指針訪問(wèn)二維數(shù)組元素 196
8.5.3 二維數(shù)組作為函數(shù)參數(shù) 199
8.6 函數(shù)指針 200
習(xí)題8 202
第9章 字符串 206
9.1 字符數(shù)組表示字符串 206
9.1.1 字符數(shù)組的初始化 206
9.1.2 字符串的結(jié)束標(biāo)志 207
9.1.3 字符串的整體輸入和輸出 208
9.2 字符指針表示字符串 211
9.2.1 字符指針指向字符串常量 211
9.2.2 字符指針作為函數(shù)參數(shù) 212
9.2.3 字符指針數(shù)組 215
9.3 字符串處理和應(yīng)用 217
9.3.1 字符串處理函數(shù) 217
9.3.2 字符串應(yīng)用 227
習(xí)題9 234
第10章 編譯預(yù)處理和動(dòng)態(tài)分配 239
10.1 編譯預(yù)處理(include、define) 239
10.2 動(dòng)態(tài)分配 242
習(xí)題10 244
第11章 結(jié)構(gòu)體和共用體 245
11.1 結(jié)構(gòu)體 245
11.1.1 定義結(jié)構(gòu)體 245
11.1.2 定義結(jié)構(gòu)體類(lèi)型變量 246
11.1.3 結(jié)構(gòu)體變量賦值和訪問(wèn) 247
11.1.4 結(jié)構(gòu)體數(shù)組 249
11.1.5 結(jié)構(gòu)體指針 249
11.2 靜態(tài)鏈表、動(dòng)態(tài)鏈表 249
11.2.1 靜態(tài)鏈表 250
11.2.2 動(dòng)態(tài)鏈表 252
11.3 共用體 257
習(xí)題11 261
第12章 文件 262
12.1 C語(yǔ)言中文件的概念 262
12.1.1 文件的概念 262
12.1.2 計(jì)算機(jī)中的流 262
12.1.3 文件分類(lèi) 263
12.1.4 文件的緩沖區(qū) 263
12.1.5 文件指針 264
12.2 文件的打開(kāi)與關(guān)閉 265
12.2.1 文件的打開(kāi) 265
12.2.2 文件的打開(kāi)方式 265
12.2.3 文件的關(guān)閉 266
12.3 讀/寫(xiě)文件常用函數(shù) 266
12.3.1 以字符形式讀/寫(xiě)文件 266
12.3.2 以字符串的形式讀/寫(xiě)文件 267
12.3.3 以數(shù)據(jù)塊的形式讀/寫(xiě)文件 267
12.3.4 格式化讀/寫(xiě)文件 268
12.3.5 隨機(jī)讀/寫(xiě)文件 268
12.3.6 文件操作的出錯(cuò)檢測(cè) 269
12.4 文件操作應(yīng)用示例 270
12.4.1 文本文件操作 270
12.4.2 二進(jìn)制文件操作 272
12.4.3 學(xué)生成績(jī)的存儲(chǔ)和刪除 273
習(xí)題12 276
附錄 278
附錄A 標(biāo)準(zhǔn)ASCII碼字符集 278
附錄B 運(yùn)算符和結(jié)合性 279
附錄C 常用庫(kù)函數(shù) 281