《编程大讲坛 C语言核心开发技术从入门到精通》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:陈强编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121090608
  • 页数:574 页
图书介绍:本书内容分为3篇20课,其中1~12课是编程基础篇,依次讲解了C语言概述,C语言算法和数据类型,C语言运算符和表达式,C语句和数据的输入输出,结构体、共用体和枚举等。第13~17课是技术提高篇,分别讲解了文件操作处理,错误和程序调试,组件技术简要介绍和C语言程序设计范例总结等。第18~20课是综合应用篇,分别讲解了C语言俄罗斯方块游戏,Ping网络项目,学生成绩管理系统的流程和实现方法。

第1课 C语言概述 3

1.1 本课学习目标 3

1.2 C语言发展介绍 3

1.3 C语言特点 4

1.4 C语言编译器 5

1.5 安装Turbo C 3.0 6

1.6 Turbo C 3.0开发环境 9

1.6.1 File(文件)菜单 9

1.6.2 Edit(编辑)菜单 10

1.6.3 Run(运行)菜单 10

1.6.4 compile(编译)菜单 11

1.6.5 Project(项目)菜单 11

1.6.6 Debug(调试)菜单 12

1.7 进行C语言程序开发 12

1.7.1 编辑源代码 13

1.7.2 源代码编译 13

1.7.3 链接目标代码 13

1.7.4 运行可执行程序 14

1.8 一个简单的C语言程序 14

1.9 C语言程序结构 15

1.9.1 C程序组成部分 15

1.9.2 C语言程序格式总结 18

1.10 本课回顾和网络关键词 19

第2课 C语言算法和数据类型 21

2.1 本课学习目标 21

2.2 算法基础 21

2.2.1 算法的概念 21

2.2.2 流程图表示算法 23

2.2.3 计算机语言表示算法 24

2.3 C语言数据类型概述 24

2.4 常量和变量 26

2.4.1 常量 26

2.4.2 变量 27

2.5 整型数据 30

2.5.1 整型常量 31

2.5.2 整型变量 32

2.6 实型数据 35

2.6.1 实型常量 35

2.6.2 实型变量 36

2.6.3 实型常量的类型 38

2.7 字符型数据 38

2.7.1 字符常量 39

2.7.2 字符串常量 41

2.7.3 字符变量 41

2.8 初始化变量 44

2.9 整型、实型与字符型数据间的运算 45

2.10 本课回顾和网络关键词 47

第3课 C语言运算符和表达式 49

3.1 本课学习目标 49

3.2 运算符和表达式基础 49

3.2.1 运算符的种类 49

3.2.2 运算符的优先级 51

3.3 算术运算符和算术表达式 52

3.3.1 单目运算符 53

3.3.2 双目运算符 54

3.4 赋值运算符和赋值表达式 55

3.4.1 基本赋值运算符 56

3.4.2 复合赋值运算符 59

3.4.3 赋值表达式 60

3.5 关系运算符和关系表达式 62

3.6 逻辑运算符和逻辑表达式 64

3.7 逗号运算符和逗号表达式 67

3.8 求字节数运算符 69

3.9 本课回顾和网络关键词 71

第4课 C语句和数据的输入输出 73

4.1 本课学习目标 73

4.2 C语句初步 73

4.2.1 C语句简介 73

4.2.2 空白对语句的作用 75

4.2.3 赋值语句 76

4.3 数据的输入和输出 77

4.3.1 putchar函数 77

4.3.2 getchar函数 79

4.3.3 printf函数 81

4.3.4 scanf函数 85

4.3.5 puts函数 90

4.3.6 gets函数 91

4.4 本课回顾和网络关键词 93

第5课 程序流程控制 95

5.1 本课学习目标 95

5.2 顺序结构 95

5.3 选择结构 97

5.3.1 单分支结构语句 98

5.3.2 双分支结构语句 99

5.3.3 多分支结构语句 104

5.3.4 条件运算符和条件表达式 107

5.4 循环结构 109

5.4.1 for语句循环 109

5.4.2 while语句 113

