《程序设计基础 基于问题情境的C语言实践教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:张克军主编
  • 出 版 社:北京:科学出版社
  • 出版年份:2011
  • ISBN:9787030306326
  • 页数:365 页
图书介绍:本书根据计算机承租设计的特点,以C语言为载体,以初学者为阅读对象,以问题为导引,以解决问题的程序设计方法为主线,以知识建构主义理论为指导,借鉴软件开发中的“原型”方法,在学习过程中通过问题分析,逐渐引知识点,讲解知识点,再通过问题扩展引入下一个知识点。通过恰当、丰富的实例,运用逐步递进的思路,带领大家进入到使用计算机进行程序设计的情境中来,从而掌握程序设计的思想和方法。本书主要内容包括C语言程序设计概述、基本编程语句介绍、数据类型介绍、程序设计基本结构、函数、指针、编译预处理和文件等基本知识,还编写典型案例程序剖析、典型算法介绍和趣谈C语言三章作为补充。本书选取了丰富的实用性、趣味性示例,构建学习的问题情境,突出通过设计程序解决问题的主线。难易适中、重点突出、特色鲜明,适合作为一般本科院校和独立学院、高职院校程序设计课程教学用书,也可作为广大编程爱好者的第一本自学读物及等级考试辅导教材。

基础篇 3

第1章 C语言概述 3

1.1 计算机与程序设计语言 4

1.1.1 计算机及发展 4

1.1.2 计算机系统结构 4

1.1.3 程序设计语言的发展及特点 5

1.1.4 C语言的特点 6

1.2 C语言程序的基本结构 7

1.2.1 C语言程序的基本结构 7

1.2.2 C语言程序结构特点 10

1.3 C语言编程流程 11

1.3.1 如何学好C语言程序设计 11

1.3.2 编写C语言程序流程 11

1.4 C语言编程环境 13

1.4.1 在Turbo C中编程 13

1.4.2 在Visual C++中编程 13

1.5 小结 17

第2章 基本语法——语言描述与数据存储的简单方法 18

2.1 C语言程序基本元素 19

2.1.1 基本字符集 19

2.1.2 C语言的词类 21

2.2 数据类型的含义与常用类型 21

2.2.1 数据类型的含义 21

2.2.2 整型 23

2.2.3 实型 25

2.2.4 字符型 25

2.3 常量与变量 26

2.3.1 常量 26

2.3.2 变量 31

2.4 运算符与表达式 33

2.4.1 算术运算符与算术表达式 34

2.4.2 赋值运算符与赋值表达式 35

2.4.3 自增与自减运算符 37

2.4.4 逗号运算符与sizeof运算符 38

2.4.5 数据类型转换与强制类型转换符 39

2.5 小结 41

第3章 编程语句——简单程序构建的方法 43

3.1 C语言的语句及分类 44

3.2 基本输入/输出函数 46

3.2.1 字符输入/输出函数 47

3.2.2 格式输入/输出函数 50

3.3 典型例题解析 57

3.4 小结 60

第4章 算法——程序设计的核心 62

4.1 程序设计与算法概述 63

4.2 程序设计思想 65

4.2.1 结构化程序设计思想 66

4.2.2 面向对象的程序设计思想 67

4.3 程序基本结构 68

4.3.1 顺序结构 68

4.3.2 选择结构 68

4.3.3 循环结构 69

4.4 算法特性与描述方法 69

4.4.1 算法的特性 70

4.4.2 算法描述方法 71

4.4.3 算法分析与评价 75

4.5 小结 76

第5章 判断与循环——一般复杂问题程序设计方法 77

5.1 条件描述与选择结构程序设计 78

5.1.1 程序中限定条件的表示 79

5.1.2 逻辑型变量 83

5.1.3 程序中问题条件选择的处理——if-else语句 83

5.2 重复操作问题与循环语句 91

5.2.1 循环问题导引 91

5.2.2 while语句 92

5.3 典型例题解析 96

5.4 小结 101

第6章 再论程序设计基本结构 102

6.1 再论条件语句 103

6.2 再论循环语句 107

6.2.1 do-while语句和for语句 107

6.2.2 循环嵌套 113

6.2.3 流程转移控制语句 116

6.3 典型应用举例 123

6.4 小结 126

提高篇 129

第7章 复杂数据类型——数据描述与扩展存储方法 129

7.1 数组 131

7.1.1 一维数组 131

7.1.2 二维数组 141

7.2 字符串与字符数组 145

7.2.1 字符串概述 146

7.2.2 字符串的初始化 146

7.2.3 字符串长度与字符数组长度 147

7.2.4 有关字符串的系统函数 148

