《C语言程序设计与项目实践》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:陈建国,易永红等主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302298762
  • 页数:412 页
图书介绍:本书内容分为三个部分。第一部分是C语言基础部分,包括第1-6章,介绍C语言概述、基本数据类型及运算、顺序程序设计、分支程序设计、循环程序设计、模块化程序设计;第二部分是C语言应用编程,包括第7-10章,主要内容有简单构造类型、复杂构造类型、指针、文件组织与使用;第三部分是 C语言的高级编程技术,包括第11章,包括位运算、C语言与汇编语言的混合编程、C51编程基础。

项目1 分析学生成绩管理系统的结构——C语言概述 1

任务1.1 熟悉编程环境一程序设计语言与C语言 1

1.1.1 程序设计语言 2

1.1.2 C语言的发展与特点 3

1.1.3 C语言的上机调试步骤和方法 4

1.1.4 VC++ 6.0集成开发环境简介 12

1.1.5 任务分析与实施 16

任务1.2 分析并描述算法——算法及其描述 17

1.2.1 算法与结构化程序设计 17

1.2.2 算法的描述 19

1.2.3 任务分析与实施 23

项目实践 25

小结 26

习题 26

项目2 描述学生的特征信息——基本数据类型及运算 28

任务2.1 理解C语言的结构——C语言的结构特征 28

2.1.1 C语言的结构 29

2.1.2 C语言的字符集与词汇 29

2.1.3 任务分析与实施 31

任务2.2 理解数据在计算机中的表示与存储——C语言的数据类型 32

2.2.1 C语言的数据类型 32

2.2.2 整型数据 34

2.2.3 实型数据 37

2.2.4 字符型数据 39

2.2.5 变量赋初值 42

2.2.6 测试数据长度 43

2.2.7 各类数值型数据之间的混合运算 43

2.2.8 任务分析与实施 45

任务2.3 理解C语言的算术运算——运算符与表达式 47

2.3.1 运算符的分类 47

2.3.2 算术运算符与表达式 48

2.3.3 赋值运算符和赋值表达式 50

2.3.4 自增、自减运算符 51

2.3.5 逗号运算符和逗号表达式 53

2.3.6 任务分析与实施 54

项目实践 54

小结 56

习题 57

项目3 系统的菜单程序设计——顺序程序设计 61

任务3.1 考试成绩绩点的计算——数据输入输出 61

3.1.1 字符数据的输入输出 62

3.1.2 格式输入与输出 63

3.1.3 输入输出流 68

3.1.4 顺序程序设计 71

3.1.5 任务分析与实施 72

任务3.2 提高程序的可读性与易修改性——宏与预定义 74

3.2.1 宏定义 74

3.2.2 文件包含 80

3.2.3 条件编译 80

3.2.4 任务分析与实施 82

项目实践 83

小结 84

习题 85

项目4 学生成绩的分类处理——分支程序设计 91

任务4.1 描述条件逻辑——分支和条件逻辑 91

4.1.1 关系运算符和表达式 92

4.1.2 逻辑运算符和表达式 93

4.1.3 条件运算符和表达式 94

4.1.4 任务分析与实施 96

任务4.2 判断考试成绩是否合格——简单分支程序设计 97

4.2.1 单分支结构的程序设计 97

4.2.2 双分支结构的程序设计 99

4.2.3 任务分析与实施 100

任务4.3 求解分段函数——多分支程序设计 101

4.3.1 if语句的多重选择程序设计 101

4.3.2 switch语句的多重选择程序设计 104

4.3.3 任务分析与实施 106

项目实践 108

小结 111

习题 112

项目5 学生成绩的统计分析——循环程序设计 117

任务5.1 统计某门课程的平均成绩——循环语句 117

5.1.1 用while语句处理循环 118

5.1.2 用do-while语句处理循环 120

5.1.3 用for语句处理循环 121

5.1.4 循环嵌套的使用 126

5.1.5 任务分析与实施 128

任务5.2 强制中断循环——控制转移语句 129

5.2.1 break语句 129

5.2.2 continue语句 130

5.2.3 goto语句 131

5.2.4 任务分析与实施 133

任务5.3 穷举与迭代——循环程序设计的应用 134

5.3.1 穷举 135

5.3.2 迭代 136

5.3.3 任务分析与实施 139

项目实践 141

小结 142

习题 143

项目6 模块化与团队协作——模块化程序设计 148

任务6.1 成绩统计的模块化编程——函数 148

6.1.1 函数的概念 149

6.1.2 函数的声明与定义 150

6.1.3 函数的调用 152

6.1.4 函数间的数据传递 154

6.1.5 任务分析与实施 158

任务6.2 多人协作完成一个任务——变量的作用域与生存周期 160

6.2.1 变量的作用域与可见性 161

6.2.2 变量的生存周期 166

6.2.3 内部函数和外部函数 170

6.2.4 任务分析与实施 171

任务6.3 工资发放时币额数量的计算——嵌套与递归 173

6.3.1 嵌套 173

6.3.2 递归 174

