第1章C语言概述 1
1.1 C语言的发展和特点 1
1.1.1 C语言的发展 1
1.1.2 C语言的主要特点 1
1.2 C语言的词汇 2
1.2.1 C语言字符集 3
1.2.2关键字 3
1.2.3标识符 3
1.2.4保留标识符 4
1.2.5注释 4
1.3 C程序的结构 4
1.3.1简单C程序举例 4
1.3.2 C语言程序的结构特点 6
1.3.3书写程序时应遵循的规则 7
1.4 Visual C++ 6.0上机简介 7
1.4.1 Visual C++ 6.0集成开发环境简介 7
1.4.2 Visual C++ 6.0集成环境上机步骤 9
小结 13
习题 13
第2章 基本数据类型和运算符 15
2.1基本数据类型 15
2.1.1常量和变量的概念 16
2.1.2常量类型 17
2.1.3变量类型 20
2.2运算符和表达式 25
2.2.1算术运算符与算术表达式 27
2.2.2赋值运算符与赋值表达式 28
2.2.3增量运算符与增量表达式 32
2.2.4逻辑运算符与逻辑表达式 33
2.2.5关系运算符与关系表达式 35
2.2.6条件运算符与条件表达式 36
2.2.7逗号运算符与逗号表达式 38
2.2.8运算符的优先级与结合性 38
2.3数据类型的转换 39
2.3.1自动转换 39
2.3.2赋值转换 40
2.3.3强制类型转换 40
小结 41
习题 41
第3章 顺序和选择结构程序设计 45
3.1程序设计概述 45
3.1.1程序设计基本步骤 45
3.1.2 C语言编写风格 46
3.1.3语句 46
3.2 scanf()函数和字符输入/输出函数调用 47
3.2.1数据输入的概念 47
3.2.2 scanf()函数的调用 47
3.2.3 getchar()函数 49
3.2.4 putchar()函数 50
3.3程序的3种基本结构 51
3.4 if选择结构语句 52
3.4.1 if语句的3种形式 52
3.4.2 if语句的嵌套 56
3.5 switch选择结构语句 58
3.6程序设计举例 61
小结 65
习题 65
第4章 循环结构程序设计 70
4.1 for循环 70
4.2 while循环 72
4.3 do-while循环 74
4.4 3种循环语句的比较 76
4.5跳转语句 76
4.5.1 break语句 76
4.5.2 continue语句 77
4.5.3 goto语句 78
4.6循环语句的嵌套 79
4.7程序设计举例 82
小结 88
习题 89
第5章 数组 92
5.1一维数组 92
5.1.1一维数组的定义 92
5.1.2一维数组元素的引用 93
5.1.3一维数组元素的初始化 95
5.2二维数组 96
5.2.1二维数组的定义 96
5.2.2二维数组元素的引用 97
5.2.3二维数组元素的初始化 98
5.3字符型数组 100
5.3.1字符数组的定义 101
5.3.2字符数组的引用 101
5.3.3字符数组的初始化 102
5.3.4字符串及其结束标志 103
5.3.5字符数组的输入/输出 104
5.3.6常用的字符串处理函数 106
5.4使用数组的程序设计方法 109
5.4.1排序 110
5.4.2查找 112
5.5程序设计举例 114
小结 117
习题 118
第6章 函数和模块设计 122
6.1结构化程序设计 122
6.1.1结构化程序设计的基本概念 122
6.1.2结构化程序设计的基本特征 123
6.2函数的定义和调用 124
6.2.1函数的定义 124
6.2.2函数的调用 125
6.2.3函数的返回值 128
6.2.4函数参数及函数间的数据传递 131
6.3函数的嵌套调用和递归调用 136
6.3.1函数的嵌套调用 136
6.3.2函数的递归调用 139
6.4作用域和存储类型 141
6.5内部函数和外部函数 148
6.5.1内部函数 148
6.5.2外部函数 148
6.6模块化程序设计 150
6.6.1模块化程序设计方法的指导思想 150
6.6.2模块分解的原则 150
6.7程序设计举例 151
小结 156
习题 156
第7章 指针 159
7.1指针的概念 159
7.1.1地址与指针 159
7.1.2指针变量的定义和引用 160
7.1.3指针变量的运算 162
7.2指针变量作为函数参数 164
7.3指针与一维数组 167
7.3.1一维数组的指针表示 167
7.3.2数组作函数参数时的指针表示 169
7.3.3字符串的指针表示 171
7.4指针与多维数组 174
7.4.1多维数组的处理 174
7.4.2指向多维数组的指针 175
7.5指针数组和多级指针 177
7.5.1指针数组的概念 177
7.5.2指针数组的应用 178
7.5.3多级指针(指向指针的指针) 181
7.6指针与函数 182
7.6.1指向函数的指针 183
7.6.2函数指针的应用 184
7.6.3返回指针的函数 187
7.7命令行参数 190
小结 191
习题 193
第8章 结构体与联合体 195
8.1结构体 195
8.1.1结构体类型的定义 195
8.1.2结构体类型变量的定义与使用 196
8.1.3结构体类型变量的赋值与初始化 197
8.1.4结构体类型数组的定义与引用 198
8.1.5结构体类型指针的定义和引用 201
8.1.6结构体类型数据的动态存储分配 204
8.1.7链表及其基本操作 206
8.2联合体 211
8.3其他自定义数据类型 213
8.3.1枚举类型 213
8.3.2类型定义符typedef 215
小结 217
习题 217
第9章 预处理和输入/输出标准函数 219
9.1预处理命令 219
9.1.1宏定义 219
9.1.2文件包含 222
9.1.3条件编译 222
9.2输入/输出标准函数 224
9.2.1格式输出函数(printf ) 225
9.2.2格式输入函数(scanf ) 227
9.3自定义头文件设计的原则 229
小结 232
习题 232
第10章 文件 234
10.1文件的基本概念 234
10.2文件的基本操作 235
10.2.1文件的打开与关闭 235
10.2.2文件的读写 237
10.2.3文件检测函数 246
10.3程序设计举例 246
小结 249
习题 249
第11章 数据结构和数据抽象 251
11.1数据抽象 251
11.1.1数据结构和数据类型 251
11.1.2抽象数据类型 252
11.2线性表 252
11.2.1线性表的定义 252
11.2.2线性表的基本操作 253
11.2.3线性表的顺序存储 254
11.2.4顺序表上基本运算的实现 255
11.3堆栈 256
11.3.1抽象栈的定义及基本操作 257
11.3.2抽象栈的定义 257
11.3.3顺序栈的基本运算的实现 257
11.4队列 259
11.4.1队列的定义 259
11.4.2队列的存储结构及其相关算法 259
小结 262
习题 263
附录1 ASCII代码对照表 264
附录2 C库函数 265
附录3 Debugger调试器使用简介 271