第1章 C程序设计入门 1
1.1 概述 1
1.1.1 程序和程序设计语言 1
1.1.2 C语言的起源和发展 2
1.1.3 C语言的特点 3
1.2 简单的C程序 4
1.2.1 简单的C程序举例 4
1.2.2 C程序的结构 8
1.2.3 C程序的调试与运行环境 9
1.3 基本数据类型 11
1.3.1 整型数据 12
1.3.2 实型数据 16
1.3.3 字符型数据 18
1.4 运算符和表达式 23
1.4.1 运算符优先级及结合性 23
1.4.2 数据类型转换 24
1.4.3 算术运算符和算术表达式 26
1.4.4 赋值运算符和赋值表达式 27
1.4.5 逗号运算符和逗号表达式 29
1.4.6 ++和——运算符 30
1.4.7 sizeof运算符 31
1.5 宏常量与常变量 32
1.5.1 宏常量 32
1.5.2 常变量 33
1.6 位运算 34
复习与思考 38
习题1 38
第2章 顺序结构程序设计 41
2.1 编程逻辑与技术 41
2.1.1 算法及算法的描述工具 41
2.1.2 程序设计的基本过程 44
2.1.3 结构化程序设计方法 45
2.2 C语言的语句类型 47
2.3 数据的输入与输出 48
2.3.1 字符输入与输出函数 49
2.3.2 格式输入与输出函数 50
2.4 常用计算函数 60
2.4.1 数学库函数 60
2.4.2 伪随机函数 61
2.5 程序举例 62
复习与思考 67
习题2 67
第3章 选择结构程序设计 70
3.1 关系运算符和关系表达式 70
3.1.1 关系运算符 70
3.1.2 关系表达式 71
3.2 逻辑运算符和逻辑表达式 72
3.2.1 逻辑运算符 72
3.2.2 逻辑表达式 72
3.3 if语句 74
3.3.1 if语句的三种形式 74
3.3.2 if语句的嵌套 78
3.4 条件运算符和条件表达式 79
3.5 switch语句 81
3.6 程序举例 84
复习与思考 91
习题3 91
第4章 循环结构程序设计 98
4.1 当型循环与直到型循环 98
4.1.1 当型循环结构 98
4.1.2 直到型循环结构 98
4.2 循环语句 99
4.2.1 while语句 99
4.2.2 do-while语句 101
4.2.3 for语句 103
4.3 循环的嵌套 105
4.4 break语句和continue语句 108
4.4.1 break语句 108
4.4.2 continue语句 109
4.5 程序举例 110
复习与思考 122
习题4 122
第5章 函数 130
5.1 函数的定义与调用 130
5.1.1 函数的定义 131
5.1.2 函数的返回值 132
5.1.3 函数的调用 134
5.2 函数间的参数传递 140
5.2.1 实参与形参的传递方式 140
5.2.2 局部变量与全局变量 142
5.2.3 局部变量的存储类别 145
5.2.4 全局变量的存储类别 147
5.3 函数的嵌套调用 148
5.4 函数的递归调用 150
复习与思考 155
习题5 156
第6章 数组 165
6.1 一维数组 165
6.1.1 一维数组的定义与引用 165
6.1.2 一维数组的初始化 168
6.1.3 一维数组应用举例 169
6.2 二维数组 174
6.2.1 二维数组的定义与引用 174
6.2.2 二维数组的初始化 176
6.2.3 二维数组应用举例 178
6.3 字符数组 182
6.3.1 字符数组的定义与初始化 182
6.3.2 字符串与字符数组 184
6.3.3 字符数组的输入与输出 185
6.3.4 常用字符串处理函数 188
6.3.5 字符数组应用举例 192
6.4 数组作为函数参数 195
6.4.1 用一维数组名作为函数参数 195
6.4.2 用二维数组名作为函数参数 201
复习与思考 203
习题6 203
第7章 指针 211
7.1 指针的概念 212
7.2 指针的操作 214
7.2.1 取地址运算符&与指针运算符﹡ 214
7.2.2 使用指针实现地址传递 216
7.2.3 使用简单指针的例子 219
7.3 数组和指针 220
7.3.1 指向数组元素的指针 220
7.3.2 指针与整数的加减法 221
7.3.3 指针的类型与指针间的减法 222
7.3.4 指向字符串的指针 223
7.3.5 使用指针处理一维数组的应用举例 226
7.4 指针数组与多级指针 229
7.4.1 指针数组 229
7.4.2 二级指针及多级指针 231
7.4.3 使用指针数组作为main函数的参数 233
7.5 数组的指针与函数的指针 235
7.5.1 指向数组的指针 235
7.5.2 行指针与列指针 236
7.5.3 函数指针与指针函数 237
复习与思考 240
习题7 241
第8章 结构体与共用体 249
8.1 结构体类型与结构体变量 249
8.1.1 结构体类型的声明 249
8.1.2 结构体类型变量的定义 250
8.1.3 结构体类型变量的引用 252
8.1.4 结构体类型变量的初始化 254
8.2 结构体数组 255
8.2.1 结构体数组的定义与引用 255
8.2.2 结构体数组应用举例 256
8.3 结构体指针 259
8.3.1 指向结构体变量的指针 259
8.3.2 指向结构体数组的指针 260
8.3.3 将结构体指针作为函数参数 262
8.4 共用体 266
8.5 枚举类型 269
8.6 用typedef自定义类型名 272
复习与思考 274
习题8 274
第9章 动态数组与链表 282
9.1 内存动态分配与动态数组 282
9.1.1 常用的内存动态分配函数 282
9.1.2 动态数组 284
9.2 链表 286
9.2.1 链表的基本概念 286
9.2.2 创建动态链表 286
9.2.3 输出动态链表 289
9.2.4 动态链表的删除操作 290
9.2.5 动态链表的插入操作 291
9.2.6 动态链表的应用举例 292
复习与思考 296
习题9 296
第10章 文件 300
10.1 文件的基本概念 300
10.1.1 字节流 300
10.1.2 缓冲文件系统 300
10.1.3 文件类型指针 301
10.1.4 文件位置指针及文件打开方式 301
10.2 文件的打开与关闭 302
10.2.1 文件的打开 302
10.2.2 文件的关闭 303
10.3 文件的读写 304
10.3.1 字符读写函数 304
10.3.2 格式读写函数 307
10.3.3 数据块读写函数 310
10.3.4 其他读写函数 312
10.4 文件的定位 313
复习与思考 314
习题10 315
第11章 综合应用案例——股票交易系统 322
11.1 功能模块设计 322
11.2 数据结构设计 323
11.3 函数功能描述 324
11.4 编制程序 331
11.5 运行程序 342
11.5.1 VC++2010下的多文件管理 342
11.5.2 文件包含 343
11.5.3 调试运行 344
附录A 基本ASCII码表 346
附录B 运算符和结合性 348
附录C C语言关键字 350
附录D VC++ 2010环境下的常用库函数 352
附录E 基于VC ++ 2010环境下的C语言程序运行步骤与方法 361
附录F VC英文版中通用错误代码分析 378
参考文献 381