第1章 绪论 1
1.1 “鸡兔同笼”—计算 1
1.2 算法 2
1.3 PAD图 3
1.4 程序 4
1.5 运行 5
1.6 计算机的基本结构 7
1.7 C语言 7
1.8 VisualC++集成开发环境 9
1.8.1 启动VC+++ 9
1.8.2 独立文件模式下建立环境 9
1.8.3 独立文件模式下录入、编辑源程序 9
1.8.4 编译 11
1.8.5 连接与运行 11
1.8.6 程序参数 12
1.8.7 项目管理模式下建立运行环境 13
1.8.8 项目管理模式下录入、编辑源程序 14
本章小结 16
习题一 16
第2章 简单程序 18
2.1 行程问题—简单程序 18
2.2 语句 19
2.3 表达式 20
2.3.1 表达式语句 22
2.3.2 赋值 22
2.4 基本符号 23
2.4.1 关键字 23
2.4.2 标识符 23
2.4.3 间隔符 24
2.4.4 注释 25
2.5 数据及其类型 26
2.5.1 浮点类型 26
2.5.2 整数类型 27
2.5.3 字符类型 27
2.5.4 混合运算 28
2.6 常量和变量 28
2.6.1 字面常量 28
2.6.2 常量标识符 31
2.6.3 变量 31
2.7 类型转换 32
2.8 输入输出 34
2.8.1 字符输入 34
2.8.2 字符输出 35
2.8.3 格式输入 35
2.8.4 格式输出 36
2.9 顺序控制结构 39
本章小结 43
习题二 44
第3章 分支程序设计 46
3.1 判断成绩是否及格—双分支程序设计 46
3.2 成绩加上获奖信息—单分支程序设计 48
3.3 逻辑判断—布尔类型 54
3.3.1 关系运算 54
3.3.2 布尔运算 55
3.4 获奖分等级—多分支程序设计 55
3.5 表示汽车种类—枚举类型 59
本章小结 61
习题三 61
第4章 循环程序设计 64
4.1 计算平均成绩—循环程序 64
4.1.1 后判断条件的循环 65
4.1.2 先判断条件的循环 69
4.1.3 for语句 73
4.2 打印99表—多重循环 75
4.3 程序设计实例 79
本章小结 83
习题四 83
第5章 模块化程序设计—函数 86
5.1 求给定三角形的重心—模块化程序设计 86
5.2 函数 89
5.2.1 函数定义 90
5.2.2 函数调用 91
5.2.3 先调用后定义 93
5.3 程序设计实例 94
本章小结 97
习题五 97
第6章 批量数据组织—数组 99
6.1 成绩统计—数组类型 99
6.1.1 数组声明 100
6.1.2 下标表达式 101
6.1.3 应注意的问题 101
6.2 统计多科成绩—多维数组 102
6.3 程序设计实例 104
6.4 成绩排序—数组初值 113
6.5 输出回文字—字符串 115
6.6 类型定义 119
本章小结 120
习题六 121
第7章 指针 124
7.1 指针与变量 124
7.1.1 指针类型和指针变量 125
7.1.2 指针所指变量 126
7.1.3 空指针、无效指针 128
7.2 指针运算 129
7.3 指针与数组 131
7.3.1 用指针标识数组 131
7.3.2 指针数组 132
7.4 指针与字符串 134
7.5 指向指针的指针 137
本章小结 139
习题七 139
第8章 表单数据组织—结构体 141
8.1 图书卡管理 141
8.2 图书卡保存—结构体 144
8.2.1 定义结构体类型 145
8.2.2 结构体类型名 146
8.2.3 结构体变量 147
8.2.4 指向结构体变量的指针 148
8.2.5 访问结构体变量的成分 148
本章小结 150
习题八 150
第9章 再论函数 153
9.1 参数 153
9.1.1 传递直线方程系数—指针作参数 153
9.1.2 对任意数组排序—数组作参数 155
9.1.3 图书卡检索—结构体作参数 159
9.2 函数值 160
9.2.1 打印月份名—返回指针值的函数 160
9.2.2 读入图书卡片—返回结构体值的函数 162
9.3 作用域 163
9.4 局部量和全局量 164
9.5 计算—递归程序设计 166
本章小结 171
习题九 171
第10章 外部数据组织—文件 174
10.1 重新考虑图书卡管理问题—文件 174
10.2 文件概述 176
10.3 打开和关闭文件 179
10.4 程序参数 180
10.5 字符读写 183
10.6 字符串读写 184
10.7 格式化读写 185
10.8 数据块读写 188
10.9 文件定位 191
本章小结 192
习题十 193
第11章 程序开发 195
11.1 求三角形外心—自顶向下、逐步求精 195
11.2 结构化程序设计原则 200
11.3 程序风格 201
11.3.1 行文格式 202
11.3.2 标识符 203
11.3.3 注释 203
11.3.4 对程序说明的建议 203
本章小结 204
习题十一 204
第12章 动态数据组织 206
12.1 打印法雷序列—动态数据结构 206
12.2 动态变量 210
12.3 链表 212
12.4 程序设计实例 216
本章小结 220
习题十二 220
第13章 若干深入问题 222
13.1 函数 222
13.1.1 不定方向的数组排序—函数指针 222
13.1.2 计算定积分—函数作参数 224
13.1.3 计算算术表达式的值—间接递归 228
13.1.4 函数副作用 230
13.2 运算 231
13.2.1 赋值运算 232
13.2.2 顺序表达式 232
13.2.3 条件表达式 232
13.2.4 位运算 233
13.3 语句 235
13.3.1 break 235
13.3.2 continue 236
13.3.3 for的延伸 237
13.3.4 goto和标号 237
13.4 数据组织 238
13.4.1 多维数组与指针 238
13.4.2 位段 241
13.4.3 职工登记卡—共用体 242
13.5 存储类别 245
13.5.1 数据在内存中的存储 246
13.5.2 自动存储类别 246
13.5.3 寄存器存储类别 247
13.5.4 变量的静态存储类别 248
13.5.5 变量的外部存储类别 250
13.5.6 函数的存储类别 250
13.5.7 类型定义符 251
13.6 编译预处理 252
13.6.1 宏定义 252
13.6.2 文件包含 253
13.6.3 条件编译 254
本章小结 256
习题十三 256
附录A ASCII字符集 259
附录B 标准库头文件表 262
参考文献 263