注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术工业技术建筑科学建筑设计C语言编程从零开始学(视频教学版)

C语言编程从零开始学(视频教学版)

C语言编程从零开始学(视频教学版)

定 价:¥129.00

作 者: 王英英,李小威
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302503262 出版时间: 2018-07-01 包装: 平装
开本: 16 页数: 616 字数:  

内容简介

  本书分为19章,内容包括认识C语言、C语言程序结构、算法与流程图、基本数据类型、运算符和表达式、程序流程控制结构、函数、数组与字符串、指针、结构体、共用体、枚举、操作文件、编译与预处理指令、使用库函数、位运算、网络套接字编程、动态数据结构、数据结构进阶、排序等。最后通过1个综合项目实训,进一步讲述C语言在实际工作中的应用。本书注重实战操作,帮助读者循序渐进地掌握C语言中的各项技术。本书共有400多个实例,还有大量的经典习题。随书下载包中赠送了培训班形式的视频教学录像,详细讲解了书中每一个知识点与编程方法和技巧。同时下载包中还提供了本书所有例子的源代码,读者可以直接查看和调用。本书适合C语言初学者和C语言开发人员,同时也能作为高等院校和培训学校相关专业的师生教学参考。

作者简介

  王英英,从事多年网站开发和APP程序开发,精通各种编程语言、网络编程和数据库开发知识,具有丰富的实战开发经验。对Web前端、Java、Python有深入研究,并出版过多本相关畅销书,颇受广大读者认可。

图书目录

第1章  为什么要学习C语言——认识C语言          1

1.1 C语言概述    1

1.1.1 C语言的起源     1

1.1.2 C语言的特点     2

1.1.3 C语言的应用领域     4

1.2 C语言的常用开发环境         4

1.2.1 Visual C 6.0开发环境     4

1.2.2 Turbo C 2.0开发环境 10

1.2.3 Visual Studio 2017开发环境      11

1.3 C语言编译机制    14

1.4  编写第1个C语言程序        15

1.4.1 在Visual C 6.0中开发C程序        15

1.4.2 在Turbo C中开发C程序  20

1.4.3 在Visual Studio 2017中开发C程序 23

1.5  疑难解惑        25

1.6  经典习题        26

第2章  C语言程序结构      27

2.1 C语言源程序         27

2.1.1 熟悉源程序的特点    28

2.1.2 函数    28

2.2  编码规范        29

2.2.1 版式要求    29

2.2.2 命名规则    30

2.2.3 正确性与容错要求    30

2.3  语句        31

2.3.1 表达式语句         31

2.3.2 函数调用语句    31

2.3.3 控制语句    31

2.3.4 复合语句    32

2.3.5 空语句         32

2.4  输入输出对象        32

2.4.1 格式化输入函数         32

2.4.2 格式化输出函数         36

2.4.3 字符的输入函数         40

2.4.4 字符的输出函数         42

2.4.5 字符串的输入函数    43

2.4.6 字符串的输出函数    44

2.5  关键字   45

2.6  标识符   46

2.7  小试身手—格式控制符对宽度和精度的操作   47

2.8  技能提升—在printf()函数中展示各类格式控制符   48

2.9  疑难解惑        49

2.10 经典习题      50

第3章  算法与流程图          52

3.1  算法的概念   52

3.1.1 算法的特性         53

3.1.2 衡量算法的“好”与“坏”    53

3.2  流程图简介   54

3.2.1 传统流程图         55

3.2.2 N-S流程图  57

3.3  如何描述算法        57

3.3.1 自然语言    57

3.3.2 流程图         59

3.3.3 三种基本结构    60

3.3.4 N-S流程图  66

3.3.5 伪代码         69

3.3.6 计算机语言         71

3.4  结构化程序设计方法   72

3.5  小试身手—求100以内能被3和5整除的数    73

3.6  技能提升—求奇数的阶层之后再求和        74

3.7  疑难解惑        75

3.8  经典习题        76

第4章  数据类型          78

4.1  数据的表示方法   78

4.1.1 十进制         79

4.1.2 二进制         79

4.1.3 八进制         79

4.1.4 十六进制    79

4.2  基本数据类型        80

