第1章C语言及程序设计概述 1
1.1程序与程序设计语言 2
1.1.1程序的概念 2
1.1.2程序设计语言的发展 2
1.1.3 C语言的发展及特点 3
1.1.4 C语言与C++、Java、C#的比较 5
1.2程序设计方法 6
1.2.1程序设计的基本过程 6
1.2.2结构化程序设计方法 7
1.2.3面向对象程序设计方法 7
1.3 C语言程序的基本结构 8
1.3.1一个简单的C语言程序 8
1.3.2 C语言程序的结构特点 9
1.3.3代码编写风格 10
1.4 C语言的基本语法单位 10
1.4.1 C语言的字符集 10
1.4.2关键字 11
1.4.3标识符 11
1.4.4分隔符 11
1.4.5注释 12
1.5 C语言程序的开发过程与环境 12
1.5.1由源程序生成可执行程序的过程 12
1.5.2 Microsoft Visual C++ 6.0集成开发环境 14
习题1 17
第2章 基本数据类型和表达式 20
2.1基本数据类型 21
2.1.1整型数据 21
2.1.2实型数据 22
2.1.3字符型数据 23
2.2常量与变量 25
2.2.1常量 25
2.2.2变量 27
2.3运算符与表达式 29
2.3.1算术运算符与算术表达式 30
2.3.2自增与自减运算 32
2.3.3关系运算符与关系表达式 33
2.3.4逻辑运算符与逻辑表达式 34
2.3.5赋值运算符与赋值表达式 35
2.3.6条件运算符与求字节运算符 36
2.3.7逗号运算符与逗号表达式 37
2.4数据类型转换 37
2.4.1自动类型转换 37
2.4.2赋值转换 38
2.4.3强制类型转换 39
习题2 39
第3章 程序的控制结构 43
3.1算法与语句 44
3.1.1算法及其特征 44
3.1.2算法与程序结构 44
3.1.3算法的描述 45
3.1.4 C语言的语句分类 49
3.2基本输入/输出函数 51
3.2.1字符的输入/输出函数 51
3.2.2格式化输入/输出函数 52
3.3顺序结构 57
3.4选择结构 58
3.4.1 if语句 58
3.4.2 if语句的嵌套 61
3.4.3 switch…case语句 64
3.5循环结构 66
3.5.1 while语句 66
3.5.2 do…while语句 68
3.5.3 for语句 70
3.5.4循环嵌套 72
3.6其他控制语句 75
3.6.1 break语句 75
3.6.2 continue语句 75
3.6.3 goto语句 76
3.7程序设计举例 77
习题3 81
第4章 函数 87
4.1结构化程序设计与C程序结构 88
4.1.1结构化程序设计的特征与风格 88
4.1.2模块与函数 88
4.2函数的定义 89
4.2.1标准库函数 89
4.2.2函数的定义 90
4.3函数的调用 92
4.3.1函数的声明 92
4.3.2函数调用 93
4.3.3参数传递 94
4.3.4函数的返回值 96
4.4函数的嵌套调用与递归调用 98
4.4.1函数的嵌套调用 98
4.4.2函数的递归调用 99
4.5变量的作用域 101
4.5.1局部变量 101
4.5.2全局变量 102
4.6变量的存储类别 105
4.6.1变量的存储方式 105
4.6.2自动变量 105
4.6.3静态变量 106
4.6.4寄存器变量 107
4.6.5外部变量 108
4.7内部函数与外部函数 109
4.7.1内部函数 109
4.7.2外部函数 110
4.8编译预处理 111
4.8.1编译预处理简介 111
4.8.2宏定义 111
4.8.3文件包含 114
4.8.4条件编译 115
4.9程序设计举例 118
习题4 121
第5章 数组 127
5.1一维数组 128
5.1.1一维数组的定义 128
5.1.2一维数组的逻辑结构和存储结构 129
5.1.3一维数组元素的引用 130
5.1.4一维数组的初始化 132
5.1.5一维数组的应用举例 133
5.2二维数组 136
5.2.1二维数组的定义 136
5.2.2二维数组的逻辑结构和存储结构 137
5.2.3二维数组元素的引用 138
5.2.4二维数组的初始化 139
5.2.5二维数组的应用举例 140
5.3字符数组和字符串 143
5.3.1字符数组的定义和初始化 143
5.3.2字符数组的输入/输出 146
5.3.3字符串的概念和存储表示 147
5.3.4字符串处理函数 149
5.4数组作为函数的参数 154
5.4.1数组元素作为函数参数 154
5.4.2数组名作为函数的参数 155
5.5程序设计举例 156
习题5 161
第6章 指针 165
6.1指针的概念 166
6.1.1变量的地址 166
6.1.2指针和指针变量 166
6.1.3指针变量的定义 167
6.1.4指针变量的初始化 168
6.1.5指针变量的引用 168
6.2指针运算 170
6.2.1指针的赋值运算 170
6.2.2指针的算术运算 171
6.2.3指针的关系运算 172
6.2.4指针的下标运算 172
6.3指针与函数 173
6.3.1指针作为函数的参数 173
6.3.2返回指针的函数 173
6.3.3指向函数的指针 175
6.4指针与数组 177
6.4.1指向数组元素的指针 177
6.4.2指向一维数组的指针 179
6.4.3指针数组 181
6.4.4多级指针 182
6.5指针与字符串 184
6.5.1字符型指针与字符串 184
6.5.2字符串处理函数的实现 184
6.5.3字符串数组 186
6.5.4带参数的main函数 188
6.6程序设计举例 189
习题6 195
第7章 结构体、共用体和枚举类型 201
7.1结构体 202
7.1.1结构体类型的声明 202
7.1.2结构体变量的定义 204
7.1.3结构体变量的引用 205
7.1.4结构体变量的初始化 206
7.1.5结构体变量的有关操作 206
7.1.6结构体数组 208
7.1.7结构体指针变量 210
7.1.8结构体与函数 213
7.2共用体 217
7.2.1共用体类型声明及共用体类型变量的定义 217
7.2.2共用体变量的引用 218
7.2.3共用体变量的初始化 219
7.3枚举类型 221
7.3.1枚举类型的声明 221
7.3.2枚举类型变量的定义 221
7.4用typedef定义类型 223
7.4.1 typedef的意义 223
7.4.2 typedef的用法 224
7.5链表 224
7.5.1单链表的构造 225
7.5.2单链表的操作 227
7.6程序设计举例 234
习题7 240
第8章 文件 248
8.1文件概述 249
8.1.1文件的基本概念 249
8.1.2文件的分类 249
8.1.3文件缓冲区 250
8.2文件类型指针 250
8.3文件的打开与关闭 251
8.3.1文件的打开 251
8.3.2文件的关闭 253
8.4文件的读写操作 253
8.4.1字符读写函数 253
8.4.2字符串读写函数 257
8.4.3数据块读写函数 258
8.4.4格式化读写函数 261
8.5文件的随机读写操作 262
8.5.1重返文件头函数 262
8.5.2指针位置移动函数 263
8.5.3检测指针当前位置函数 265
8.5.4文件操作出错检测函数 265
8.5.5文件处理范例 265
习题8 271
第9章 位运算 273
9.1位运算符与位运算 274
9.1.1按位取反运算符 274
9.1.2左移运算符 275
9.1.3右移运算符 275
9.1.4按位与运算符 276
9.1.5按位或运算符 278
9.1.6按位异或运算符 279
9.2位段 279
9.2.1位段结构体说明 280
9.2.2位段的引用 281
9.3程序设计举例 281
习题9 282
第10章 综合应用案例 285
10.1系统设计要求 286
10.2系统设计及函数实现 286
10.2.1系统设计 286
10.2.2数据结构 287
10.2.3函数设计 288
10.3参考程序 297
10.3.1源代码清单 297
10.3.2电话本软件开发过程简介 311
习题10 313
附录A常用字符与ASCII代码表 314
附录B C语言的关键字及说明 315
附录C运算符的优先级和结合方向 316
附录D常用的C语言库函数 317
附录E用户自定义标识符的命名规则 325
参考文献 327