计算机c语言调试的含义,C语言程序设计——程序思维与代码调试

C语言程序设计——程序思维与代码调试

语音

编辑

锁定

讨论

上传视频

《C语言程序设计——程序思维与代码调试》是2019年7月电子工业出版社出版的图书,作者是周幸妮。

书    名

C语言程序设计——程序思维与代码调试

作    者

周幸妮

ISBN

9787121370984

页    数

464页定    价

89元

出版社

电子工业出版社

出版时间

2019年7月

开    本

16开

C语言程序设计——程序思维与代码调试内容简介

编辑

语音

本书站在程序设计的角度,从程序和算法、数据、程序语句、指针、结构体、函数和文件等基本的C语言要素讲起,全面介绍C语言程序设计的方方面面,引导学习者以“程序的思维”看问题,即如何从一个问题入手,算法应该如何设计、程序如何实现的角度去看程序设计问题,让初学者容易理解并掌握程序设计的基本思想与方法。通过对实际问题、解决方法或存在问题的讨论,引入新概念,深入浅出,让学习的过程变得有趣且容易。本书图文、表格并茂,便于直观理解。[1]

C语言程序设计——程序思维与代码调试目录

编辑

语音

第1章 程序概论 1

1.1 流程的概念 1

1.1.1 关于流程 1

1.1.2 流程的表达方式 3

1.1.3 流程的基本逻辑结构 4

1.2 程序的概念 8

1.2.1 自动化流程 9

1.2.2 程序的概念 9

1.2.3 程序的执行特点 12

1.2.4 计算机工作流程 12

1.3 程序的构成 13

1.3.1 计算机解题流程之数据 14

1.3.2 计算机解题流程之处理 15

1.3.3 计算机解题流程之结果 15

1.4 程序的开发过程 17

1.4.1 问题引例 17

1.4.2 程序开发基本步骤 18

1.4.3 计算机解题实例 19

1.4.4 程序开发流程 24

1.5 C语言程序简介 25

1.5.1 C程序样例 25

1.5.2 C程序框架结构 28

1.5.3 代码格式要求 29

1.6 本章小结 30

习题 31

第2章 算法 32

2.1 算法的概念 32

2.2 算法的表示 35

2.3 算法的可行性 39

2.4 算法的通用性 42

2.5 算法的全面性 44

2.6 算法设计过程与算法特性 49

2.6 本章小结 52

习题 52

第3章 基本数据 54

3.1 常量与变量 54

3.1.1 常量 54

3.1.2 变量 56

3.2 数据类型 62

3.2.1 计算机中的信息表示 62

3.2.2 计算机中的信息处理问题

讨论 63

3.2.3 C语言的基本数据类型 66

3.3 整数存储规则 67

3.3.1 有符号整数 68

3.3.2 无符号整数 68

3.3.3 字符类型数据 69

3.4 实数存储规则 70

3.5 运算符与表达式 74

3.6 数值处理 76

3.6.1 算术运算符和算术表达式 76

3.6.2 数据运算中的出界问题 80

3.7 逻辑判断处理 81

3.7.1 关系运算 81

3.7.2 逻辑运算 82

3.8 数据类型转换 86

3.8.1 强制类型转换 88

3.8.2 自动类型转换 89

3.9 其他运算 90

3.9.1 条件表达式 90

3.9.2 sizeof运算符 91

3.9.3 赋值运算符与表达式 92

3.9.4 复合赋值运算符 92

3.9.5 逗号运算符和逗号表达式 92

3.10 本章小结 93

习题 94

第4章 输入/输出 95

4.1 输入/输出的概念 95

4.1.1 标准输入/输出 95

4.1.2 C标准库函数 96

4.1.3 头文件 96

4.2 数据的输出 97

4.2.1 字符输出函数 97

4.2.2 字符串输出函数 98

4.2.3 格式输出函数 99

4.3 数据的输入 102

4.3.1 字符输入函数 103

4.3.2 字符串输入函数 104

4.3.3 格式输入函数 105

4.4 数据输入的常见问题 109

4.5 本章小结 112

习题 113

第5章 程序语句 115

5.1 顺序结构 115

5.2 双分支选择结构 117

5.2.1 双分支选择结构的语法规则 117

5.2.2 复合语句的作用 118

5.2.3 if语句实例 119

5.2.4 嵌套的if-else语句 121