4.2.1 整数类型    80

4.2.2 字符类型    83

4.2.3 实型    85

4.2.4 布尔类型    87

4.3  数据类型的转换   88

4.3.1 自动类型转换    88

4.3.2 强制类型转换    90

4.4  常量        91

4.4.1 整数常量    91

4.4.2 字符常量    93

4.4.3 字符串常量         95

4.4.4 符号常量    96

4.5  变量        97

4.5.1 变量的定义         97

4.5.2 变量的声明         98

4.5.3 变量的初始化与赋值         99

4.5.4 变量的分类         100

4.6  变量的存储类别   105

4.6.1 动态存储与静态存储         105

4.6.2 自动(auto)变量     105

4.6.3 静态(static)变量   107

4.6.4 寄存器(register)变量   107

4.6.5 外部(extern)变量 108

4.7  混合运算        109

4.7.1 存储形式    109

4.7.2 范围    109

4.4.3 混合运算原则    110

4.8 typedef与#define  111

4.9  小试身手——查询数据类型的长度   112

4.10 技能提升——求长方体的体积及三个面的面积      114

4.11 疑难解惑      115

4.12 经典习题      116

第5章  运算符和表达式     117

5.1  运算符概述   117

5.1.1 赋值运算符         117

5.1.2 算术运算符         120

5.1.3 关系运算符         122

5.1.4 逻辑运算符         124

5.1.5 位逻辑运算符    126

5.1.6 移位运算符         127

5.1.7 条件运算符         128

5.1.8 逗号运算符         130

5.1.9 类型转换运算符         131

5.2  运算符优先级和结合性        132

5.3  表达式概述   133

5.4  小试身手—判断两个变量的大小        134

5.5  技能拓展—运算符解决生活小问题   135

5.6  疑难解惑        136

5.7  经典习题        137

第6章  程序流程控制语句          138

6.1  顺序语句        138

6.2  条件判断语句        139

6.2.1 if条件 139

6.2.2 if…else条件       142

6.2.3 条件运算符         144

6.3  多重选择语句        145

6.3.1 if…else…if语句          145

6.3.2 if的嵌套语句      147

6.3.3 switch分支结构语句          149

6.4  循环语句        151

6.4.1 while循环   152

6.4.2 do…while循环   153

6.4.3 for循环       155

6.4.4 循环语句的嵌套         157

6.5  跳出循环        158

6.5.1 break语句  158

6.5.2 continue语句      159

6.6  小试身手—判定三角形        160

6.7  技能提升—自动售货机        161

6.8  疑难解惑        163

6.9  自我评估        164

第7章函数   165

7.1  函数的基本结构   165

7.1.1 函数的声明与定义    165

7.1.2 函数的调用         170

7.1.3 函数的嵌套调用         174

7.1.4 函数的递归调用         176

7.1.5 函数的参数         179

7.1.6 参数的传递方式         181

7.2  函数的返回语句   184

7.2.1 函数的返回值    184

7.2.2 函数的结束标志         186

7.2.3 函数的返回值类型    187

7.3  变量的作用域        188

7.3.1 局部变量    189

7.3.2 全局变量    190

7.4  小试身手—倒序输出字符   193

7.5  技能提升1—打印乘法口诀表     194

7.6  技能提升2—分析学生的成绩     195

7.7  疑难解惑        197

7.8  经典习题        198

第8章  数组          200

8.1  数组的概述   200

8.2  一维数组        201

8.2.1 一维数组的定义         201

8.2.2 一维数组的引用         203

8.2.3 一维数组的初始化    204

8.2.4 数组的操作         207

8.3  二维数组和多维数组   209

8.3.1 二维数组的定义         209

8.3.2 二维数组的引用         209

8.3.3 二维数组的初始化    212

8.3.4 多维数组    215

8.3.5 数组的操作         217

8.4  数组与函数   220

8.4.1 一维数组作为函数的参数         220

8.4.2 数组名作为函数参数         221

8.4.3 形参数组和实参数组         222

8.5  字符数组        224

8.5.1 字符数组与字符串    224

8.5.2 字符数组的输出与输入    228

8.5.3 字符串处理函数         231