5.4.3 do…while语句 116

5.4.4 循环语句的总结和效率 118

5.4.5 goto语句 119

5.4.6 break语句 120

5.4.7 continue语句 121

5.4.8 死循环和退出程序 121

5.5 本课回顾和网络关键词 123

第6课 数组和字符串 125

6.1 本课学习目标 125

6.2 一维数组 125

6.2.1 定义一维数组 126

6.2.2 引用一维数组元素 126

6.2.3 初始化一维数组 128

6.3 多维数组 131

6.3.1 二维数组 132

6.3.2 多维数组 136

6.3.3 引用多维数组 138

6.4 字符数组与字符串 140

6.4.1 字符数组 140

6.4.2 字符串与字符数组 143

6.4.3 字符数组的输入/输出 143

6.5 字符串处理函数 146

6.5.1 测试字符串长度函数 146

6.5.2 字符串大小写转换函数 147

6.5.3 字符串复制函数 148

6.5.4 字符串比较函数 151

6.5.5 字符串连接函数 153

6.5.6 其他字符串函数 155

6.5.7 将字符串转换成数值的函数 155

6.6 字符处理函数 156

6.6.1 字符检测函数 156

6.6.2 字符大小写转换函数 158

6.7 本课回顾和网络关键词 159

第7课 函数 161

7.1 本课学习目标 161

7.2 C语言函数基础 161

7.2.1 函数分类 162

7.2.2 函数的定义 163

7.3 函数的声明和函数原型 166

7.4 参数 167

7.4.1 形参和实参 168

7.4.2 数组名作为函数参数 169

7.4.3 数组作为函数参数 172

7.5 返回值 176

7.6 函数的调用 178

7.6.1 函数调用格式 178

7.6.2 函数调用的方式 180

7.6.3 对被调函数的声明 182

7.6.4 调用函数方式的深入分析 183

7.7 函数的嵌套调用和递归调用 184

7.7.1 函数的嵌套调用 185

7.7.2 函数的递归调用 189

7.8 变量的作用域和生存期 193

7.8.1 变量作用域 193

7.8.2 静态存储变量和动态存储变量 197

7.9 项目文件 206

7.10 内部函数和外部函数 208

7.10.1 内部函数 208

7.10.2 外部函数 209

7.11 库函数基础 211

7.11.1 C库函数介绍 211

7.11.2 C库函数分类 212

7.12 本课回顾和网络关键词 213

第8课 指针 215

8.1 本课学习目标 215

8.2 基本概念 215

8.3 变量的指针和指向变量的指针变量 216

8.3.1 指针变量的声明 217

8.3.2 指针变量的初始化 217

8.3.3 指针变量的引用 218

8.3.4 关于指针运算符的说明 220

8.3.5 指针变量的运算 222

8.3.6 指针变量作为函数参数 223

8.3.7 void类型的指针 226

8.4 指针和数组 228

8.4.1 数组元素的指针 229

8.4.2 指向一维数组元素的指针变量 230

8.4.3 通过指针引用数组元素 231

8.4.4 使用指针变量应该注意的问题 235

8.4.5 数组名作函数参数 238

8.5 指针和多维数组 242

8.5.1 多维数组的地址 242

8.5.2 指向多维数组的指针变量 245

8.6 指针和字符串 248

8.6.1 指针访问字符串 248

8.6.2 字符串指针作函数参数 250

8.6.3 使用字符串指针变量与字符数组的区别 252

8.7 指针数组和多级指针 253

8.7.1 指针数组 253

8.7.2 多级指针的定义和应用 255

8.7.3 指向指针的指针 257

8.7.4 main函数的参数 258

8.8 指针函数和函数指针 260

8.9 本课回顾和网络关键词 264

第9课 结构体、共用体和枚举 265

9.1 本课学习目标 265

9.2 结构体 265

9.2.1 定义结构体类型 266

9.2.2 结构体类型变量的定义 267

9.2.3 结构体变量的引用 269

9.2.4 结构体变量的初始化 272

9.3 结构体数组 273

9.3.1 结构体数组定义 273