5.3 多分支选择结构 124

5.3.1 多分支问题的引入 124

5.3.2 多分支结构语法规则 125

5.3.3 多分支结构实例 128

5.3.4 各种分支结构语句的比较 134

5.4 循环问题的引入 134

5.4.1 循环中的要素分析 134

5.4.2 循环三要素 136

5.4.3 循环语句 137

5.5 当型循环结构 137

5.5.1 当型循环语法规则 137

5.5.2 循环要素必要性验证 138

5.5.3 当型循环实例 142

5.5.4 循环控制方式 146

5.6 直到型循环结构 146

5.6.1 直到型循环语法规则 146

5.6.2 do-while的适用场合 150

5.6.3 do-while语句实例 150

5.7 当型循环的另一种形式 151

5.7.1 for语句语法规则 151

5.7.2 for语句实例 152

5.8 无限循环 154

5.8.1 实际问题中的无限制循环 154

5.8.2 无限循环的while语句表达 154

5.8.3 无限循环的for语句表达 155

5.9 中断循环 157

5.9.1 实际问题中的循环中断 157

5.9.2 跳出循环的break语句 158

5.9.3 在循环内跳转的continue

语句 161

5.10 自由跳转机制 164

5.10.1 自由跳转的概念 164

5.10.2 无条件转移语句规则 164

5.10.3 无条件转移语句实例 164

5.10.4 goto语句的特点 166

5.11 本章小结 167

习题 168

第6章 数组 172

6.1 数组的概念 172

6.1.1 一组同类型数据的处理

问题 172

6.1.2 一组同类型数据所需要的

表达方式 175

6.2 数组的存储 176

6.2.1 数组的定义 176

6.2.2 数组的初始化 178

6.2.3 数组的空间分配 179

6.2.4 数组的空间查看 180

6.3 一维数组的操作 183

6.4 二维数组的操作 196

6.5 字符数组的操作 205

6.6 本章小结 214

习题 215

第7章 指针 217

7.1 指针的概念 217

7.1.1 名称引用和地址引用 217

7.1.2 存储空间的管理 219

7.1.3 指针的概念 223

7.2 指针的运算 224

7.2.1 指针运算符 224

7.2.2 指针运算种类 224

7.2.3 指针运算基本规则 224

7.2.4 指针偏移的意义 227

7.2.5 空指针的概念 230

7.3 指针与数组 230

7.3.1 指针与一维数组 230

7.3.2 指针与二维数组 234

7.4 指针与多组字符串问题 238

7.4.1 一维指针数组与指向指针的

指针 240

7.5 本章小结 241

习题 242

第8章 复合类型数据 244

8.1 结构体的概念 244

8.1.1 问题引入 244

8.1.2 综合数据表的存储方案 245

8.2 结构体的存储 246

8.2.1 结构体类型定义 246

8.2.2 结构体变量定义 248

8.2.3 结构体初始化 248

8.2.4 结构体变量空间分配 249

8.2.5 结构体成员引用 253

8.3 结构体应用实例 254

8.4 共用体 264

8.4.1 问题引入 264

8.4.2 共用体的空间存储描述 264

8.5 枚举 269

8.5.1 问题引入 269

8.5.2 枚举的概念及定义形式 270

8.5.3 枚举实例 271

8.5.4 枚举的使用规则 272

8.6 声明新的类型名 273

8.6.1 问题引入 273

8.6.2 typedef声明形式及使用 275

8.7 本章小结 275

习题 276

第9章 函数 278

9.1 函数的概念 278

9.1.1 问题的提出 278

9.1.2 模块的概念 279

9.2 函数形式设计 281

9.2.1 模块间信息交流方法 281

9.2.2 函数形式设计 282

9.3 函数间信息交流机制设计 285

9.3.1 函数间信息交流特点分析 285

9.3.2 函数间信息交流之处理数据

的提交与接收 287

9.3.3 函数结果的获取方式 288

9.4 函数总体设计 289

9.4.1 函数设计要素 289

9.4.2 函数间信息传递归结 289

9.4.3 函数的调用 290

9.5 函数设计实例 292

9.5.1 传值调用 292

9.5.2 传址调用 298

9.5.3 函数综合实例 306

9.5.4 main函数的参数 316

9.6 作用域 319

9.6.1 问题引入 319

9.6.2 模块的屏蔽机制 321