8.6  小试身手—计算字符数组的长度        237

8.7  技能提升—操作矩阵   238

8.8  疑难解惑        240

8.9  经典习题        241

第9章  指针          242

9.1  指针概述        242

9.1.1 地址与指针         242

9.1.2 指针变量的定义         245

9.1.3 指针变量的引用         248

9.2  指针与函数   251

9.2.1 指针变量作为函数参数    251

9.2.2 指针函数    253

9.2.3 函数指针    256

9.3  指针与数组   258

9.3.1 数组元素的指针         258

9.3.2 指针的运算         259

9.3.3 通过指针引用数组元素    260

9.3.4 指向数组的指针变量作为函数参数         262

9.3.5 通过指针对二维数组进行引用         268

9.4  指针与字符串        274

9.4.1 字符指针    274

9.4.2 使用字符指针做函数参数         278

9.4.3 字符数组与字符指针变量的区别    282

9.5  指针数组和多重指针   283

9.5.1 指针数组    284

9.5.2 指向指针的指针         288

9.6  小试身手—遍历数组   294

9.7  综合案例—寻找第一个相同元素        295

9.8  疑难解惑        297

9.9  经典习题        300

第10章  结构体、共用体和枚举       301

10.1 结构体概述 301

10.1.1 结构体类型       301

10.1.2 定义结构体变量       303

10.1.3 初始化结构体变量  305

10.1.4 结构体变量的引用  306

10.2 结构体数组 309

10.2.1 定义结构体数组       309

10.2.2 结构体数组的初始化       311

10.2.3 结构体数组元素的引用  312

10.2.4 结构体数组应用实例       313

10.3 结构体指针 314

10.3.1 指向结构体变量的指针  314

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

10.3.3 结构体变量作为函数参数       320

10.3.4 指向结构体变量的指针作为函数参数  321

10.3.5 结构体作为函数的返回值       323

10.4 共用体 324

10.4.1 共用体的定义  324

10.4.2 共用体变量的定义  324

10.4.3 共用体变量的初始化以及引用       326

10.5 枚  举 329

10.5.1 定义枚举类型  329

10.5.2 定义枚举类型变量  330

10.6 小试身手—建立居民身份信息卡      333

10.7 技能提升—创建学生成绩输入系统 335

10.8 疑难解惑      337

10.9 经典习题      339

第11章  操作文件       340

11.1 文件概述      340

11.1.1 文件类型  341

11.1.2 文件指针  342

11.1.3 文件的缓冲区  343

11.2 文件的打开与关闭      343

11.2.1 文件的打开操作       344

11.2.2 文件的关闭       346

11.3 文件的读写 347

11.3.1 字符的读写       347

11.3.2 字符串的读写  351

11.3.3 数据块的读写  354

11.3.4 格式化读写函数       358

11.4 文件定位与文件的随机读写      362

11.4.1 文件头定位函数rewind()         362

11.4.2 随机定位函数fseek()       363

11.4.3 当前读写位置函数ftell()          365

11.5 文件检测函数      366

11.5.1 文件结束检测函数feof()          366

11.5.2 文件读写错误检测函数ferror()      367

11.5.3 文件错误标志清除函数clearerr()  369

11.6 小试身手—整理学生体检信息 370

11.7 技能提升—制作暑期计划表      372

11.8 疑难解惑      374

11.9 经典习题      376

第12章  编译与预处理指令       377

12.1 预处理 377

12.2 宏定义命令—#define 380

12.2.1 无参数的宏       380

12.2.2 带参数的宏定义       384

12.2.3 宏定义的嵌套  390

12.2.4 宏定义的作用范围  391

12.2.5  宏定义的多行表示  392

12.3 文件包含      393

12.4 条件编译      394

12.4.1 条件编译命令  395

12.4.2 调试中使用DEBUG宏     398

12.4.3 文件的嵌套包含与条件编译  400

12.5 小试身手—判断闰年的宏函数 401

12.6 技能提升—大写字母转换 401

12.7 疑难解惑      402

12.8 经典习题      403

第13章  使用库函数   404

13.1 标准C库函数      404

13.2 数学函数“math.h” 405

13.2.1 求幂函数与开平方函数  405