7.3 指针 153

7.3.1 指针的基本概念 153

7.3.2 指针与一维数组 157

7.3.3 指针与字符串 162

7.3.4 指向二维数组的指针 164

7.4 枚举类型 167

7.4.1 定义枚举类型和变量 167

7.4.2 枚举类型变量的赋值和使用 168

7.5 结构体类型 169

7.5.1 结构体类型的定义 169

7.5.2 结构体类型变量的定义和存储 170

7.5.3 结构体变量的使用 171

7.5.4 结构体变量的初始化 174

7.5.5 结构体数组的定义 174

7.5.6 结构体指针变量的定义和使用 175

7.6 共用体类型 177

7.6.1 共用体类型的定义 178

7.6.2 共用体变量的定义、存储和成员变量的访问 178

7.7 类型定义符typedef 182

7.8 小结 183

第8章 函数——复杂程序的实现方法 184

8.1 函数定义和调用 185

8.1.1 函数定义 185

8.1.2 函数的返回值 186

8.1.3 函数的调用 186

8.1.4 定义和调用函数举例 187

8.1.5 函数原型和函数声明 191

8.2 函数的嵌套调用和递归调用 192

8.2.1 函数的嵌套调用 192

8.2.2 函数的递归调用 194

8.3 函数与数组 197

8.4 函数与指针 201

8.5 函数与结构体 204

8.5.1 结构变量作函数参数 204

8.5.2 结构指针变量作函数参数 204

8.6 再论说明语句 206

8.6.1 作用域 206

8.6.2 变量的生存期 210

8.6.3 变量的作用域和生存期小结 213

8.7 小结 213

第9章 文件——数据独立存储的方法 215

9.1 文件概述 216

9.1.1 文件的概念 216

9.1.2 文件的分类 217

9.1.3 文件缓冲区 218

9.1.4 文件型指针 219

9.2 文件的打开与关闭 219

9.2.1 文件的打开 220

9.2.2 文件的关闭 221

9.3 文件的读/写操作 222

9.3.1 读写“单”字符函数——fputc与fgetc函数 222

9.3.2 读写一个字符串的函数——fgets与fputs函数 226

9.3.3 格式化读写函数——fscanf与fprintf函数 228

9.3.4 按数据块方式读写——fwrite与fread函数 230

9.3.5 字输入/输出函数——getw函数putw函数 232

9.4 文件定位函数 233

9.5 文件状态检查函数 236

9.6 小结 238

扩展篇 241

第10章 编译预处理——程序设计的一般策略 241

10.1 宏定义 242

10.2 文件包含 248

10.3 条件编译 250

10.4 小结 252

第11章 位运算——直接控制硬件的方法 253

11.1 位运算符与位运算表达式 254

11.2 复合位运算赋值 259

11.3 位段 260

11.4 典型例题解析 262

11.5 小结 265

第12章 再论指针——C语言的灵魂之处 266

12.1 指针数组 267

12.2 指向指针的指针 271

12.3 带参数的主函数 272

12.4 指向函数的指针和指针函数 274

12.4.1 指向函数的指针 274

12.4.2 指针函数 277

12.5 动态数组的实现 278

12.5.1 C语言程序的内存映像 278

12.5.2 动态内存分配函数 279

12.5.3 动态函数应用举例 283

12.6 使用const修饰指针变量 283

12.7 小结 284

第13章 典型案例程序剖析 285

13.1 万年历 286

13.1.1 系统概要 286

13.1.2 主要知识点 286

13.1.3 系统设计思路 287

13.1.4 程序代码 288

13.2 学生成绩管理 292

13.2.1 系统概要 292

13.2.2 主要知识点 293

13.2.3 系统设计思路 293

13.2.4 程序代码 293

13.3 俄罗斯方块游戏 304

13.3.1 系统概要 304

13.3.2 主要知识点 305

13.3.3 系统设计思路 307

13.3.4 程序代码 307

第14章 典型算法介绍 312

14.1 递归与迭代法 313

14.1.1 递归法 313

14.1.2 迭代法 316

14.1.3 递归的消除 318

14.2 贪心法 321

14.2.1 货币兑付问题 321

14.2.2 背包问题 323

14.2.3 最小生成树问题 326

第15章 趣谈C语言 332

15.1 计算机发展65年 333

15.2 C语言史话 335

15.3 IT英雄榜 336

15.4 一个程序员的成长之路 341

附录 345

附录A ASC II表 345

附录B 关键字 346

附录C 运算符 348

附录D 数据类型 350

附录E 常用库函数 351

附录F C语言编程代码规范 356

附录G 常用编译错误及处理 359

参考文献 365