9.3.2 结构体数组的初始化 276

9.3.3 结构体数组的引用 280

9.4 结构体指针 282

9.4.1 结构体指针变量的定义 282

9.4.2 结构体指针变量的初始化 283

9.4.3 结构体指针变量的引用 283

9.4.4 指向结构变量的指针 284

9.4.5 指向结构体数组的指针 285

9.5 结构体和函数 287

9.5.1 结构体变量和结构体指针作为函数参数 287

9.5.2 返回结构体类型值的函数 289

9.6 共用体 291

9.6.1 共用体及共用体变量的定义 291

9.6.2 共用体变量的引用与初始化 294

9.6.3 结构和共用体的区别 295

9.7 枚举 296

9.7.1 定义枚举类型 297

9.7.2 定义枚举变量 298

9.7.3 枚举变量的引用 298

9.8 用typedef定义类型 300

9.9 本课回顾和网络关键词 303

第10课 链表 305

10.1 本课学习目标 305

10.2 动态内存分配 305

10.2.1 为什么用动态内存分配 306

10.2.2 如何实现动态内存分配及其管理 306

10.3 链表 310

10.3.1 链表概述 311

10.3.2 单向链表 314

10.3.3 创建链表 317

10.3.4 删除整个链表 318

10.3.5 在链表中插入结点 319

10.3.6 在链表中删除结点 319

10.3.7 双向链表 320

10.3.8 循环链表 323

10.4 本课回顾和网络关键词 323

第11课 位运算 325

11.1 本课学习目标 325

11.2 位运算符和位运算 325

11.2.1 按位与运算 326

11.2.2 按位或运算 327

11.2.3 按位异或运算 328

11.2.4 取反运算 329

11.2.5 左移运算 329

11.2.6 右移运算 330

11.2.7 位运算应用实例 330

11.3 位域 333

11.4 本课回顾和网络关键词 335

第12课 预编译处理 337

12.1 本课学习目标 337

12.2 预处理概述 337

12.3 宏定义 338

12.3.1 不带参数的宏定义 338

12.3.2 带参数的宏定义 341

12.3.3 字符串化运算符 344

12.3.4 并接运算符 345

12.4 文件包含 345

12.5 条件编译 348

12.6 本课回顾和网络关键词 354

第13课 文件操作处理 357

13.1 本课学习目标 357

13.2 文件概述 357

13.2.1 文本文件 358

13.2.2 文件分类 359

13.3 文件指针 360

13.4 文件打开与关闭 360

13.4.1 文件打开 360

13.4.2 文件关闭 363

13.5 文件读写操作 365

13.5.1 字符读写函数 366

13.5.2 字符串读写函数 370

13.5.3 格式化读写函数 374

13.5.4 数据块读写函数 377

13.5.5 其他读写函数 379

13.6 文件的随机读写 381

13.6.1 fseek函数 381

13.6.2 rewind函数 384

13.6.3 ftell函数 384

13.7 文件管理函数 386

13.7.1 删除文件 386

13.7.2 重命名文件 387

13.7.3 复制文件 388

13.8 文件状态检测函数 391

13.8.1 feof函数 391

13.8.2 ferror函数 392

13.8.3 clearerr函数 392

13.9 本课回顾和网络关键词 396

第14课 错误和程序调试 397

14.1 本课学习目标 397

14.2 常见错误分析 397

14.3 错误的检出与分离 403

14.4 程序调试 405

14.5 本课回顾和网络关键词 409

第15课 组件技术简要介绍 411

15.1 本课学习目标 411

15.2 组件技术概述 411

15.3 体系结构 412

15.4 CORBA技术体系 413

15.4.1 CORBA概述 413

15.4.2 对象管理体系结构OMA 414

15.4.3 CORBA的结构基础 415

15.4.4 CORBA技术应用 417

15.5 DCOM技术 418

15.5.1 分布式应用的作用 418

15.5.2 DCOM的结构 419

15.5.3 部件和复用 420

15.5.4 位置独立性 420

15.6 EJB技术 421

