第一章 程序设计概述 1
第一节 计算机语言和计算机程序 1
一、计算机语言 1
目录 1
二、计算机程序设计 2
第二节 程序设计的过程 3
一、建立数学模型 3
二、选定算法,并用适当的工具描述算法 4
三、编程 4
四、测试及调试 5
一、算法的概念 6
第三节 程序设计的思维方法——算法 6
二、算法的特征 7
三、算法的表示方法 7
第四节 结构化程序设计原理 9
一、程序的控制结构 9
二、结构化程序方法 10
三、结构化程序设计的特点 10
第五节 程序的实现 11
一、硬件环境 11
二、软件环境 12
三、C程序的上机步骤 13
一、C语言的特点 14
第六节 C语言的特点和程序的结构 14
二、C语言的程序结构 15
习题一 17
第二章 数据类型、运算符与表达式 18
第一节 基本数据类型和长度 18
第二节 常量 19
一、整型常量 20
二、实型常量 20
三、字符常量 20
四、字符串常量 21
五、符号常量 21
一、变量的概念 22
第三节 变量 22
二、变量名 23
三、变量的定义 23
第四节 数据类型的转换 24
第五节 运算符与表达式 25
一、算术运算符与算术表达式 25
二、关系运算符和逻辑运算符 25
三、自增和自减运算符 26
四、赋值运算符与赋值表达式 27
五、逗号运算符和逗号表达式 28
习题二 28
一、引例 30
第三章 程序的控制结构 30
第一节 顺序结构程序设计 30
二、复合语句 31
三、赋值语句 31
四、函数调用语句 31
五、程序举例 36
第二节 选择结构程序设计 38
一、引例 38
二、if语句 38
三、if语句的嵌套 40
四、switch语句 41
五、程序举例 43
第三节 循环结构程序设计 45
一、引例 45
二、while语句do—while语句 46
三、for语句 48
四、循环的嵌套 49
五、break和continue语句 50
六、goto和label语句 51
七、程序举例 52
第四节 常用算法程序设计 54
一、枚举法 54
二、递推法 56
三、非线形方程求解 58
四、数值积分 59
习题三 61
第四章 构造数据类型——数组 64
第一节 数组的概念及特点 64
第二节 一维数组 64
一、一维数组的定义 64
二、一维数组的引用 65
三、一维数组的初始化 66
四、一维数组的输入输出 66
五、一维数组应用举例 67
二、二维数组的引用 78
一、二维数组的定义 78
第三节 二维数组 78
三、二维数组的初始化 79
四、二维数组元素在内存中的排列顺序 80
五、二维数组应用举例 80
第四节 字符数组 83
一、字符串及其存储方式 83
二、字符数组的定义及初始化 84
三、字符数组的输入输出 86
四、字符串处理函数 88
五、二维的字符数组 90
六、字符数组应用举例 91
习题四 93
第五章 模块化程序设计 95
第一节 概述 95
第二节 函数的定义和调用 96
一、函数的定义 96
二、函数调用的一般形式 97
三、函数的嵌套调用 99
四、函数的递归调用 102
第三节 实参和形参之间的数据传送 103
一、函数的形式参数和实际参数 103
二、函数的返回值 108
一、局部变量和全局变量 109
第四节 变量的作用域和生存期 109
二、动态存储变量与静态存储变量 112
第五节 程序设计举例 114
第六节 编译预处理 119
一、概述 119
二、文件包含 120
三、宏定义 121
四、条件编译 125
第七节 小结 128
习题五 130
二、访问变量的方式 133
一、数据在内存中的存储 133
第一节 指针的概念 133
第六章 指针 133
三、指针及指针变量 134
第二节 指针变量的定义及引用 134
一、指针变量的定义 134
二、指针变量的引用 135
第三节 指针与函数 137
一、指针作为函数参数 137
二、函数的指针 140
第四节 指针和数组 143
一、指向数组的指针 143
二、引用数组元素的方法 144
三、指向二维数组的指针 149
第五节 指针与字符串 154
一、字符串的表示形式 154
二、程序设计举例 156
第六节 指针数组 161
一、指针数组的概念 161
二、指针数组的初始化 162
第七节 多级指针 165
第八节 main函数中的参数 169
习题六 171
一、结构体类型的定义 173
第一节 定义结构体类型及结构体变量的方法 173
第七章 构造数据类型——结构体与共用体 173
二、结构体类型变量的定义 174
第二节 结构体类型变量的引用和初始化 176
一、结构体变量的引用 176
二、结构体变量的初始化 177
三、结构体变量的输入和输出 179
第三节 结构体数组 179
一、结构体数组的定义 179
二、结构体数组的初始化 180
三、结构体数组的引用 181
一、指向结构体变量的指针 185
第四节 指向结构体的指针 185
二、指向结构体数组的指针 186
第五节 结构体与函数 188
一、结构体变量作为函数参数 188
二、返回结构体类型值的函数 190
第六节 链表结构 192
一、链表的基本结构 192
二、用包含指针项的结构体变量构成结点 193
三、输出链表中的数据 194
四、用于动态存储分配的函数 194
第七节 共用体类型数据 195
一、共用体的概念 195
二、共用体变量的引用 196
三、共用体变量的应用 197
习题七 199
第八章 文件 200
第一节 文件概述 200
第二节 建立和使用文件 201
一、文件类型指针 201
二、文件操作函数 202
第三节 程序设计举例 217
第四节 小结 222
习题八 223
一、上机前要先熟悉程序运行的环境 225
二、程序设计过程中要为程序调试做好准备 225
第一节 调试程序的准备 225
第九章 程序的调试和常见错误分析 225
第二节 调试程序的方法与技巧 226
一、静态调试 227
二、动态调试 228
第三节 C程序常见错误分析 229
附录A ASCII字符表 233
附录B 运算符的优先级和结合性 234
附录C C库函数 235
附录D 编译错误信息 241
参考文献 254