6.3.3 任务分析与实施 176

项目实践 178

小结 181

习题 183

项目7 学生成绩管理系统的设计(1)——简单构造类型 186

任务7.1 统计分析考试成绩——一维数组 186

7.1.1 一维数组的定义与初始化 187

7.1.2 一维数组的元素的引用 189

7.1.3 一维数组作为函数参数 192

7.1.4 任务分析与实施 195

任务7.2 创建学生成绩表——一维数组的应用 197

7.2.1 数据元素的复制与选择 197

7.2.2 数据元素的移动 201

7.2.3 数据元素的查找与统计 202

7.2.4 数据元素的修改、删除与插入 207

7.2.5 数据元素的排序 211

7.2.6 任务分析与实施 213

任务7.3 统计分析多门课程成绩——二维数组及其应用 216

7.3.1 二维数组的定义与初始化 217

7.3.2 二维数组的元素的引用 218

7.3.3 二维数组作为函数参数 221

7.3.4 任务分析与实施 222

任务7.4 查找考试成绩——字符数组与字符串 226

7.4.1 字符数组的定义、初始化及引用 226

7.4.2 字符串与字符数组 226

7.4.3 字符串的处理 227

7.4.4 任务分析与实施 231

项目实践 234

小结 237

习题 238

项目8 学生成绩管理系统的设计(2)——复杂构造类型 244

任务8.1 创建成绩表(1)——结构体 244

8.1.1 结构与结构变量的定义 245

8.1.2 结构成员的初始化 247

8.1.3 结构成员的访问 248

8.1.4 结构与函数 249

8.1.5 结构数组 250

8.1.6 任务分析与实施 251

任务8.2 创建成绩表(2)——枚举 255

8.2.1 枚举类型的定义 255

8.2.2 枚举类型变量 256

8.2.3 任务分析与实施 257

任务8.3 创建成绩表(3)——共用体 259

8.3.1 共用体 259

8.3.2 共用体变量的引用 260

8.3.3 任务分析与实施 262

任务8.4 学生基本信息的抽象分层处理——自定义类型与数据的抽象与分层 264

8.4.1 自定义类型 265

8.4.2 自定义类型的应用 266

8.4.3 任务分析与实施 267

项目实践 269

小结 274

习题 275

项目9 学生成绩管理系统的设计(3)——指针 279

任务9.1 利用指针访问数据——指针与指针变量 279

9.1.1 指针的概念 280

9.1.2 指针变量的定义 281

9.1.3 指针运算符 281

9.1.4 指针表达式 283

9.1.5 存储空间的动态分配 286

9.1.6 任务分析与实施 288

任务9.2 创建静态成绩表——指针与函数 289

9.2.1 指针变量作为函数的参数 289

9.2.2 main()函数中的参数 291

9.2.3 函数的返回值是指针 292

9.2.4 指向函数的指针 293

9.2.5 任务分析与实施 296

任务9.3 创建动态成绩表——指针与数组 297

9.3.1 指针与一维数组 298

9.3.2 指针与多维数组 302

9.3.3 数组指针作为函数参数 305

9.3.4 字符串和指针 310

9.3.5 任务分析与实施 312

任务9.4 创建链表——指针与结构 315

9.4.1 指向结构体变量的指针 316

9.4.2 指向结构体数组的指针 318

9.4.3 结构指针变量作函数参数 319

9.4.4 结构体的自引用 320

9.4.5 任务分析与实施 323

任务9.5 再谈排序——指针数组与指向指针的指针 325

9.5.1 指针数组 325

9.5.2 指向指针的指针 326

9.5.3 任务分析与实施 327

项目实践 329

小结 333

习题 334

项目10 学生成绩信息的存储与管理——文件组织与使用 339

任务10.1 顺序存取学生信息——文件的顺序读写 339

10.1.1 文件的相关概念 340

10.1.2 文件的打开与关闭 342

10.1.3 文件的读与写 343

10.1.4 文件检测函数 350

10.1.5 任务分析与实施 352

任务10.2 随机存取学生信息——文件的随机读写 357

10.2.1 文件定位 357

10.2.2 随机读写 358

10.2.3 任务分析与实施 359

项目实践 361

小结 368

习题 369

项目11 基于51单片机竞赛抢答器设计——C语言的高级应用 372

任务11.1 文件的加密与解密——位运算及应用 372

11.1.1 位运算 373

11.1.2 位域(位段) 378

11.1.3 任务分析与实施 380

任务11.2 理解混合编程——高级语言与汇编语言的混合编程 382

11.2.1 Visual C++中嵌入汇编语句的方法 383

11.2.2 采用模块调用的方法 385

11.2.3 任务分析与实施 387

任务11.3 89S51单片机控制LED——C51程序设计基础 390

11.3.1 C51编程基础 390

11.3.2 Keil C51集成开发环境简介 394

11.3.3 任务分析与实施 397

项目实践 399

小结 401

习题 402

附录A C语言中的运算符表 403

附录B ASCII对照表 404

附录C C语言常见库函数 405

参考文献 412