第1篇 程序设计基础 1
第1章 程序设计方法学 1
1.1 程序设计方法学简介 1
1.2 结构化程序设计方法 2
1.2.1 概述 2
1.2.2 程序设计步骤 4
1.2.3 方法举例 5
1.3 面向对象程序设计方法 5
1.3.1 概述 5
1.3.2 程序设计步骤 8
1.3.3 方法举例 9
习题1 10
第2章 算法——程序的关键 11
2.1 算法的含义及其特征 11
2.1.1 算法的由来 11
2.1.2 算法的含义 11
2.1.3 算法的特征 12
2.2 算法的表示 12
2.2.1 程序的3种基本结构 12
2.2.2 流程图及其表示 13
2.2.3 N-S图及其表示 14
2.3 简单算法举例 15
习题2 18
第3章 程序设计过程 19
3.1 高级语言与编译器 19
3.2 程序设计过程 20
习题3 23
第4章 相关的程序设计基础知识 24
4.1 基本的软硬件知识 24
4.1.1 基本的软件知识 24
4.1.2 基本的硬件知识 28
4.2 程序在内存中的布局 31
4.2.1 C语言程序的存储区域 32
4.2.2 C语言可执行程序的内存布局 32
4.2.3 举例说明 34
4.3 源程序编写的一般规范 34
4.3.1 标识符命名及书写规则 34
4.3.2 注释及格式要求 35
4.3.3 缩进规则 36
4.3.4 代码的排版布局 36
4.3.5 函数的编写规范 37
习题4 37
第2篇 C语言程序设计基础 39
第5章 C语言基础 39
5.1 基本字符集、标识符、常量和变量 39
5.1.1 基本字符集 39
5.1.2 标识符 39
5.1.3 常量 40
5.1.4 变量 41
5.2 基本数据类型 42
5.2.1 整型数据 43
5.2.2 实型数据 45
5.2.3 字符型数据 46
5.3 运算符与表达式 49
5.3.1 算术运算符与表达式 49
5.3.2 逻辑运算符与表达式 50
5.3.3 关系运算符与表达式 52
5.3.4 自增、自减运算符 53
5.3.5 逗号运算符与表达式 53
5.3.6 赋值运算符及表达式 54
5.3.7 类型转换 55
5.4 位运算 57
5.4.1 按位与运算符 58
5.4.2 按位或运算符 59
5.4.3 按位异或运算符 60
5.4.4 按位取反运算符 61
5.4.5 按位左移运算符 61
5.4.6 按位右移运算符 62
5.4.7 位运算赋值运算符 62
5.5 综合程序举例 62
习题5 64
第6章 顺序结构程序设计 67
6.1 顺序结构概述 67
6.2 数据输出 69
6.2.1 printf函数的一般调用形式 70
6.2.2 printf函数的常用格式说明 70
6.2.3 使用printf函数的注意事项 72
6.2.4 putchar函数输出字符 73
6.3 数据输入 74
6.3.1 scanf函数的一般调用形式 74
6.3.2 scanf函数的常用格式说明 75
6.3.3 使用scanf函数从键盘输入数据 76
6.3.4 使用getchar函数从键盘输入数据 77
6.4 综合程序举例 77
习题6 79
第7章 分支结构程序设计 82
7.1 分支结构概述 82
7.2 if语句 83
7.2.1 单分支if语句 83
7.2.2 双分支if…else语句 85
7.3 多分支结构 87
7.3.1 嵌套的if语句 87
7.3.2 switch语句 90
7.4 无条件转移语句 93
7.4.1 语句标号 93
7.4.2 goto语句 93
7.5 综合程序举例 93
习题7 97
第8章 循环结构程序设计 99
8.1 循环结构概述 99
8.2 简单循环结构 99
8.2.1 while循环 99
8.2.2 do…while语句 102
8.2.3 for语句 104
8.3 break和continue语句 106
8.3.1 break语句 106
8.3.2 continue语句 108
8.4 循环的嵌套 109
8.5 综合程序举例 111
习题8 113
第3篇 C语言程序设计能力 115
第9章 数组 115
9.1 数组概述 115
9.2 一维数组 117
9.2.1 一维数组的定义 117
9.2.2 一维数组元素的引用 119
9.2.3 一维数组元素的初始化 120
9.2.4 应用举例 120
9.3 二维及以上高维数组 124
9.3.1 二维数组的定义 124
9.3.2 二维数组元素的引用 125
9.3.3 二维数组的初始化 126
9.3.4 其他高维数组 127
9.3.5 应用举例 128
9.4 字符串与字符数组 132
9.4.1 字符串的表示 132
9.4.2 字符串的输入与输出 133
9.4.3 字符串处理的函数 134
9.4.4 字符串数组 138
9.4.5 应用举例 140
9.5 综合程序举例 140
习题9 146
第10章 地址与指针变量 149
10.1 地址和指针概述 149
10.2 指针变量的定义 150
10.3 指针变量的赋值 150
10.4 指针变量的操作 152
10.4.1 指针引用 152
10.4.2 指针移动 154
10.4.3 指针比较 154
10.5 一维数组和指针 155
10.5.1 一维数组和数组元素的地址 155
10.5.2 指针与数组元素操作 155
10.6 二维数组和指针 158
10.6.1 二维数组和数组元素的地址 158
10.6.2 指针与数组元素操作 159
10.7 指针数组 161
10.8 字符指针 162
10.9 多级指针 164
10.10 动态内存分配 165
10.11 动态数组 167
10.12 综合程序举例 168
习题10 174
第11章 函数 176
11.1 函数概述 176
11.2 函数的定义 179
11.2.1 函数定义 179
11.2.2 函数的返回值 180
11.3 函数的调用 180
11.3.1 函数调用语法 180
11.3.2 函数的嵌套调用 182
11.4 函数的声明 187
11.4.1 函数声明的形式 187
11.4.2 函数声明的位置 188
11.5 参数传递 189
11.5.1 值传递方式 189
11.5.2 地址传递方式 191
11.6 函数与数组 193
11.7 函数与指针 195
11.7.1 指针作为函数参数 195
11.7.2 指针型函数与函数指针 200
11.8 变量的作用域、存储类型和生存期 202
11.8.1 变量的作用域 202
11.8.2 存储类型和生存期 205
11.9 main函数中的参数 208
11.10 带参数的宏与函数 209
11.11 综合程序举例 210
习题11 212
第12章 结构体、共用体、枚举及用户定义类型 216
12.1 结构体 216
12.1.1 定义结构类型和结构变量 216
12.1.2 访问结构体成员 219
12.1.3 结构体数组 221
12.1.4 结构体指针 222
12.1.5 链表 223
12.1.6 结构体与函数 232
12.2 共用体 234
12.2.1 共用体类型与共用体变量 234
12.2.2 共用体变量的引用 235
12.2.3 共用体指针 236
12.3 枚举与自定义类型 237
12.3.1 枚举类型 237
12.3.2 自定义类型 238
12.4 综合程序举例 239
习题12 241
第13章 文件 244
13.1 文件概述 244
13.1.1 文件名 245
13.1.2 文件分类 245
13.1.3 文件缓冲区 246
13.2 文件类型指针 246
13.2.1 文件的存取方式 247
13.2.2 文件的定位 247
13.3 文件的打开与关闭 247
13.3.1 文件打开 248
13.3.2 文件关闭 249
13.4 顺序读写文件 250
13.4.1 字符读写 250
13.4.2 字符串读写 252
13.4.3 数据块读写 254
13.4.4 格式化读写 256
13.5 随机读写数据文件 257
13.6 文件读写出错检测函数 259
13.7 综合程序举例 260
习题13 263
附录 265
附录A 标准ASCII码表 265
附录B C语言的关键字 266
附录C C语言常用语法提要 267
附录D C语言常用的标准库函数 270
附录E C语言运算符优先级 273
参考文献 275