图书目录

第1章计算机基础知识/1

1.1认识计算机/1

1.1.1计算机硬件系统/1

1.1.2计算机软件系统/2

1.1.3计算机工作过程/3

1.1.4计算机工作的特点/4

1.2计算机语言/5

1.3计算机程序/7

1.4课外阅读/8第2章算法与C程序设计初步/10

2.1算法的含义/10

2.2算法的特性/13

2.3C语言编程要点/14

2.3.1C语言的特点/14

2.3.2C程序的组成/15

2.3.3变量/17

2.3.4赋值语句/21

2.3.5基本输入输出函数/21

2.4C程序示例/27

2.5扩展知识/28

2.5.1数据类型/28

2.5.2变量的初始化/30

2.5.3不同数据类型间的运算/30

2.5.4自增和自减运算符 /32

2.6C编程规范/33

2.6.1排版/33

2.6.2注释/33

2.6.3标识符命名/34

2.6.4变量/34

2.7动态调试程序的方法/34

2.7.1设置断点/35

2.7.2单步运行和观测窗口/36

2.8课后练习/38

2.9实验题目/38

2.9.1认识C程序/38

2.9.2比较两个交换变量取值的算法/40

2.10课外学习/41第3章初步认识结构化算法/42

3.1结构化算法的原则和特点/42

3.1.1结构化算法的主要原则/42

3.1.2结构化算法的主要特点/43

3.23种基本控制结构与流程图/43

3.2.1传统流程图与3种控制结构/43

3.2.2NS图与3种基本控制结构/44

3.3NS图描述算法/46

3.4顺序结构算法举例/47

3.5扩展知识/49

3.5.1认识编译预处理命令include

和define/49

3.5.2编译预处理命令的使用/51

3.6C编程规范/52

3.7课后练习/52

3.8顺序结构算法实验/52

3.9课外阅读/53第4章分支结构算法及其实现/54

4.1关系表达式和逻辑表达式/54

4.1.1关系运算和关系表达式/54

4.1.2逻辑运算和逻辑表达式/55

4.2二选一分支结构/58

4.3算法走读/61

4.3.1对算法的NS图进行编号/61

4.3.2用测试数据检验算法/62

4.4实现二选一结构的ifelse 语句/64

4.4.1ifelse语句的基本形式/64

4.4.2ifelse语句的缩进、对齐/64

4.4.3复合语句/65

4.5含二选一分支结构的算法举例/67

4.6多分支结构及算法举例/70

4.6.1多分支选择结构/70

4.6.2实现多分支结构的C语句/73

4.7扩展知识/74

4.7.1C数据与逻辑“真”与“假”/74

4.7.2条件运算符/74

4.8C编程规范/75

4.8.1排版/75

4.8.2可读性/75

4.8.3质量保证/76

4.9课后练习/76

4.10实验题目/77

4.10.1二选一分支结构算法设计/77

4.10.2修改分支结构的C程序/78

4.10.3多分支结构算法设计/79

4.11课外阅读/80第5章循环结构算法及其实现/81

5.1先判断型循环结构/81

5.1.1定数循环/81

5.1.2C语言中的while语句/83

5.1.3for 循环结构/85

5.1.4不定数循环/86

5.1.5先判断型循环结构的算法举例/89

5.2循环结构算法走读/94

5.2.1算法走读/94

5.2.2算法的健壮性/97

5.3后判断型循环结构/99

5.4 循环的嵌套/102

5.4.1自顶向下、逐步求精的设计方法/102

5.4.2循环的嵌套/104

5.4.3for循环结构与穷举法/105

5.5扩展知识/109

5.5.1复合赋值运算符/109

5.5.2for循环的灵活使用/109

5.5.3break语句/110

5.5.4枚举类型/112

5.6C编程规范/115

5.6.1排版/115

5.6.2可读性/115

5.6.3提高效率/115

5.7课后练习/115

5.8实验题目/117

5.8.1先判断型循环结构算法设计(一)/117

5.8.2先判断型循环结构算法设计(二)/118

