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