15.7 本课回顾和网络关键词 422

第16课 C语言程序设计范例总结 423

16.1 本课学习目标 423

16.2 求和和求积问题 423

16.2.1 计算数列求和 424

16.2.2 π的计算 425

16.2.3 定积分计算 427

16.3 遍历问题 428

16.3.1 字符统计问题 428

16.3.2 加密计算 429

16.3.3 素数问题 430

16.3.4 水仙花数/完数问题 431

16.3.5 百钱买百鸡问题 433

16.4 迭代问题 434

16.4.1 二分法迭代 434

16.4.2 牛顿迭代 436

16.5 排序问题 437

16.5.1 直接插入排序 438

16.5.2 起泡法排序 439

16.5.3 选择排序 440

16.6 查找问题 441

16.6.1 顺序查找 442

16.6.2 折半查找 442

16.7 递归问题 443

16.7.1 折半查找 443

16.7.2 树的遍历 445

16.8 字符串处理 447

16.9 矩阵运算 448

16.10 本课回顾和网络关键词 450

第17课 C语言高级编程技术 451

17.1 本课学习目标 451

17.2 高级编程技术概述 451

17.3 文本的屏幕输出和键盘输入 452

17.3.1 文本的屏幕输出 452

17.3.2 键盘输入 459

17.3.3 应用实例 461

17.4 图形显示方式和鼠标输入 464

17.4.1 图形模式的初始化 464

17.4.2 清屏和恢复显示方式的函数 467

17.4.3 独立图形运行程序的建立 468

17.4.4 基本绘图函数 469

17.4.5 画线的线型函数 473

17.4.6 颜色控制函数 476

17.4.7 封闭图形的填色函数及有关画图函数 481

17.4.8 图形窗口函数 484

17.4.9 图形方式下的文本输出函数 485

17.5 菜单设计 489

17.5.1 实现下拉式菜单 489

17.5.2 实现弹出式菜单 494

17.6 网络编程基础 499

17.6.1 常用协议报头 499

17.6.2 Winsock基础 503

17.7 本课回顾和网络关键词 506

第3篇 综合应用篇 509

第18课 俄罗斯方块游戏 509

18.1 游戏功能描述 509

18.2 游戏总体设计 510

18.2.1 功能模块设计 510

18.2.2 数据结构设计 512

18.2.3 构成函数介绍 514

18.3 游戏具体实现 515

18.3.1 预处理 515

18.3.2 主函数 518

18.3.3 初始化界面处理 521

18.3.4 时钟中断处理 522

18.3.5 成绩、速度和帮助处理 522

18.3.6 满行处理 523

18.3.7 方块显示和消除处理 526

18.3.8 游戏方块操作判断处理 528

第19课 Ping网络项目设计 531

19.1 系统功能描述 531

19.2 系统总体设计 532

19.2.1 功能模块设计 532

19.2.2 数据结构设计 534

19.2.3 构成函数介绍 535

19.3 系统具体实现 536

19.3.1 预处理 536

19.3.2 初始化处理 538

19.3.3 控制模块 539

19.3.4 数据报解读处理 541

19.3.5 Ping测试处理 543

19.3.6 主函数 546

第20课 学生成绩管理系统 549

20.1 系统总体描述 549

20.1.1 项目开发的目标 549

20.1.2 项目提出的意义 549

20.1.3 系统功能描述 550

20.2 系统总体设计 551

20.2.1 功能模块设计 551

20.2.2 数据结构设计 554

20.2.3 构成函数介绍 554

20.3 系统具体实现 556

20.3.1 预处理 556

20.3.2 主函数main 557

20.3.3 系统主菜单函数 558

20.3.4 表格显示信息 559

20.3.5 信息查找定位 560

20.3.6 格式化输入数据 561

20.3.7 增加学生记录 561

20.3.8 查询学生记录 563

20.3.9 删除学生记录 564

20.3.10 修改学生记录 565

20.3.11 插入学生记录 566

20.3.12 统计学生记录 568

20.3.13 排序处理 568

20.3.14 存储学生信息 570