5.8.3后判断型循环结构算法设计/119

5.8.4循环嵌套算法的设计/120

5.8.5利用for循环穷举法解题/122

5.9课外实践/123第6章模块化和C语言的函数/124

6.1“模块化”程序设计思想/124

6.2函数/126

6.2.1标准函数/126

6.2.2自定义函数/127

6.3参数/130

6.3.1形参和实参/130

6.3.2参数的值传递和地址传递/130

6.3.3如何设计函数中的参数/132

6.4返回值/137

6.5函数举例/138

6.6调用过程分析/143

6.6.1函数调用的一般形式/143

6.6.2函数调用的方式/143

6.6.3函数调用的过程/144

6.7扩展知识/146

6.7.1全局变量和局部变量/146

6.7.2函数的递归调用/149

6.7.3带参数的宏定义/151

6.7.4利用#include 实现代码的重用/153

6.8C编程规范/154

6.8.1函数设计/154

6.8.2全局变量/155

6.8.3指针/155

6.9课后练习/155

6.10实验题目/157

6.10.1打印月历/157

6.10.2函数的嵌套调用/157

6.10.3掷骰子游戏/158

6.10.4函数的递归/160

6.11课外实践/161第7章数组/162

7.1一维数组及其使用/162

7.1.1数组的引出/162

7.1.2一维数组的定义和引用/163

7.1.3一维数组使用举例/165

7.1.4数组名做函数的参数/172

7.1.5排序和查找算法/178

7.2二维数组及其使用/187

7.2.1二维数组的定义和引用/187

7.2.2二维数组使用的一般形式/188

7.2.3二维数组使用举例/189

7.2.4二维数组名做函数的参数/191

7.3扩展知识/195

7.3.1数组的初始化/195

7.3.2一维数组的指针变量/196

7.3.3一维数组指针做函数的参数/198

7.4C编程规范/199

7.4.1数组定义规范/199

7.4.2数组使用规范/200

7.5课后练习/200

7.6实验题目/201

7.6.1数组元素计数器和做标记/201

7.6.2数组名作为函数参数/202

7.6.3改进冒泡法排序算法/203

7.6.4二维数组的使用/205

7.7课外实践/206第8章字符和字符串处理的算法/208

8.1字符类型数据处理的算法/208

8.1.1字符常量与字符变量/208

8.1.2字符数据在内存中的存储/209

8.1.3字符类型数据处理算法举例/210

8.2一个字符串的存储和处理/214

8.2.1一维字符数组与字符串/214

8.2.2C语言中字符串的输入输出/215

8.2.3字符串处理函数/217

8.2.4字符串处理算法举例/219

8.3多个字符串的存储和处理/225

8.3.1二维字符数组/225

8.3.2多个字符串处理算法举例/226

8.4扩展知识/229

8.4.1字符串的指针变量/229

8.4.2指针数组/231

8.5课后练习/233

8.6实验目的/233

8.6.1字符及字符串处理/233

8.6.2字符串处理/234

8.6.3综合练习多个字符串的

存储和处理/235第9章结构体/237

9.1结构体的引出/237

9.2结构体类型和结构体变量/238

9.2.1结构体类型/238

9.2.2结构体变量/239

9.2.3结构体变量的引用/241

9.3结构体数组/243

9.3.1结构体数组/243

9.3.2结构体数组的引用/244

9.4指向结构体的指针变量/246

9.4.1结构体变量的指针变量/246

9.4.2结构体和结构体指针做参数/246

9.5扩展知识/248

9.6C编程规范/249

9.6.1结构体设计/249

9.6.2可读性/250

9.7课后练习/250

9.8实验题目/251

9.8.1结构体变量的定义和使用/251

9.8.2结构体数组的使用/252

9.8.3结构体做函数的参数——结构体

指针的使用/253

9.9课外实践/254附录AC语言常用格式说明符/256附录B本书各章C语言运算符的优先级和结合性/258附录C常用字符ASCII码表/260C语言语法索引/261算法索引/263

参考文献/264