第1章 概述 1
1.1程序、算法、数据结构及程序设计语言 1
1.2程序与软件及软件开发过程 2
1.3面向过程的结构化程序设计 3
1.4 C语言的发展 4
1.5 C语言程序的开发过程 6
1.5.1几个基本术语 6
1.5.2开发C语言程序的基本过程 7
习题一 7
第2章C语言基础 9
2.1 C程序的基本结构 9
2.2 C语言的关键字与标识符 13
2.2.1 关键字 13
2.2.2标识符 13
2.2.3命名规范 14
2.3 C语言的数据类型 14
2.4常量与变量 17
2.4.1常量 17
2.4.2变量 20
2.5运算符与表达式 21
2.5.1算术运算符与算术表达式 22
2.5.2赋值运算符与赋值表达式 22
2.5.3关系运算符与关系表达式 24
2.5.4逻辑运算符与逻辑表达式 24
2.5.5增1(+++)和减1(-)运算符 26
2.5.6条件运算符与条件表达式 26
2.5.7逗号运算符与逗号表达式 27
2.5.8长度提取运算符sizeof 28
2.5.9位运算符 28
2.5.10混合运算时数据类型的转换 31
2.6基本的输入/输出操作 32
2.6.1格式输出函数printf() 32
2.6.2格式输入函数scanf() 34
2.6.3单字符输出函数putchar()与单字符输入函数getchar() 37
2.7程序举例 38
习题二 42
第3章 算法与控制结构 45
3.1算法与控制结构以及算法描述 45
3.2 C语句概述 49
3.3选择结构 51
3.3.1 if语句 51
3.3.2 if…else if语句与switch语句——多分支选择结构 54
3.4循环结构 59
3.4.1 while语句 60
3.4.2 do…while语句 61
3.4.3 for语句 62
3.4.4循环的嵌套(多重循环) 64
3.5 break、 continue及goto语句 67
3.6程序举例 69
习题三 72
第4章函数及编译预处理 77
4.1函数定义与函数调用 77
4.1.1函数定义 77
4.1.2函数调用 78
4.2如何建立函数 82
4.2.1建立函数的基本方法 82
4.2.2函数封装与程序的健壮性 83
4.3函数原型与函数声明 86
4.4函数的递归调用 90
4.5变量的作用域与存储类型 94
4.5.1局部变量与全局变量 94
4.5.2变量的存储类型 96
4.6编译预处理 98
4.6.1文件包含 98
4.6.2宏定义 99
4.6.3条件编译 100
4.7程序举例 100
习题四 106
第5章 数组与字符串 110
5.1数组 110
5.1.1数组的定义 110
5.1.2数组的初始化 111
5.1.3数组的引用 112
5.2数组的排序与查找 114
5.2.1数组的排序 114
5.2.2数组的查找 118
5.3字符数组与字符串 118
5.3.1字符数组与字符串 118
5.3.2字符串处理函数 121
5.4程序举例 123
习题五 126
第6章 指针 130
6.1指针概述 130
6.1.1指针与地址 130
6.1.2指针变量的定义与指针运算符 131
6.1.3指针作函数参数 134
6.2指针与一维数组 136
6.2.1指向一维数组元素的指针 137
6.2.2数组名和指针作函数参数 139
6.3指针与二维数组 140
6.3.1二维数组的指针 140
6.3.2指向二维数组的指针变量 142
6.3.3二维数组指针作函数参数 143
6.4指针与字符串 145
6.5指针数组与指向指针的指针 146
6.5.1指针数组 146
6.5.2指向指针的指针 148
6.6函数的返回值为指针 150
6.7程序举例 151
习题六 156
第7章 构造数据类型 160
7.1类型别名 160
7.2结构类型 160
7.2.1结构类型的声明与结构变量的定义 161
7.2.2结构变量的初始化 164
7.2.3结构变量的引用 164
7.3共用类型 166
7.4枚举类型 168
7.5动态内存分配 171
7.5.1 malloc()函数 172
7.5.2 calloc()函数 173
7.5.3 free()函数 173
7.6链表 174
7.6.1什么是链表 174
7.6.2链表的基本操作 175
习题七 179
第8章 文件 182
8.1文件与流 182
8.1.1流的概念 182
8.1.2文件概念 183
8.1.3文件缓冲区与文件指针 184
8.2文件操作 185
8.2.1文件的打开和关闭 185
8.2.2文件的顺序读写 187
8.2.3文件的随机访问 195
8.3程序举例 199
习题八 202
上机实验指导 205
附录A原码、反码与补码 228
附录B 格式输入/输出函数scanf()和printf() 231
附录C C语言的运算符及其优先级 238
附录D常用库函数 240
附录E ASCll码表 244
附录F Visual C+++ 6.0开发环境及程序调试 245
附录G 《C语言程序设计》测试与练习系统 257
参考文献 260