9.6.3 内存分区与存储分类 322

9.6.4 屏蔽机制1——变量的有效期

和作用范围 323

9.6.5 屏蔽机制2——函数的有效

范围 330

9.6.6 屏蔽机制3——共享数据的

使用限制 332

9.7 递归 333

9.7.1 引例 333

9.7.2 递归概念 336

9.7.3 递归实例 337

9.8 本章小结 339

习题 340

第10章 编译预处理——编译前的

工作 343

10.1 问题的引入 343

10.2 宏定义 344

10.2.1 简单的宏定义 344

10.2.2 带参数的宏定义 346

10.2.3 宏定义的副作用 348

10.3 文件包含 348

10.4 条件编译 350

10.5 本章小结 353

习题 354

第11章 文件——外存数据的操纵 356

11.1 问题的引入 356

11.2 文件的概念 357

11.3 文件的操作流程 358

11.4 内存和外存的数据交流 359

11.5 程序对文件的操作 361

11.5.1 打开文件 361

11.5.2 文件的读写 362

11.5.3 关闭文件 366

11.5.4 随机读取文件内容 367

11.6 关于文件读写函数的讨论 368

11.7 程序调试与输入输出重定向 372

11.8 本章小结 374

习题 375

第12章 程序的运行 377

12.1 程序运行环境 377

12.1.1 集成环境主界面 379

12.1.2 建立项目 380

12.1.3 新建源文件 382

12.1.4 编辑源文件 382

12.1.5 编译源文件 384

12.1.6 链接程序 385

12.1.7 运行程序 386

12.2 程序测试 387

12.2.1 引子 387

12.2.2 程序测试方法与实例 388

12.3 程序调试概念 392

12.3.1 bug与debug 392

12.3.2 bug无处不在 393

12.3.3 软件调试的困难 393

12.4 软件调试的方法论 394

12.4.1 引例 394

12.4.2 软件调试的基本过程 395

12.4.3 程序错误的查找方法讨论 395

12.4.4 跟踪方法方案探索 397

12.5 程序调试工具 399

12.5.1 IDE中调试器的功能 399

12.5.2 调试命令 401

12.6 调试实例 405

12.6.1 基本调试步骤示例 405

12.6.2 调试查找程序错误示例 407

12.6.3 调用栈的使用示例 416

12.6.4 数据断点使用示例 418

12.7 本章小结 420

习题 421

附录A 运算符的优先级和结合性 425

附录B ASCII码表 426

附录C C语言常用库函数 427

附录D 常用转义字符表 432

附录E 位运算简介 433

附录F 在工程中加入多个文件 435

附录G 编程范式 441

附录H 空类型void问题 449

参考文献 450,第1章 程序概论 1

1.1 流程的概念 1

1.1.1 关于流程 1

1.1.2 流程的表达方式 3

1.1.3 流程的基本逻辑结构 4

1.2 程序的概念 8

1.2.1 自动化流程 9

1.2.2 程序的概念 9

1.2.3 程序的执行特点 12

1.2.4 计算机工作流程 12

1.3 程序的构成 13

1.3.1 计算机解题流程之数据 14

1.3.2 计算机解题流程之处理 15

1.3.3 计算机解题流程之结果 15

1.4 程序的开发过程 17

1.4.1 问题引例 17

1.4.2 程序开发基本步骤 18

1.4.3 计算机解题实例 19

1.4.4 程序开发流程 24

1.5 C语言程序简介 25

1.5.1 C程序样例 25

1.5.2 C程序框架结构 28

1.5.3 代码格式要求 29

1.6 本章小结 30

习题 31

第2章 算法 32

2.1 算法的概念 32

2.2 算法的表示 35

2.3 算法的可行性 39

2.4 算法的通用性 42

2.5 算法的全面性 44

2.6 算法设计过程与算法特性 49

2.6 本章小结 52

习题 52

第3章 基本数据 54

3.1 常量与变量 54

3.1.1 常量 54

3.1.2 变量 56

3.2 数据类型 62

3.2.1 计算机中的信息表示 62

3.2.2 计算机中的信息处理问题

讨论 63

3.2.3 C语言的基本数据类型 66

3.3 整数存储规则 67

3.3.1 有符号整数 68

3.3.2 无符号整数 68

3.3.3 字符类型数据 69

3.4 实数存储规则 70