13.2.2 指数函数与对数函数       407

13.2.3 三角函数  408

13.2.4 绝对值函数       410

13.2.5 取整函数与取余函数       411

13.3 字符串函数“string.h”     413

13.3.1 字符串长度函数       413

13.3.2 字符串连接函数       414

13.3.3 字符串复制函数       415

13.3.4 字符串大小写转换函数  418

13.3.5 字符串查找函数       419

13.3.6 字符串比较函数       421

13.4 字符函数“ctype.h” 424

13.4.1 字符的类型判断函数       424

13.4.2 字符大小写转换函数       426

13.5 其他函数      428

13.5.1 随机函数  428

13.5.2 日期时间函数  429

13.5.3 结束程序函数  431

13.6 小试身手—字符串首字母转换成大写      432

13.7 技能提升—计算任意三角形面积代码      433

13.8 疑难解惑      434

13.9 经典习题      435

 

 

第14章  位运算   436

14.1 位(bit)与字节(byte)的关系      436

14.2 循环移位      436

14.3 位段      439

14.3.1 位段的定义       439

14.3.2 位段结构在内存中的存储方式       440

14.4 小试身手—计算段位结构的大小      442

14.5 技能提升—将十进制数转换为二进制数 443

14.6 疑难解惑      444

14.7 经典习题      445

第15章  网络套接字编程   446

15.1 计算机网络入门 446

15.1.1 IP地址       446

15.1.2 OSI七层参考模型    447

15.1.3 地址解析  448

15.1.4 域名系统  449

15.1.5 TCP/IP协议       449

15.1.6 端口  451

15.1.7 网络字节顺序  452

15.2 认识套接字 452

15.2.1 套接字概述       452

15.2.2 TCP的套接字的socket编程   453

15.2.3 UDP的套接字的socket编程  453

15.3 套接字函数 454

15.4 小试身手——基于TCP协议的服务端程序      463

15.5 技能提升——基于TCP协议的客户端程序      465

15.6 疑难解惑      467

15.7 经典习题      468

第16章  动态数据结构       469

16.1 动态存储分配概述      469

16.1.1 malloc()函数      470

16.1.2 calloc()函数       471

16.1.3 realloc()函数     472

16.1.4 free()函数 474

16.2 链表概述      475

16.2.1 链表结点的定义       475

16.2.2 链表的建立       476

16.2.3 链表的遍历       476

16.2.4 链表结点的插入       478

16.2.5 链表结点的删除       482

16.3 小试身手—链表的建立、插入和删除      486

16.4 综合案例—使用链表添加学生信息 490

16.5 疑难解惑      493

16.6 经典习题      494

第17章  数据结构进阶       495

17.1 数据结构概述      495

17.2 线性表 497

17.3 栈 499

17.3.1 栈的基本操作  500

17.3.2 顺序栈       500

17.3.3 链式栈       503

17.4 队列      505

17.4.1 队列的基本运算       505

17.4.2 顺序队列  505

17.4.3 链式队列  509

17.5 二叉树 513

17.5.1 二叉树的定义  513

17.5.2 二叉树的遍历  513

17.6 查找      515

17.6.1 顺序查找  515

17.6.2 折半查找  516

17.7 小试身手—查找数组中指定的元素 518

17.8 综合案例—操作队列 520

17.9 疑难解惑      524

17.10 经典习题   525

第18章  排序       526

18.1 排序的概述 526

18.2 冒泡排序      527

18.3 快速排序      529

18.4 直接插入排序      531

18.5 希尔排序      533

18.6 简单选择排序      535

18.7 堆排序 537

18.8 基数排序      540

18.9 归并排序      542

18.10 疑难解惑   545

18.11 经典习题   547

第19章  项目实训——开发餐饮管理系统       548

19.1 需求分析      548

19.2 功能分析      549

19.3 开发前准备工作 550

19.4 系统代码编写      551

19.4.1 登录管理模块  551

19.4.2 员工管理模块  554

19.4.3 用餐服务相关功能  581

19.4.4 数据组织及工具方法       597

19.4.5 主程序入口       609

19.5 系统运行      610

19.6 项目总结      616


本目录推荐