第1章 C语言及程序设计概述 1
1.1程序与程序设计语言 1
程序的概念 1
程序设计语言的发展 1
C语言的发展及特点 2
1.2程序设计方法 3
结构化程序设计方法 3
面向对象程序设计方法 4
1.3算法及其表示 5
算法的概念 5
算法的组成要素 5
算法的特性 6
算法的表示 6
1.4 C语言程序的基本结构 9
C程序的结构特点 10
源程序书写格式 10
1.5 C语言的基本语法单位 10
C语言的字符集 11
关键字 11
标识符 11
分隔符 12
注释 12
1.6 C语言程序的开发环境 12
源程序的编辑、编译、连接与执行 12
Visual C++ 6.0集成开发环境 14
习题一 17
第2章 数据类型、运算符及表达式 18
2.1基本数据类型 19
整型数据 19
实型数据 20
字符型数据 20
2.2常量与变量 22
常量 22
变量 24
2.3运算符与表达式 26
算术运算符与算术表达式 27
自增与自减运算 28
关系运算符与关系表达式 30
逻辑运算符与逻辑表达式 31
赋值运算符与赋值表达式 32
条件运算符与求字节运算符 33
逗号运算符与逗号表达式 34
2.4数据类型转换 34
自动类型转换 34
赋值转换 35
强制类型转换 36
习题二 36
第3章 控制结构 39
3.1 C语言的基本语句 39
说明语句 39
表达式语句 40
函数调用语句 40
空语句 40
复合语句 40
3.2数据的输入与输出 41
字符数据的输入与输出函数 41
格式输出函数 42
格式输入函数 44
3.3基本控制结构与流程控制语句 45
三种基本结构 45
流程控制语句 46
3.4选择结构控制 46
if语句的形式 46
if语句的嵌套 49
3.5 switch语句 50
3.6循环控制 51
while语句 51
do...while语句 52
for语句 53
循环嵌套 54
3.7辅助控制语句 55
break语句 55
continue语句 55
goto语句 56
3.8程序设计举例 57
习题三 60
第4章 函数 64
4.1结构化程序设计与C程序结构 64
结构化程序设计的特征与风格 64
模块与函数 64
4.2函数的定义 66
标准库函数 66
函数的定义 66
4.3函数的调用 68
函数的声明 68
函数调用 69
参数传递 70
函数的返回值 71
4.4函数的嵌套调用与递归调用 73
函数的嵌套调用 73
函数的递归调用 74
4.5变量的作用域 76
局部变量 76
全局变量 77
4.6变量的存储类别 79
变量的存储方式 79
自动变量 80
静态变量 80
寄存器变量 81
外部变量 82
4.7内部函数与外部函数 83
内部函数 83
外部函数 83
4.8程序设计举例 84
习题四 88
第5章 编译预处理 92
5.1宏定义 92
无参宏定义 92
带参宏定义 95
5.2文件包含 99
5.3条件编译 100
习题五 102
第6章 数组 106
6.1一维数组 106
一维数组的定义 106
一维数组的逻辑结构和存储结构 107
一维数组元素的引用 108
一维数组的初始化 109
一维数组的应用举例 111
6.2二维数组 113
二维数组的定义 113
二维数组的逻辑结构和存储结构 113
二维数组元素的引用 114
二维数组的初始化 115
二维数组应用举例 116
6.3字符数组和字符串 120
字符数组的定义和初始化 120
字符数组的输入/输出 122
字符串的概念和存储表示 123
字符串处理函数 125
6.4数组作为函数的参数 129
数组元素作为函数参数 129
数组名作为函数的参数 130
6.5程序设计举例 131
习题六 134
第7章 指针 138
7.1指针与指针变量的概念 138
变量的地址 138
指针和指针变量 139
7.2指针变量的定义和引用 140
指针变量的定义和初始化 140
指针变量的引用 141
7.3指针运算 143
指针的赋值运算 143
指针的算术运算 144
指针的关系运算 145
指针的下标运算 145
7.4指针与函数 146
指针作为函数的参数 146
返回指针的函数 148
指向函数的指针 149
7.5指针与数组 151
指向一维数组的指针 152
指向二维数组的指针 154
7.6指针与字符串 156
字符指针与字符串 156
字符串数组 160
7.7指针数组和多级指针 162
指针数组 162
多级指针 163
7.8程序设计举例 164
习题七 167
第8章 结构体、共用体和枚举类型 172
8.1结构体 172
结构体类型的声明 172
结构体变量的定义 174
结构体变量的引用 175
结构体变量的使用 175
结构体数组 177
结构体指针变量 179
结构体与函数 181
8.2共用体 184
共用体类型声明及共用体类型变量的定义 184
共用体变量的引用 185
8.3枚举类型 187
枚举类型的声明 187
枚举类型变量的定义 187
8.4用typedef定义类型 188
typedef的概念 188
typedef的用法 188
8.5链表 189
动态内存分配函数 190
单链表的构造 193
单链表的操作 195
8.6程序设计举例 201
习题八 205
第9章 位运算 212
9.1位运算符与位运算 212
位运算符 212
按位取反运算符 212
左移运算符 213
右移运算符 213
按位与运算符 213
按位或运算符 214
按位异或运算符 214
9.2位段 215
位段结构体说明 215
位段的引用 216
9.3程序设计举例 217
习题九 218
第10章 文件 221
10.1文件的基本概念 221
文本文件与二进制文件 221
缓冲文件系统和非缓冲文件系统 222
10.2文件类型指针 222
10.3文件的打开与关闭 223
文件的打开 223
文件的关闭 225
10.4文件的读/写操作 225
字符读/写函数 226
字符串读/写函数 228
数据块读/写函数 230
格式化读/写函数 232
10.5文件的随机读/写操作 233
重返文件头函数 233
指针位置移动函数 233
取指针当前位置函数 235
文件处理 235
10.6文件检测函数 241
习题十 241
第11章 综合应用案例 243
11.1系统设计要求 243
11.2系统设计及函数实现 244
系统设计 244
数据结构 245
函数设计 245
11.3参考程序 253
源代码清单 253
电话本软件开发过程简介 265
习题十一 265
附录A 常用字符与ASCII代码表 267
附录B C语言的关键字及说明 269
附录C 运算符的优先级和结合方向 271
附录D 常用的C库函数 273
参考文献 279