第1章 C程序设计初步 1
1.1 C程序的简史 1
1.2 编程前的准备 3
1.3 程序开发周期 3
1.4 C程序的构成 4
1.4.1 简单的C程序实例 4
1.4.2 阅读C程序 5
1.4.3 C程序的结构 6
1.5 C语言的开发过程和开发环境 8
1.5.1 C语言的开发过程 8
1.5.2 Turbo C开发环境及其使用 8
1.5.3 Visual C+++ 6.0开发环境及其使用 13
1.6 本章小结 18
1.7 习题 18
第2章 语言基础 20
2.1 注释、大括号、关键字、标识符 21
2.1.1 程序注释 21
2.1.2 花括号的使用 21
2.1.3 标识符与关键字 22
2.2 数据类型、常量、变量 23
2.2.1 基本数据类型与数据的表示 23
2.2.2 常量和变量 26
2.2.3 基本的输入/输出 33
2.2.4 赋值运算 40
2.3 不同类型数据之间的转换 41
2.3.1 自动类型转换 41
2.3.2 强制类型转换 43
2.4 程序设计与案例实现 44
2.4.1 案例1:鸡兔同笼问题 44
2.4.2 案例2:学生成绩等级评定 45
2.5 本章小结 46
2.6 习题 46
第3章 简单判定性问题 48
3.1 判定性问题及条件描述 49
3.1.1 关系型判定条件 49
3.1.2 逻辑型判定条件 50
3.1.3 按位进行逻辑运算 53
3.2 if条件语句 56
3.2.1 if语句结构 56
3.2.2 if语句的嵌套问题 63
3.2.3 条件运算符和条件表达式 64
3.3 switch条件语句 65
3.4 案例实现 66
3.4.1 案例1:简易计算器 66
3.4.2 案例2:ATM取款机系统 69
3.5 本章小结 73
3.6 习题 74
第4章 循环结构与应用 75
4.1 for循环语句 76
4.1.1 for循环语句的结构 76
4.1.2 for循环的应用 77
4.2 while循环 79
4.3 do…while循环 81
4.4 循环语句的常见问题 82
4.4.1 双重循环 82
4.4.2 无限循环 84
4.4.3 循环语句的选择 84
4.5 跳出循环语句 85
4.5.1 break语句 85
4.5.2 continue语句 87
4.5.3 goto语句 88
4.6 案例实现 88
4.6.1 案例1:学生成绩管理系统 88
4.6.2 案例2:简易计算器 91
4.7 编码规范 95
4.7.1 命名规范 95
4.7.2 表达式书写 95
4.7.3 语句排序 96
4.8 本章小结 97
4.9 习题 97
第5章 模块化设计与应用 99
5.1 模块化程序设计方法 99
5.1.1 模块化程序设计思想 100
5.1.2 模块规划案例 101
5.2 函数 101
5.2.1 函数的定义 102
5.2.2 函数的一般调用 105
5.2.3 函数的返回值 108
5.2.4 函数的参数传递与返回值 109
5.2.5 数组作为函数参数 112
5.2.6 函数的嵌套调用 116
5.2.7 函数的递归调用 117
5.3 局部变量与全局变量 118
5.3.1 局部变量 119
5.3.2 全局变量 119
5.3.3 全局变量、静态变量、局部变量的区别 120
5.4 编译预处理 121
5.4.1 宏定义#define 121
5.4.2 文件包含#include 123
5.4.3 条件编译 123
5.5 本章小结 125
5.6 习题 126
第6章 相同数据类型集合 129
6.1 数组与数组元素的概念 129
6.2 一维数组 130
6.2.1 一维数组的定义 130
6.2.2 一维数组的初始化 131
6.2.3 一维数组的引用 132
6.2.4 一维数组的应用 134
6.3 二维数组 136
6.3.1 二维数组的定义 136
6.3.2 二维数组的初始化 138
6.3.3 二维数组元素的引用 138
6.3.4 二维数组的应用 139
6.4 使用字符数组处理字符串 142
6.4.1 字符数组初始化 142
6.4.2 字符数组的输入/输出 144
6.4.3 字符串处理函数 146
6.4.4 字符数组的应用 150
6.5 typedef定义类型 152
6.6 案例实现 153
6.6.1 案例1:课表查询系统 153
6.6.2 案例2:竞赛选手评分系统 155
6.7 本章小结 157
6.8 习题 157
第7章 指针与应用 160
7.1 指针概述 160
7.1.1 指针概念 160
7.1.2 指针变量的定义 161
7.1.3 指针的基本运算 164
7.1.4 指针作为函数参数 166
7.2 指针与数组 167
7.2.1 指针与一维数组 167
7.2.2 指针与二维数组 169
7.2.3 指向字符串的指针变量 172
7.2.4 指针数组 172
7.2.5 多级指针 174
7.3 指针与函数 175
7.3.1 指针型函数 175
7.3.2 用函数指针调用函数 176
7.3.3 用指向函数的指针作函数参数 177
7.3.4 带参数的main函数 179
7.4 动态分配内存 181
7.4.1 内存的动态分配 181
7.4.2 动态内存分配函数 182
7.4.3 void指针类型 183
7.5 指针综合案例 184
7.6 本章小结 187
7.7 习题 187
第8章 构造数据类型 190
8.1 结构体 190
8.1.1 结构体的定义 191
8.1.2 结构体变量的声明 194
8.1.3 结构体变量的引用 195
8.1.4 结构体变量的初始化 196
8.1.5 结构体数组的应用 197
8.1.6 结构体在函数中的应用 199
8.2 共用体 200
8.2.1 共用体变量的定义 200
8.2.2 共用体变量的赋值和引用 201
8.3 枚举 202
8.3.1 枚举类型的定义 202
8.3.2 枚举变量的基本操作 203
8.4 自定义数据类型 203
8.4.1 typedef自定义数据类型 204
8.4.2 typedef与#define的区别 206
8.5 本章小结 207
8.6 习题 208
第9章 数据永久性存储 211
9.1 文件概述 211
9.1.1 文件的概念 211
9.1.2 文件指针 213
9.2 文件的基本操作 214
9.2.1 文件的打开和关闭 214
9.2.2 文件的读写 216
9.2.3 字符串的读写 217
9.2.4 数据块的读写 219
9.2.5 格式的读写 220
9.3 文件的定位 221
9.3.1 rewind函数 222
9.3.2 fseek函数 222
9.3.3 ftell函数 223
9.4 文件状态检查函数 224
9.5 习题 224
第10章 一个完整案例的综合设计与实现 226
10.1 问题的提出 226
10.2 系统功能设计 226
10.2.1 系统模块设计 226
10.2.2 数据结构设计 227
10.3 程序流程图 227
10.4 源程序清单 228
10.5 程序测试 236
10.6 项目文档 237
10.6.1 需求分析文档 237
10.6.2 概要设计文档 238
10.6.3 详细设计文档 239
附录A 常用字符与ASCII代码对照表 242
附录B 运算符的优先级与结合性 243
附录C C语言常用的库函数 245
参考文献 250