3.5 运算符与表达式 74

3.6 数值处理 76

3.6.1 算术运算符和算术表达式 76

3.6.2 数据运算中的出界问题 80

3.7 逻辑判断处理 81

3.7.1 关系运算 81

3.7.2 逻辑运算 82

3.8 数据类型转换 86

3.8.1 强制类型转换 88

3.8.2 自动类型转换 89

3.9 其他运算 90

3.9.1 条件表达式 90

3.9.2 sizeof运算符 91

3.9.3 赋值运算符与表达式 92

3.9.4 复合赋值运算符 92

3.9.5 逗号运算符和逗号表达式 92

3.10 本章小结 93

习题 94

第4章 输入/输出 95

4.1 输入/输出的概念 95

4.1.1 标准输入/输出 95

4.1.2 C标准库函数 96

4.1.3 头文件 96

4.2 数据的输出 97

4.2.1 字符输出函数 97

4.2.2 字符串输出函数 98

4.2.3 格式输出函数 99

4.3 数据的输入 102

4.3.1 字符输入函数 103

4.3.2 字符串输入函数 104

4.3.3 格式输入函数 105

4.4 数据输入的常见问题 109

4.5 本章小结 112

习题 113

第5章 程序语句 115

5.1 顺序结构 115

5.2 双分支选择结构 117

5.2.1 双分支选择结构的语法规则 117

5.2.2 复合语句的作用 118

5.2.3 if语句实例 119

5.2.4 嵌套的if-else语句 121

5.3 多分支选择结构 124

5.3.1 多分支问题的引入 124

5.3.2 多分支结构语法规则 125

5.3.3 多分支结构实例 128

5.3.4 各种分支结构语句的比较 134

5.4 循环问题的引入 134

5.4.1 循环中的要素分析 134

5.4.2 循环三要素 136

5.4.3 循环语句 137

5.5 当型循环结构 137

5.5.1 当型循环语法规则 137

5.5.2 循环要素必要性验证 138

5.5.3 当型循环实例 142

5.5.4 循环控制方式 146

5.6 直到型循环结构 146

5.6.1 直到型循环语法规则 146

5.6.2 do-while的适用场合 150

5.6.3 do-while语句实例 150

5.7 当型循环的另一种形式 151

5.7.1 for语句语法规则 151

5.7.2 for语句实例 152

5.8 无限循环 154

5.8.1 实际问题中的无限制循环 154

5.8.2 无限循环的while语句表达 154

5.8.3 无限循环的for语句表达 155

5.9 中断循环 157

5.9.1 实际问题中的循环中断 157

5.9.2 跳出循环的break语句 158

5.9.3 在循环内跳转的continue

语句 161

5.10 自由跳转机制 164

5.10.1 自由跳转的概念 164

5.10.2 无条件转移语句规则 164

5.10.3 无条件转移语句实例 164

5.10.4 goto语句的特点 166

5.11 本章小结 167

习题 168

第6章 数组 172

6.1 数组的概念 172

6.1.1 一组同类型数据的处理

问题 172

6.1.2 一组同类型数据所需要的

表达方式 175

6.2 数组的存储 176

6.2.1 数组的定义 176

6.2.2 数组的初始化 178

6.2.3 数组的空间分配 179

6.2.4 数组的空间查看 180

6.3 一维数组的操作 183

6.4 二维数组的操作 196

6.5 字符数组的操作 205

6.6 本章小结 214

习题 215

第7章 指针 217

7.1 指针的概念 217

7.1.1 名称引用和地址引用 217

7.1.2 存储空间的管理 219

7.1.3 指针的概念 223

7.2 指针的运算 224

7.2.1 指针运算符 224

7.2.2 指针运算种类 224

7.2.3 指针运算基本规则 224

7.2.4 指针偏移的意义 227

7.2.5 空指针的概念 230

7.3 指针与数组 230

7.3.1 指针与一维数组 230

7.3.2 指针与二维数组 234

7.4 指针与多组字符串问题 238

7.4.1 一维指针数组与指向指针的

指针 240

7.5 本章小结 241

习题 242

第8章 复合类型数据 244

8.1 结构体的概念 244

8.1.1 问题引入 244

8.1.2 综合数据表的存储方案 245

8.2 结构体的存储 246

8.2.1 结构体类型定义 246

8.2.2 结构体变量定义 248

