第1章 初识C语言程序设计 1
1.1 C语言的特点和应用 1
1.2 C语言的词法单位 3
1.2.1 C语言的字符集 4
1.2.2关键字(通常也称为保留字) 4
1.2.3标识符(名词) 4
1.2.4 C语言语句 5
1.3 C语言程序的基本结构 6
1.3.1简单的C语言程序介绍 6
1.3.2 C程序的结构与书写规则 8
1.4程序与算法 10
1.4.1程序与程序设计 10
1.4.2算法 11
1.4.3算法的表示 12
1.4.4结构化程序设计方法 14
1.5 C语言程序的上机调试 15
1.5.1 C语言的编译环境 15
1.5.2 C语言程序上机运行的方法与步骤 16
1.6本章小结 20
1.7习题 21
1.8上机实验 23
实验项目VC++ 6.0的使用与程序调试 23
第2章 数据类型、运算符和表达式 26
2.1数据的表示与数据类型 26
2.1.1常量 26
2.1.2变量 30
2.2基本数据类型的运用 31
2.2.1整型数据 31
2.2.2实型数据 34
2.2.3字符型数据 36
2.3运算符与表达式 37
2.3.1算术运算符和算术表达式 38
2.3.2赋值运算符和赋值表达式 41
2.3.3关系运算符和关系表达式 43
2.3.4逻辑运算符和逻辑表达式 44
2.3.5位运算符和位运算 45
2.3.6其他运算符和表达式 47
2.4常用数学库函数的使用 48
2.5本章小结 49
2.6习题 50
2.7上机实验 52
第3章 顺序结构程序设计 54
3.1 C语句概述 54
3.2 C语言的输入与输出 56
3.3字符数据的输入与输出 57
3.3.1字符输出函数p utcha r() 57
3.3.2字符输入函数getchar() 58
3.4格式输入与输出函数 59
3.4.1格式输出函数printf () 59
3.4.2格式输入函数scanf () 64
3.5顺序结构程序设计举例 68
3.6本章小结 70
3.7习题 70
3.8上机实验:输入/输出操作及顺序结构程序设计 73
第4章 选择结构程序设计 77
4.1 if语句 77
4.1.1单分支结构 77
4.1.2双分支结构 78
4.1.3多分支结构 79
4.1.4 if语句的嵌套 80
4.2 switch语句 81
4.3条件运算符 83
4.4选择结构程序举例 84
4.5本章小结 87
4.6习题 87
4.7上机实验 90
第5章 循环结构程序设计 93
5.1循环的概念与分类 93
5.2 while语句 94
5.3 do…while语句 96
5.4 for语句 97
5.5循环的嵌套 100
5.5.1循环嵌套的流程 101
5.5.2循环嵌套的应用实例 101
5.6无条件转向语句 102
5.6.1 break语句 102
5.6.2 continue语句 103
5.6.3 goto语句 104
5.7应用实例 105
5.7.1穷举法 105
5.7.2递推法 106
5.8本章小结 107
5.9习题 108
5.10上机实验 114
第6章 数组 116
6.1.维数组 116
6.1.1一维数组的定义 116
6.1.2一维数组的引用 118
6.1.3一维数组的初始化 119
6.1.4应用实例 121
6.2二维数组 125
6.2.1二维数组的定义 125
6.2.2二维数组的引用 126
6.2.3二维数组的初始化 127
6.2.4二维数组的应用举例 127
6.3字符数组与字符串 129
6.3.1字符数组 130
6.3.2字符串 131
6.3.3字符串处理函数 132
6.4本章小结 135
6.5习题 136
6.6上机实验 138
第7章 函数 141
7.1函数的定义与调用 141
7.1.1函数的分类 141
7.1.2函数定义的一般形式 143
7.1.3函数的调用 146
7.1.4函数的参数传递 148
7.2函数的嵌套调用与递归调用 151
7.2.1函数的嵌套调用 151
7.2.2函数的递归调用 152
7.3变量的作用域和存储类别 153
7.3.1变量的作用域 153
7.3.2变量的存储类别 155
7.4内部函数与外部函数 157
7.4.1内部函数 157
7.4.2外部函数 157
7.5程序的多文件结构 158
7.6应用实例 164
7.7本章小结 167
7.8习题 167
7.9上机实验 170
第8章 编译预处理 172
8.1宏定义#define命令 172
8.1.1宏定义 172
8.1.2带参数的宏替换 176
8.2文件包含 177
8.3条件编译 179
8.4本章小结 181
8.5习题 182
8.6上机实验 185
第9章 指针 187
9.1地址与指针类型 187
9.1.1地址及取地址运算 187
9.1.2指针类型与指针运算 189
9.2指针变量 190
9.2.1指针变量的定义 190
9.2.2指针变量的引用 191
9.3指针与数组 195
9.3.1指向数组元素的指针 195
9.3.2用指针法引用数组元素 196
9.3.3多维数组与指针 197
9.4指针与字符串 201
9.5指针与函数 204
9.5.1指针变量作函数的参数 204
9.5.2指向函数的指针变量 209
9.5.3指针型函数 211
9.6指针型数组 213
9.7多级指针 216
9.8本章小结 217
9.9习题 218
9.10上机实验:指针的应用 222
第10章 结构体、共用体和枚举类型 224
10.1结构体类型 224
10.1.1结构体类型的定义 224
10.1.2结构体变量的说明与引用 225
10.1.3位段 229
10.2结构体数组 231
10.2.1结构体数组的定义与初始化 231
10.2.2应用举例 232
10.3结构体与指针 234
10.3.1结构体类型的指针变量 235
10.3.2指向结构体数组的指针 236
10.3.3结构体类型变量作函数的参数 237
10.4动态数据结构——链表 238
10.4.1链表的概念与分类 238
10.4.2动态内存分配函数 239
10.4.3链表的建立与操作 240
10.5共用体 245
10.5.1共用体类型的定义与变量说明 245
10.5.2共用体变量的引用 246
10.6枚举类型 247
10.7用typedef说明一种新类型名 250
10.8本章小结 252
10.9习题 254
10.10上机实验:结构体的应用 257
第11章 文件操作 259
11.1文件概述 259
11.2文件类型与指针 261
11.3文件的打开与关闭 262
11.3.1文件的打开函数 262
11.3.2文件的关闭函数 264
11.4文件的输入与输出 264
11.4.1字符读写函数 265
11.4.2格式化读写函数 268
11.4.3字符串读写函数 271
11.4.4块读写函数 274
11.5文件的定位和随机读写 276
11.5.1 rewind函数 276
11.5.2 fseek()函数 276
11.5.3 ftell()函数 277
11.6出错检测函数 278
11.6.1 ferror()函数 278
11.6.2 clearerror()函数 278
11.7本章小结 278
11.8习题 279
11.9上机实验:文件的使用 283
第12章 课程设计 285
12.1课程设计的目的与要求 285
12.2课程设计的选题与实施过程 286
12.2.1选题 286
12.2.2实施过程 287
12.3课程设计的规范 289
12.3.1编程规范 289
12.3.2课程设计报告的内容 290
12.4课程设计参考题目 291
12.5本章小结 295
附录A C语言的关键字 296
附录B 常用字符与ASCII码表 298
附录C C语言运算符 300
附录D C常用库函数 302
附录E C程序的调试与测试 310
附录F C语言常见编译、链接错误提示信息 314
附录G 全国计算机等级考试二级C语言考试大纲 321
附录H 全国计算机等级考试二级C语言(笔试)模拟题 324
附录I 习题参考答案 335
参考文献 360