项目1 C语言概述 1
1.1 程序设计语言简介 2
1.1.1 机器语言 2
1.1.2 汇编语言 2
1.1.3 高级语言 3
1.2 计算机中的进制及相互转换 4
1.2.1 计算机中的几种进制 4
1.2.2 计算机中机器数的表示方法 5
1.2.3 计算机中进制之间的相互转换 6
1.3 C语言简介 8
1.3.1 C语言概述 8
1.3.2 C语言的程序结构及特点 8
1.3.3 运行C程序的环境与步骤 11
习题一 15
项目2 C语言的数据类型、运算符及表达式 17
2.1 C语言的数据类型结构 18
2.2 标识符、常量及变量 18
2.2.1 标识符 18
2.2.2 常量 20
2.2.3 变量 21
2.3 基本数据类型 22
2.3.1 整型数据 22
2.3.2 实型数据 26
2.3.3 字符型数据 28
2.3.4 变量赋初值 32
2.3.5 不同类型数据间的相互转换 33
2.4 运算符及表达式 38
2.4.1 C语言运算符简介 38
2.4.2 算术运算符和算术表达式 39
2.4.3 赋值运算符和赋值表达式 39
2.4.4 自增、自减运算符 41
2.4.5 关系运算符和关系表达式 42
2.4.6 逻辑运算符和逻辑表达式 43
2.4.7 位运算符 44
2.4.8 逗号运算符和逗号表达式 48
2.4.9 常用运算符的优先级别汇总 49
2.5 编译预处理 49
2.5.1 宏定义 50
2.5.2 文件包含 56
2.5.3 条件编译 58
习题二 61
项目3 顺序结构程序设计 65
3.1 C语句概述 66
3.2 赋值语句 67
3.3 C语言中数据的输入输出 68
3.4 字符数据的输入输出 69
3.4.1 putchar函数 69
3.4.2 getchar函数 69
3.4.3 gets函数 70
3.4.4 puts函数 70
3.5 格式输入与输出 71
3.5.1 printf函数 71
3.5.2 scanf函数 80
习题三 84
项目4 选择结构程序设计 88
4.1 if语句 89
4.1.1 单边选择结构 89
4.1.2 双边选择结构 91
4.1.3 多分支选择结构 92
4.1.4 嵌套if语句 95
4.2 条件运算符 98
4.3 switch语句 99
习题四 107
项目5 循环结构程序设计 112
5.1 while语句 113
5.2 do-while语句 115
5.3 for语句 119
5.4 循环的嵌套 123
5.5 break语句与continue语句 124
5.5.1 break语句 124
5.5.2 continue语句 125
习题五 130
项目6 数组 136
6.1 一维数组 137
6.1.1 一维数组的定义 137
6.1.2 一维数组的引用 138
6.1.3 一维数组的初始化 138
6.1.4 一维数组应用举例 139
6.2 二维数组 142
6.2.1 二维数组的定义 142
6.2.2 二维数组的引用 143
6.2.3 二维数组的初始化 144
6.2.4 二维数组程序举例 145
6.3 字符数组 147
6.3.1 字符数组的定义 148
6.3.2 字符数组的初始化 148
6.3.3 字符数组的引用 149
6.3.4 字符串和字符串结束标志 150
6.3.5 字符数组的输入输出 152
6.3.6 字符串处理函数 153
6.3.7 字符数组应用举例 157
习题六 162
项目7 函数 168
7.1 结构化程序设计和C语言程序组成 169
7.1.1 结构化程序设计 169
7.1.2 C语言程序的组成 169
7.1.3 函数分类 171
7.2 库函数 172
7.3 函数的定义和调用 174
7.3.1 函数的定义 174
7.3.2 函数的调用 175
7.4 函数参数和函数的值 181
7.4.1 形式参数和实际参数 181
7.4.2 函数的返回值 183
7.5 函数调用时参数间的传递 186
7.5.1 将变量、常量、数组元素作为参数时的传递 186
7.5.2 将数组名作为参数时的传递 188
7.6 函数的嵌套调用 191
7.7 函数的递归调用 196
7.8 变量的作用域、生存期和存储类别 200
7.8.1 局部变量和全局变量 200
7.8.2 变量的存在性和可见性 205
7.8.3 变量的存储类型 205
习题七 219
项目8 指针 225
8.1 指针的基本概念 226
8.2 指针变量 228
8.2.1 指针变量的定义 228
8.2.2 指针变量的赋值 229
8.2.3 指针变量的引用 230
8.2.4 将指针变量作为参数时的传递 232
8.3 数组与指针 236
8.3.1 指向一维数组元素的指针 236
8.3.2 通过指针引用一维数组的元素 237
8.3.3 用一维数组名作函数参数 242
8.3.4 指向多维数组的指针和指针变量 251
8.4 指针与字符串 256
8.4.1 字符串的表示形式 256
8.4.2 字符指针作函数参数 260
8.5 函数的指针 263
8.5.1 用函数指针变量调用函数 263
8.5.2 用指向函数的指针作函数参数 264
8.6 返回指针值的函数 267
8.7 指针数组 269
8.7.1 指针数组 269
8.7.2 main函数的参数 272
8.8 指向指针的指针 274
8.8.1 指向指针的指针 274
习题八 283
项目9 结构体和共用体 289
9.1 结构体 290
9.1.1 结构体的定义 290
9.1.2 结构体变量的定义 291
9.1.3 结构体变量的引用 293
9.1.4 结构体变量的赋值 294
9.2 结构体数组 296
9.2.1 结构体数组的定义 296
9.2.2 结构体数组的初始化 297
9.2.3 结构体数组元素的引用 298
9.2.4 结构体数组的应用举例 298
9.3 结构体和指针 300
9.3.1 指向结构体变量的指针 300
9.3.2 指向结构体数组的指针 302
9.3.3 用结构体变量和指向结构体的指针作函数参数 304
9.4 动态存储分配 305
9.5 指针链表 307
9.5.1 结构体构成的链表 307
9.5.2 在链表中插入结点 309
9.5.3 在链表中删除结点 310
9.6 共用体 311
9.6.1 共用体的概念 311
9.6.2 共用体变量的引用 312
9.7 枚举类型 315
9.7.1 枚举类型的定义 315
9.7.2 枚举类型变量的定义 315
9.7.3 枚举类型变量的赋值和使用 315
9.8 类型定义符typedef 318
习题九 319
项目10 文件 323
10.1 文件概述 324
10.1.1 文件的概念 324
10.1.2 文件的指针 326
10.1.3 文件的一般操作过程 326
10.2 文件的打开和关闭 327
10.2.1 文件的打开——fopen( )函数 327
10.2.2 文件的关闭——fclose( )函数 329
10.3 文件的读写 330
10.3.1 fgetc函数和fputc函数 330
10.3.2 字符串读写函数fgets和fputs 332
10.3.3 fread函数和fwrite函数 334
10.3.4 fscanf函数和fprintf函数 336
10.4 文件定位 337
10.4.1 rewind函数 337
10.4.2 fseek函数 338
10.4.3 ftell函数 338
10.5 文件检测函数和处理函数 338
10.5.1 feof函数 339
10.5.2 ferror函数 339
10.5.3 clearerr函数 339
10.5.4 exit函数 339
习题十 343
附录一 ASCII码表 345
附录二 考试大纲 346
附录三 C语言的运算符和结合性 351
附录四 C语言常用语法 353
附录五 C库函数 357
附录六 C库文件 362
参考文献 364