8.2.3 结构体初始化 248

8.2.4 结构体变量空间分配 249

8.2.5 结构体成员引用 253

8.3 结构体应用实例 254

8.4 共用体 264

8.4.1 问题引入 264

8.4.2 共用体的空间存储描述 264

8.5 枚举 269

8.5.1 问题引入 269

8.5.2 枚举的概念及定义形式 270

8.5.3 枚举实例 271

8.5.4 枚举的使用规则 272

8.6 声明新的类型名 273

8.6.1 问题引入 273

8.6.2 typedef声明形式及使用 275

8.7 本章小结 275

习题 276

第9章 函数 278

9.1 函数的概念 278

9.1.1 问题的提出 278

9.1.2 模块的概念 279

9.2 函数形式设计 281

9.2.1 模块间信息交流方法 281

9.2.2 函数形式设计 282

9.3 函数间信息交流机制设计 285

9.3.1 函数间信息交流特点分析 285

9.3.2 函数间信息交流之处理数据

的提交与接收 287

9.3.3 函数结果的获取方式 288

9.4 函数总体设计 289

9.4.1 函数设计要素 289

9.4.2 函数间信息传递归结 289

9.4.3 函数的调用 290

9.5 函数设计实例 292

9.5.1 传值调用 292

9.5.2 传址调用 298

9.5.3 函数综合实例 306

9.5.4 main函数的参数 316

9.6 作用域 319

9.6.1 问题引入 319

9.6.2 模块的屏蔽机制 321

9.6.3 内存分区与存储分类 322

9.6.4 屏蔽机制1——变量的有效期

和作用范围 323

9.6.5 屏蔽机制2——函数的有效

范围 330

9.6.6 屏蔽机制3——共享数据的

使用限制 332

9.7 递归 333

9.7.1 引例 333

9.7.2 递归概念 336

9.7.3 递归实例 337

9.8 本章小结 339

习题 340

第10章 编译预处理——编译前的

工作 343

10.1 问题的引入 343

10.2 宏定义 344

10.2.1 简单的宏定义 344

10.2.2 带参数的宏定义 346

10.2.3 宏定义的副作用 348

10.3 文件包含 348

10.4 条件编译 350

10.5 本章小结 353

习题 354

第11章 文件——外存数据的操纵 356

11.1 问题的引入 356

11.2 文件的概念 357

11.3 文件的操作流程 358

11.4 内存和外存的数据交流 359

11.5 程序对文件的操作 361

11.5.1 打开文件 361

11.5.2 文件的读写 362

11.5.3 关闭文件 366

11.5.4 随机读取文件内容 367

11.6 关于文件读写函数的讨论 368

11.7 程序调试与输入输出重定向 372

11.8 本章小结 374

习题 375

第12章 程序的运行 377

12.1 程序运行环境 377

12.1.1 集成环境主界面 379

12.1.2 建立项目 380

12.1.3 新建源文件 382

12.1.4 编辑源文件 382

12.1.5 编译源文件 384

12.1.6 链接程序 385

12.1.7 运行程序 386

12.2 程序测试 387

12.2.1 引子 387

12.2.2 程序测试方法与实例 388

12.3 程序调试概念 392

12.3.1 bug与debug 392

12.3.2 bug无处不在 393

12.3.3 软件调试的困难 393

12.4 软件调试的方法论 394

12.4.1 引例 394

12.4.2 软件调试的基本过程 395

12.4.3 程序错误的查找方法讨论 395

12.4.4 跟踪方法方案探索 397

12.5 程序调试工具 399

12.5.1 IDE中调试器的功能 399

12.5.2 调试命令 401

12.6 调试实例 405

12.6.1 基本调试步骤示例 405

12.6.2 调试查找程序错误示例 407

12.6.3 调用栈的使用示例 416

12.6.4 数据断点使用示例 418

12.7 本章小结 420

习题 421

附录A 运算符的优先级和结合性 425

附录B ASCII码表 426

附录C C语言常用库函数 427

附录D 常用转义字符表 432

附录E 位运算简介 433

附录F 在工程中加入多个文件 435

附录G 编程范式 441

附录H 空类型void问题 449

参考文献 450

参考资料

1.

C语言程序设计——程序思维与代码调试

.电子工业出版社[引用日期2020-03-17]

你可能感兴趣的:(计算机c语言调试的含义)