第1章C语言概述 1
1.1程序与程序设计语言 1
1.1.1程序 1
1.1.2程序设计 1
1.1.3程序设计语言 1
1.2 C语言发展概述和主要特点 2
1.2.1 C语言的发展历史 2
1.2.2 C语言的主要特点 3
1.3 C程序设计方法 4
1.3.1 C程序的基本结构 4
1.3.2 C程序设计步骤 5
1.4 Microsoft Visual C++ 6.0集成开发环境简介 6
本章小结 8
习题 8
第2章 数据类型、运算符与表达式 10
2.1基本标识符 10
2.1.1关键字 10
2.1.2预定义标识符 10
2.1.3用户定义标识符 11
2.2 C语言的数据类型 11
2.2.1为什么引入数据类型 11
2.2.2 C语言的基本数据类型 12
2.2.3数据类型修饰符 13
2.3常量和变量 13
2.3.1常量 13
2.3.2变量 14
2.4整型数据 16
2.4.1整型常量 16
2.4.2整型变量 17
2.4.3整型变量的使用 17
2.5实型数据 17
2.5.1实型常量 17
2.5.2实型变量 18
2.6字符型数据 18
2.6.1字符型常量 18
2.6.2字符型变量 18
2. 7运算符及表达式 19
2.7.1算术运算符和算术表达式 20
2.7.2赋值运算符与赋值表达式 22
2.7.3逗号运算符和逗号表达式 23
2.8数据类型转换 23
2.8.1类型自动转换 24
2.8.2赋值转换 24
2.8.3强制类型转换 25
本章小结 26
习题 28
第3章 顺序结构程序设计 30
3.1 C语句分类概述 30
3.2数据的输入输出 32
3.2.1字符输出函数putchar() 33
3.2.2字符输入函数getchar() 33
3.2.3格式输出函数printf() 34
3.2.4格式输入函数scanf() 38
3.3程序举例 42
本章小结 44
习题 45
第4章 选择结构程序设计 48
4.1关系运算符与关系表达式 48
4.1.1关系运算符 48
4.1.2关系表达式 49
4.2逻辑运算符与逻辑表达式 49
4.2.1逻辑运算符 49
4.2.2逻辑表达式 50
4.3 if语句 50
4.3.1 if语句的一般形式 51
4.3.2缺省else结构的if语句 52
4.3.3 if语句的嵌套 53
4.3.4条件运算符 55
4.4 switch语句 57
4.5程序举例 59
本章小结 63
习题 63
第5章 循环结构程序设计 67
5.1 while语句 67
5.2 do-while语句 68
5.3 for语句 69
5.3.1 for语句的一般形式 69
5.3.2 for语句中的各部分含义 70
5.3.3 for语句的执行过程 70
5.3.4 for语句与while语句的比较 70
5.3.5 for语句应用举例 71
5.3.6 for语句的变形 71
5.4 break语句、continue语句和goto语句 73
5.4.1 break语句 73
5.4.2 continue语句 74
5.4.3 goto语句 75
5.5循环的嵌套 75
5.6程序举例 77
本章小结 81
习题 81
第6章 函数与编译预处理 85
6.1模块化程序设计与函数 85
6.2函数的定义与调用 86
6.2.1函数的定义 87
6.2.2函数的调用 89
6.3函数的递归调用 92
6.4变量的作用域与存储方式 94
6.4.1局部变量 94
6.4.2全局变量 95
6.4.3动态存储与静态存储 98
6.4.4自动变量 98
6.4.5寄存器变量 100
6.4.6静态变量 101
6.5内部函数和外部函数 103
6.5.1内部函数 103
6.5.2外部函数 103
6.6编译预处理 103
6.6.1宏定义 103
6.6.2文件包含 106
6.6.3条件编译 106
6.7程序举例 107
本章小结 109
习题 110
第7章 数组 115
7.1一维数组的定义和引用 115
7.1.1一维数组的定义 115
7.1.2一维数组元素的引用 116
7.1.3一维数组的初始化 116
7.1.4一维数组应用举例 117
7.2二维数组的定义和引用 118
7.2.1二维数组的定义 118
7.2.2二维数组元素的引用 118
7.2.3二维数组的初始化 119
7.2.4二维数组应用举例 119
7.3字符数组与字符串 121
7.3.1字符数组 121
7.3.2字符串的概念及存储 122
7.3.3字符串的输入和输出 123
7.3.4字符串处理函数 127
7.4数组作为函数的参数 130
7.5程序举例 132
本章小结 138
习题 138
第8章 指针 143
8.1指针概述 143
8.1.1变量的地址和指针变量的概念 143
8.1.2指针变量的定义及初始化 144
8.1.3指向指针的指针 146
8.2指针变量的赋值与引用 147
8.2.1指针变量的赋值 147
8.2.2指针变量的引用 148
8.3指针变量的运算 149
8.3.1指针变量的算术运算 149
8.3.2指针变量的关系运算 150
8.4指针与数组 150
8.4.1一维数组元素的指针访问方式 151
8.4.2二维数组元素的指针访问方式 153
8.4.3字符指针与字符串 156
8.4.4指针数组 159
8.5指针与函数 160
8.5.1指针作为函数参数 160
8.5.2返回指针值的函数 164
8.5.3指向函数的指针 166
8.6带参数的main()函数及其使用 169
8.6.1命令行参数 169
8.6.2带参数的main()函数 169
8.7程序举例 170
本章小结 172
习题 173
第9章 结构体和共用体 181
9.1结构体 181
9.1.1结构体类型的定义 181
9.1.2结构体类型变量的定义和初始化 183
9.1.3结构体成员的引用 184
9.2结构体类型数组 185
9.2.1结构体类型数组的定义 185
9.2.2结构体类型数组的初始化 186
9.2.3结构体数组的使用 186
9.3指向结构体的指针 187
9.3.1指向结构体变量的指针 187
9.3.2指向结构体数组元素的指针 188
9.4结构体与函数 189
9.4.1结构体类型的变量做函数参数 189
9.4.2指向结构体变量的指针作为函数参数 190
9.4.3函数的返回值为结构体类型数据 191
9.4.4函数的返回值为结构体类型指针 192
9.5共用体 193
9.5.1共用体类型的定义 193
9.5.2共用体变量的定义 193
9.5.3共用体成员的引用 194
9.6枚举类型 196
9.7用typedef进行类型定义 198
9.7.1类型定义的基本格式 198
9.7.2类型定义的使用说明 198
9.8综合实例:简单链表 200
9.8.1链表概述 200
9.8.2链表的创建和遍历 203
9.8.3链表的删除 206
9.8.4链表结点的插入和追加 207
本章小结 213
习题 213
第10章 位运算 219
10.1概述 219
10.2位运算 219
10.2.1按位取反运算符 219
10.2.2按位与运算符 220
10.2.3按位或运算符 220
10.2.4按位异或运算符 220
10.2.5按位左移运算符 221
10.2.6按位右移运算符 221
10.2.7位运算赋值运算符 221
10.2.8不同长度的数据进行位运算 221
10.3位运算举例 221
10.4位段 223
本章小结 225
习题 225
第11章 文件 227
11.1文件概述 227
11.1.1文件分类 227
11.1.2文件指针 229
11.1.3文件打开和关闭 230
11.2文件的读写 233
11.2.1字符读写 233
11.2.2字符串读写 235
11.2.3格式化读写 237
11.2.4块数据读写 239
11.3随机文件和定位操作 241
11.3.1随机文件 241
11.3.2定位操作 241
11.4文件状态检测和错误处理 243
11.4.1 ferror()函数 243
11.4.2 clearerr()函数 244
11.5综合实例:学生信息文件的存取 244
本章小结 247
习题 247
第12章C语言综合应用程序实例 251
附录Ⅰ常用字符与ASCII代码对照表 260
附录ⅡC语言中的关键字 262
附录Ⅲ运算符和结合性 263
附录ⅣC编译、连接时常见的错误和警告信息 265
附录ⅤC语言常用部分库函数 272
参考文献 280