本書分為基礎(chǔ)篇、提高篇和實驗篇。基礎(chǔ)篇主要內(nèi)容包括程序設(shè)計和C語言基礎(chǔ)知識,以及順序、選擇和循環(huán)結(jié)構(gòu)程序設(shè)計,使讀者初步建立起利用C語言進行簡單程序設(shè)計的思想,學會進行簡單的程序設(shè)計;提高篇主要內(nèi)容包括函數(shù)、編譯預處理、數(shù)組等構(gòu)造型數(shù)據(jù)類型、指針類型及對文件的操作,C語言模塊化的編程思想及對數(shù)組、指針類型的應用,學會使用構(gòu)造型數(shù)據(jù)類型和指針類型處理問題,學會對文件進行操作;實驗篇共10個實驗。所有程序在Visual C環(huán)境下調(diào)試通過。提供程序代碼、課后習題指導和電子課件。
王秀鸞,女,在青島理工大學任教10余年,一直從事計算機基礎(chǔ)課程教學,教學經(jīng)驗豐富,積極參與學校及山東省的精品課程和在線課程建設(shè),并擔任課程的主講人,參與多部教材的編寫工作。其中《大學計算機基礎(chǔ)》被評為山東省精品課程,《大學計算機基礎(chǔ)》和《程序設(shè)計基礎(chǔ)(C)》均上線了教育廳山東省高等學校在線開放課程平臺。
目 錄
基礎(chǔ)篇
第1章 C語言概況 1
1.1 程序設(shè)計的基本概念 1
1.1.1 程序和程序設(shè)計語言 1
1.1.2 程序設(shè)計的一般過程 2
1.1.3 結(jié)構(gòu)化程序設(shè)計方法 2
1.2 C語言的初步知識 4
1.2.1 C語言的起源與特點 4
1.2.2 初識C語言程序 6
1.2.3 C語言字符集與標識符 7
1.2.4 C語言程序的基本構(gòu)成 8
1.2.5 簡單的屏幕輸出 9
1.2.6 C語言程序的上機調(diào)試過程 10
本章小結(jié) 11
習題1 12
第2章 C語言基礎(chǔ) 13
2.1 數(shù)據(jù)類型 13
2.1.1 數(shù)據(jù)類型 13
2.1.2 基本數(shù)據(jù)類型標識符 13
2.2 常量和變量 14
2.2.1 常量 15
2.2.2 變量 18
2.3 算術(shù)運算 20
2.3.1 算術(shù)運算符 21
2.3.2 算術(shù)表達式 21
2.4 3個特殊的運算符 25
2.4.1 sizeof運算符 25
2.4.2 逗號運算符 25
2.4.3 取地址運算符& 25
本章小結(jié) 26
習題2 26
第3章 順序結(jié)構(gòu) 28
3.1 C語言程序的語句 28
3.1.1 說明語句 28
3.1.2 執(zhí)行語句 28
3.2 賦值運算 29
3.2.1 賦值運算符和賦值表達式 29
3.2.2 賦值語句 30
3.2.3 自增、自減運算符 32
3.3 數(shù)據(jù)的輸入和輸出 33
3.3.1 單個字符的輸入和輸出函數(shù) 33
3.3.2 格式化輸入和輸出函數(shù) 35
3.4 程序舉例 39
本章小結(jié) 42
習題3 42
第4章 選擇結(jié)構(gòu) 45
4.1 關(guān)系運算 45
4.1.1 關(guān)系運算符 45
4.1.2 關(guān)系表達式 45
4.2 邏輯運算 46
4.2.1 邏輯運算符 47
4.2.2 邏輯運算的值 47
4.2.3 邏輯表達式 48
4.3 if語句 49
4.3.1 if語句的3種形式 49
4.3.2 if語句的嵌套 54
4.3.3 條件運算符和條件表達式 55
4.4 switch語句 56
4.5 程序舉例 58
本章小結(jié) 62
習題4 62
第5章 循環(huán)結(jié)構(gòu) 67
5.1 while語句 67
5.2 do-while語句 70
5.3 for語句 71
5.4 轉(zhuǎn)移語句 75
5.4.1 break語句 76
5.4.2 continue語句 76
5.5 程序舉例 77
本章小結(jié) 81
習題5 82
第6章 編譯預處理 88
6.1 宏定義 88
6.1.1 不帶參數(shù)的宏定義 88
6.1.2 帶參數(shù)的宏定義 90
6.2 文件包含 92
6.3 條件編譯 93
本章小結(jié) 93
習題6 94
提高篇
第7章 數(shù)組 97
7.1 一維數(shù)組 97
7.1.1 一維數(shù)組的定義 97
7.1.2 一維數(shù)組的初始化 98
7.1.3 一維數(shù)組元素的引用 99
7.1.4 一維數(shù)組的應用 100
7.2 二維數(shù)組 104
7.2.1 二維數(shù)組的定義 104
7.2.2 二維數(shù)組的初始化 105
7.2.3 二維數(shù)組元素的引用 105
7.2.4 二維數(shù)組應用舉例 106
7.3 字符數(shù)組 110
7.3.1 字符數(shù)組的定義 110
7.3.2 字符串與字符數(shù)組 110
7.3.3 字符數(shù)組的初始化 111
7.3.4 字符數(shù)組的輸入/輸出 111
7.3.5 字符串(字符數(shù)組)處理
函數(shù) 113
7.3.6 字符數(shù)組的應用 116
本章小結(jié) 119
習題7 119
第8章 函數(shù) 125
8.1 自定義函數(shù) 125
8.1.1 自定義函數(shù)的定義 125
8.1.2 自定義函數(shù)的返回值 126
8.1.3 自定義函數(shù)的調(diào)用 127
8.1.4 自定義函數(shù)的聲明 128
8.2 簡單變量作為函數(shù)形參 129
8.3 函數(shù)的嵌套調(diào)用和遞歸調(diào)用 131
8.3.1 函數(shù)的嵌套調(diào)用 131
8.3.2 函數(shù)的遞歸調(diào)用 133
8.4 變量的存儲類別 136
8.4.1 局部變量及其存儲類別 137
8.4.2 全局變量及其存儲類別 140
8.4.3 函數(shù)的作用域和存儲類別 143
8.5 程序舉例 144
本章小結(jié) 147
習題8 148
第9章 指針 153
9.1 指針變量 153
9.1.1 變量的指針和指針變量 153
9.1.2 指針變量的定義和初始化 154
9.1.3 指針變量的引用 155
9.2 數(shù)組指針變量 158
9.2.1 數(shù)組指針變量的定義和引用 158
9.2.2 二維數(shù)組的指針 162
9.2.3 指針與字符串 165
9.3 指針數(shù)組和二級指針變量 169
9.3.1 指針數(shù)組 169
9.3.2 二級指針變量 171
本章小結(jié) 171
習題9 173
第10章 函數(shù)參數(shù)傳遞進階 177
10.1 指針變量作為函數(shù)參數(shù) 177
10.2 數(shù)組名和數(shù)組指針變量作為
函數(shù)參數(shù) 178
10.3 行數(shù)組指針變量作為函數(shù)參數(shù) 180
10.4 字符型指針變量作為函數(shù)參數(shù) 181
10.5 指向函數(shù)的指針變量作為函數(shù)
參數(shù) 183
10.6 main( )函數(shù)的形參 186
本章小結(jié) 187
習題10 188
第11章 結(jié)構(gòu)體與共用體 193
11.1 自定義類型標識符 193
11.2 結(jié)構(gòu)體的定義與引用 194
11.2.1 結(jié)構(gòu)體類型的定義 194
11.2.2 結(jié)構(gòu)體類型變量、數(shù)組和指針
變量的定義 195
11.2.3 結(jié)構(gòu)體類型變量、數(shù)組和指針
變量的初始化 198
11.2.4 結(jié)構(gòu)體類型變量、數(shù)組和指針
變量的引用 198
11.2.5 函數(shù)之間結(jié)構(gòu)體類型數(shù)據(jù)的
傳遞 203
11.2.6 用指針處理鏈表 205
11.3 共用體的定義與引用 210
11.3.1 共用體類型的定義 211
11.3.2 共用體類型變量的定義 211
11.3.3 共用體變量的引用 212
11.4 枚舉類型 213
本章小結(jié) 215
習題11 216
第12章 位運算 219
12.1 位運算符 219
12.2 位運算符的功能 219
12.2.1 按位與運算(&) 219
12.2.2 按位或運算(|) 220
12.2.3 按位異或運算(^) 220
12.2.4 按位取反運算(~) 220
12.2.5 按位左移(<<) 221
12.2.6 按位右移(>>) 221
12.2.7 復合位賦值運算符 221
本章小結(jié) 222
習題12 222
第13章 數(shù)據(jù)文件 224
13.1 C語言文件 224
13.2 定義、打開和關(guān)閉文件 225
13.2.1 文件指針 225
13.2.2 打開文件(fopen( )函數(shù)) 225
13.2.3 關(guān)閉文件(fclose( )函數(shù)) 227
13.3 文件的輸入/輸出 227
13.3.1 fputc( )函數(shù)和fgetc( )函數(shù) 227
13.3.2 fgets( )函數(shù)和fputs( )函數(shù) 229
13.3.3 fprintf( )函數(shù)和fscanf( )函數(shù) 230
13.3.4 fread( )函數(shù)和fwrite( )函數(shù) 232
13.4 文件的定位 233
13.4.1 rewind( )函數(shù) 234
13.4.2 fseek( )函數(shù)和隨機讀/寫 234
13.4.3 ftell( )函數(shù) 235
本章小結(jié) 235
習題13 235
實驗篇
第14章 實驗 238
實驗一 初識C語言編程 238
實驗二 算術(shù)運算與標準函數(shù)使用 241
實驗三 順序結(jié)構(gòu)的程序設(shè)計 243
實驗四 選擇結(jié)構(gòu)程序設(shè)計 245
實驗五 循環(huán)結(jié)構(gòu)程序設(shè)計 248
實驗六 數(shù)組類型程序設(shè)計 251
實驗七 指針程序設(shè)計 254
實驗八 函數(shù)程序設(shè)計 256
實驗九 結(jié)構(gòu)體和共用體程序設(shè)計 260
實驗十 數(shù)據(jù)文件 262
附錄A 運算符的優(yōu)先級和結(jié)合性 264
附錄B 標準函數(shù) 265
附錄C ASCII字符編碼表 268
附錄D 程序調(diào)試中常見錯誤信息一覽 269
參考文獻 276