C语言开发从入门到精通 PDF格式高清电子书免费下载

C语言开发从入门到精通

作者 王长青 韩海玲
出版社 人民邮电出版社
出版日期 2016-09-01
页数 366
格式 Paper book / ebook (PDF)
ISBN 9787115420169
价格 55
  • 内容简介
  • 图书目录
  • 免费下载

出版信息

ISBN:9787115420169
语言:简体中文
包装/印刷类型:1
开本:16开
出版时间:2016-09-01
页数:366

内容简介

从初学者的角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使用VisualC++6.0(部分使用TurboC)进行C语言应用程序开发应该掌握的各方面技术,共分14章,包括初识C语言、C语言基础、顺序与选择结构程序设计、循环控制、数组、函数、指针、结构体与共用体、算法、位运算、预处理、文件。书中所有知识都结合具体实例进行介绍,可以使读者轻松领会C语言应用程序开发的精髓,快速提高开发技能。

本书循序渐进、由浅入深地详细讲解了C语言开发的技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。全书共22章,第 1~4章分别讲解了C语言开发的基础知识,包括C语言简介,安装开发工具等;第5~10章分别讲解了函数、输入/输出、流程控制、数组操作等知识,这些内容都是C语言技术的核心知识;第 11~20章分别讲解了指针、结构体、共用体和枚举、链表、位运算、预编译、文件操作、错误调试和高 级编程技术的知识,这些内容是C语言开发技术的重点和难点;第 21~22章分别通过2个综合实例的实现过程,介绍了C语言在综合项目中的开发过程。全书内容以“技术解惑”和“范例演练”贯穿全书,引 领读者全面掌握C语言。

本书不但适用C语言的初学者,也适合有一定C语言基础的读者学习,还可以作为大专院校相关专业的师生用书和培训学校的教材。

图书目录

目录

第 1章 C语言之定位 1

(视频总计24分钟,实例1个,拓展实例2个,技术解惑3个)

1.1 C语言的诞生 2

1.2 第 一印象的建立 2

1.3 理解编译系统——学习的第 一步 3

1.4 揭开存储器的层次 5

1.5 技术解惑 6

1.5.1 学习C语言还有用吗 6

1.5.2 怎样学好C语言 7

1.5.3 学好C语言的建议 7

第 2章 C语言开发工具详解 8

(视频总计15分钟,技术解惑3个)

2.1 用DOS开发C程序 9

2.1.1 安装Turbo C 3.0 9

2.1.2 认识Turbo C 3.0集成开发环境 11

2.1.3 Turbo C 3.0开发演习 14

2.2 在Windows环境下开发C程序 15

2.2.1 Visual Studi2o 2010介绍 15

2.2.2 安装Visual Studio 2010 15

2.2.3 认识Visual Studio 2010

开发环境 17

2.3 在Linux下开发C程序 18

2.3.1 装备GCC 18

2.3.2 GCC基本使用介绍 20

2.4 技术解惑 22

2.4.1 安装Visual Studio的几个

常见问题 22

2.4.2 有没有轻量级的、可以复制和粘贴代码的工具 22

2.4.3 Windows 7中安装Visual

Studio的常见问题 22

第3章 算法——抓住程序的灵魂 23

(视频总计25分钟,技术解惑2个)

3.1 我们对算法的理解 24

3.1.1 为什么是程序灵魂 24

3.1.2 何谓算法 24

3.1.3 算法的特性 25

3.2 算法表示法——流程图 26

3.3 用计算机语言表示算法 27

3.4 技术解惑 27

3.4.1 初学者的一个困惑 27

3.4.2 另外一种表示方法—

N-S流程图 28

第4章 程序员的基本素质培养 29

(视频总计15分钟,技术解惑1个)

4.1 养成好的命名习惯 30

4.2 C程序文件结构 30

4.2.1 C程序组成部分 30

4.2.2 C程序格式总结 31

4.3 养成好的C语言编程风格 32

4.3.1 随时使用缩进格式 32

4.3.2 注意大符号的位置 32

4.3.3 函数的规则 33

4.3.4 注意注释 33

4.4 如何成为一名优 秀的程序员 33

4.5 技术解惑 35

第5章 C语言语法 36

(视频总计23分钟,实例5个,拓展实例10个,技术解惑4个)

5.1 标识符和关键字 37

5.2 **基本的数据类型 37

5.3 常量和变量的深入理解 38

5.3.1 常量详解 39

5.3.2 变量详解 40

5.4 整型数据 42

5.4.1 整型常量详解 42

5.4.2 整型变量详解 44

5.5 实型数据 46

5.5.1 实型常量详解 46

5.5.2 实型变量详解 46

5.5.3 了解实型常量的类型 48

5.6 字符型数据 48

5.6.1 字符常量详解 49

5.6.2 字符串常量详解 50

5.6.3 字符变量详解 51

5.7 初始化变量 52

5.8 整型、实型和字符型数据间的

运算总结 53

5.8.1 自动转换 53

5.8.2 强制转换 54

5.9 技术解惑 54

5.9.1 C语言中无符号整型变量和

有符号整型变量指什么? 54

5.9.2 C语言中字符变量是怎么

回事 55

5.9.3 怎么理解字符型数据取值

范围为0~255 55

5.9.4 怎样将带小数点的字符型

数据转换成浮点型的 55

第6章 运算符和表达式 56

(视频总计29分钟,实例8个,拓展实例16个,技术解惑5个)

6.1 运算符和表达式的基本概况 57

6.1.1 先看运算符的种类 57

6.1.2 再看运算符的优先级 58

6.2 算术运算符和算术表达式详解 59

6.2.1 单目运算符 59

6.2.2 双目运算符 60

6.3 赋值运算符和赋值表达式 60

6.3.1 基本赋值运算符 61

6.3.2 复合赋值运算符 61

6.3.3 赋值表达式 62

6.4 关系运算符和关系表达式详解 63

6.4.1 关系运算符 63

6.4.2 关系表达式 63

6.5 逻辑运算符和逻辑表达式详解 64

6.5.1 逻辑运算符 64

6.5.2 逻辑表达式 64

6.6 逗号运算符和逗号表达式详解 66

6.6.1 逗号运算符 66

6.6.2 逗号表达式 66

6.7 求字节数运算符详解 67

6.8 技术解惑 68

6.8.1 C语言运算符优先级的

详细情况 68

6.8.2 有少数运算符有规定表达式

求值的顺序 70

6.8.3 在C语言中可以进行混合

运算吗 70

6.8.4 在一个逻辑条件语句中

常数项永远在左侧 70

6.8.5 赋值处理的自动类型转换 70

第7章 输入和输出 72

(视频总计25分钟,实例7个,拓展实例14个,技术解惑3个)

7.1 先来了解C语句初步 73

7.1.1 C语句简介 73

7.1.2 赋值语句 74

7.2 打通任督二脉——数据输入和

输出详解 75

7.2.1 putchar函数(字符输出

函数) 76

7.2.2 getchar函数(字符输入

函数) 77

7.2.3 printf函数(格式输出

函数) 78

7.2.4 scanf函数(格式输入

函数) 81

7.2.5 puts函数(字符串输出

函数) 84

7.2.6 gets函数(字符串输入

函数) 84

7.3 技术解惑 85

7.3.1 gets函数和scanf函数的

区别 85

7.3.2 克服gets函数的缺陷 85

7.3.3 一个C语言的输入和输出

问题 87

第8章 流程控制 88

(视频总计32分钟,实例8个,拓展实例16个,技术解惑3个)

8.1 **常见的顺序结构 89

8.2 选择结构 89

8.2.1 单分支结构语句 90

8.2.2 双分支结构语句 91

8.2.3 还要使用多分支结构语句 94

8.2.4 条件运算符和条件表达式 96

8.3 循环结构详解 97

8.3.1 for语句循环 98

8.3.2 while语句 99

8.3.3 do-while语句 101

8.3.4 正确对待goto语句 102

8.3.5 break/continue跳跃 103

8.3.6 死循环/退出程序 104

8.4 技术解惑 105

8.4.1 循环中的低效问题 105

8.4.2 分析C语言循环语句的

效率 105

8.4.3 使用for循环语句的注意

事项 106

第9章 数组和字符串——数据存在形式 107

(视频总计49分钟,实例13个,拓展实例26个,技术解惑4个)

9.1 一维数组 108

9.1.1 定义一维数组 108

9.1.2 引用一维数组元素 108

9.1.3 初始化一维数组 109

9.2 多维数组 110

9.2.1 二维数组 110

9.2.2 多维数组 113

9.3 字符数组与字符串 115

9.3.1 字符数组 116

9.3.2 字符串与字符数组 116

9.3.3 字符数组的输入和输出 117

9.4 字符串处理函数 119

9.4.1 测试字符串长度函数 119

9.4.2 字符串大小写转换函数 119

9.4.3 字符串复制函数 120

9.4.4 字符串比较函数 121

9.4.5 字符串连接函数 123

9.4.6 其他的字符串函数 124

9.4.7 将字符串转换成数值的

函数 124

9.5 字符处理函数 125

9.5.1 字符检测函数详解 125

9.5.2 字符大小写转换函数

详解 127

9.6 技术解惑 128

9.6.1 数组的下标总是从0

开始吗 128

9.6.2 C语言对数组的处理是

非常有效的吗 128

9.6.3 初始化赋值一维数组的

注意事项 129

9.6.4 冒泡排序 129

第 10章 函数——C语言的CPU 130

(视频总计65分钟,实例14个,拓展实例28个,技术解惑10个)

10.1 C语言函数的基础知识 131

10.1.1 函数的分类 131

10.1.2 函数的定义 132

10.2 必须知道的函数声明和函数

原型 133

10.3 函数的参数 135

10.3.1 形参和实参详解 135

10.3.2 可以将数组名作为函数

参数 136

10.3.3 可以将数组作为函数

参数 138

10.4 函数的返回值 140

10.5 怎样实现函数的调用 142

10.5.1 函数的调用格式 142

10.5.2 函数调用的方式 142

10.5.3 被调函数的声明方式 144

10.5.4 对调用函数的方式进行

深入分析 144

10.6 函数的嵌套调用和递归调用 146

10.6.1 函数嵌套调用详解 146

10.6.2 函数递归调用详解 148

10.7 必须了解变量的作用域和

生存期 151

10.7.1 变量作用域详解 151

10.7.2 静态存储变量和动态存储

变量 153

10.8 谈谈C的内部函数和外部函数 159

10.8.1 内部函数详解 159

10.8.2 外部函数详解 160

10.9 必须知道的库函数 161

10.10 技术解惑 162

10.10.1 深入分析项目文件 162

10.10.2 要尽量避免不必要的

函数调用 164

10.10.3 请确保声明和定义是

静态的,除非希望从

不同的文件中调用该

函数 164

10.10.4 避免过长的main

(函数) 164

10.10.5 函数的地址本身也是

数据 166

10.10.6 什么时候说明函数 167

10.10.7 一个函数可以有多少个

参数 168

10.10.8 如果一个函数没有

返回值,是否需要

加入return语句 168

10.10.9 在程序退出main函数

之后还有可能执行

一部分代码 168

10.10.10 exit()函数和return语句有什么不同 169

第 11章 指针是学习C语言的**大障碍 170

(视频总计61分钟,实例14个,拓展实例28个,技术解惑8个)

11.1 基本概念 171

11.2 变量的指针和指向变量的指针

变量 171

11.2.1 声明指针变量 172

11.2.2 指针变量的初始化 172

11.2.3 指针变量的引用 173

11.2.4 关于指针运算符的说明 174

11.2.5 指针变量的运算 175

11.2.6 指针变量作为函数参数 176

11.2.7 void类型的指针 179

11.3 指针和数组 180

11.3.1 数组元素的指针 181

11.3.2 指向一维数组元素的

指针变量 182

11.3.3 通过指针引用数组元素 182

11.3.4 数组名作函数参数 185

11.4 指针和多维数组 187

11.4.1 多维数组的地址 187

11.4.2 指向多维数组的指针

变量 189

11.5 指针和字符串 192

11.5.1 指针访问字符串 192

11.5.2 字符串指针作函数参数 193

11.5.3 使用字符串指针变量与

字符数组的区别 194

11.6 指针数组和多级指针 195

11.6.1 指针数组 195

11.6.2 多级指针的定义和应用 196

11.6.3 指向指针的指针 198

11.6.4 main函数的参数 198

11.7 指针函数和函数指针 199

11.7.1 指针函数 199

11.7.2 函数指针 200

11.8 技术解惑 202

11.8.1 指针初始化时应注意的

问题 202

11.8.2 指针赋值时应注意的

问题 203

11.8.3 指针用于数组时应注意的

问题 204

11.8.4 结构中使用指针时应

注意的问题 204

11.8.5 避免不必要的内存引用 205

11.8.6 避免悬空指针和野指针 205

11.8.7 数组下标与指针的效率

解析 205

11.8.8 使用指针时的常见错误 206

第 12章 数据的熔炉——结构体、共用

体和枚举 208

(视频总计49分钟,实例12个,拓展实例24个,技术解惑4个)

12.1 结构体 209

12.1.1 定义结构体类型 209

12.1.2 定义结构体类型变量 209

12.1.3 引用结构体变量 211

12.1.4 初始化结构体变量 213

12.2 进一步谈结构体数组 214

12.2.1 定义结构体数组 214

12.2.2 初始化结构体数组 215

12.2.3 引用结构体数组 216

12.3 详谈结构体指针 217

12.3.1 定义结构体指针变量 217

12.3.2 初始化结构体指针变量 218

12.3.3 引用结构体指针变量 218

12.3.4 指向结构变量的指针 219

12.3.5 指向结构体数组的

指针 220

12.4 在函数中使用结构体 220

12.4.1 结构体变量和结构体指针

可以作为函数参数 221

12.4.2 函数可以返回结构体

类型的值 222

12.5 共用体(联合) 223

12.5.1 定义共用体和共用体

变量 223

12.5.2 引用和初始化共用体

变量 224

12.6 枚举 225

12.6.1 定义枚举类型 225

12.6.2 定义枚举变量 226

12.6.3 引用枚举变量 227

12.7 为什么需要用typedef定义

类型 228

12.7.1 类型定义符typedef

基础 228

12.7.2 使用typedef 229

12.8 技术解惑 230

12.8.1 可以省略结构名吗 230

12.8.2 是否可以定义一种通用

数据类型方便地存储

任意类型的数据呢 230

12.8.3 分析结构和共用体的

区别 231

12.8.4 一个定义C结构体的

问题 231

第 13章 链表 232

(视频总计25分钟,实例4个,拓展实例8个,技术解惑3个)

13.1 动态内存分配 233

13.1.1 为什么用动态内存

分配 233

13.1.2 如何实现动态内存分配

及其管理 233

13.2 链表详解 236

13.2.1 链表基本介绍 236

13.2.2 单向链表 237

13.2.3 创建一个链表 239

13.2.4 删除整个链表 240

13.2.5 在链表中插入节点 240

13.2.6 在链表中删除节点 241

13.2.7 双向链表 242

13.2.8 循环链表 243

13.3 技术解惑 244

13.3.1 一段代码对链表的

总结 244

13.3.2 面试题—判断单链表是

否有环 248

13.3.3 面试题—实现单链表

逆置 248

第 14章 位运算 250

(视频总计22分钟,实例2个,拓展实例4个,技术解惑3个)

14.1 位运算符和位运算 251

14.1.1 按位与运算(&) 251

14.1.2 按位或运算 252

14.1.3 按位异或运算 252

14.1.4 取反运算 253

14.1.5 左移运算 253

14.1.6 右移运算 254

14.1.7 位运算应用实例 254

14.2 位域 256

14.2.1 位域的定义和位域变量的

说明 256

14.2.2 位域的使用 257

14.3 技术解惑 257

14.3.1 二进制补码运算公式 257

14.3.2 面试题:从某个数中取出

指定的某些位 258

14.3.3 位域的内存对齐原则 258

第 15章 预编译处理 259

(视频总计27分钟,实例3个,拓展实例6个,技术解惑6个)

15.1 预编译基础 260

15.2 宏定义 260

15.2.1 不带参数的宏定义 260

15.2.2 带参数的宏定义 262

15.2.3 字符串化运算符 264

15.2.4 并接运算符 264

15.3 文件包含详解 265

15.4 条件编译 267

15.4.1 #ifdef… #else…#endif

命令 267

15.4.2 #if defined… #else…

#endif 268

15.4.3 #ifndef… #else…#endif 268

15.4.4 #if !defined… #else…

#endif 268

15.4.5 #ifdef…#elif… #elif…

#else… #endif 269

15.5 技术解惑 270

15.5.1 还有其他预编译

指令吗 270

15.5.2 带参的宏定义和函数

不同 271

15.5.3 总结C语言中的预处理

指令 271

15.5.4 预编译指令的本质是

什么 271

15.5.5 sizeof(int)在预编译

阶段是不会被求值的 272

15.5.6 多行预处理指令的

写法 272

第 16章 文件操作 273

(视频总计56分钟,实例14个,拓展实例28个,技术解惑5个)

16.1 C领域中的文件 274

16.1.1 文本文件 274

16.1.2 文件分类 275

16.2 文件指针 275

16.3 实现文件打开与关闭 276

16.3.1 打开文件 276

16.3.2 关闭文件 278

16.4 文件读写详解 279

16.4.1 字符读写函数 280

16.4.2 字符串读写函数 282

16.4.3 格式化读写函数 283

16.4.4 数据块读写函数 284

16.4.5 其他的读写函数 286

16.5 必须掌握文件的随机读写 287

16.5.1 fseek函数详解 287

16.5.2 rewind函数详解 289

16.5.3 ftell函数详解 289

16.6 文件管理函数详解 290

16.6.1 删除文件 290

16.6.2 重命名文件 291

16.6.3 复制文件 291

16.7 文件状态检测函数详解 293

16.7.1 feof函数详解 293

16.7.2 ferror函数详解 293

16.7.3 clearerr函数详解 294

16.8 Win32 API中的文件操作

函数 294

16.8.1 创建和打开文件 295

16.8.2 读取、写入和删除

文件 295

16.9 技术解惑 296

16.9.1 文件指针和文件内部的

位置指针是一个

含义吗 296

16.9.2 fseek函数的换行问题 296

16.9.3 怎样解决gets函数的

溢出问题 296

16.9.4 feof函数会多读一个

数据吗 297

16.9.5 流和文件有何关系 297

第 17章 错误和程序调试 298

(视频总计9分钟,技术解惑3个)

17.1 常见错误分析 299

17.1.1 语法错误 299

17.1.2 逻辑错误(语义错误) 300

17.1.3 内存错误 303

17.2 错误的检出与分离 308

17.3 调试时的注意事项 309

17.3.1 上机前要先熟悉程序

运行的环境 309

17.3.2 程序设计过程中要为

程序调试做好准备 309

17.4 技术解惑 310

17.4.1 编译通过并不代表运行

正确 310

17.4.2 两段代码的编译差别 310

17.4.3 调试程序的方法与

技巧 310

第 18章 组件技术 313

(视频总计19分钟)

18.1 组件技术概述 314

18.2 体系结构 314

18.2.1 体系结构的概念 314

18.2.2 CORBA技术体系 315

18.2.3 DCOM技术 319

第 19章 C语言高 级编程技术 322

(视频总计33分钟,实例12个,拓展实例

8个)

19.1 何谓C的高 级编程技术 323

19.2 分析文本的屏幕输出和键盘

输入 323

19.2.1 实现文本的屏幕输出 323

19.2.2 实现键盘输入 329

19.2.3 应用实例 330

19.3 分析图形显示方式和鼠标

输入 332

19.3.1 初始化图形模式 332

19.3.2 清屏和恢复显示函数

详解 334

19.3.3 建立独立图形运行

程序 335

19.3.4 基本绘图函数详解 335

19.3.5 线性函数详解 339

19.3.6 颜色控制函数详解 340

19.3.7 分析填色函数和画图

函数 344

19.3.8 图形窗口函数详解 347

19.3.9 分析图形方式下的

文本输出函数 347

19.4 菜单设计 350

19.4.1 实现下拉式菜单 350

19.4.2 实现弹出式菜单 353

第 20章 网络编程技术 358

(视频总计33分钟,实例3个,拓展实例

2个)

20.1 OSI七层网络模型 359

20.2 TCP/IP子协议 360

20.2.1 IP协议 361

20.2.2 TCP协议 362

20.2.3 UDP协议 363

20.2.4 ICMP协议 363

20.3 使用C语言开发网络项目 363

20.3.1 网络编程方式 364

20.3.2 网络通信基本流程 364

20.3.3 搭建开发环境 365

20.3.4 两个常用的数据结构 365

20.3.5 Windows Sockets基础 365

20.4 常用的Winsock函数 366

20.4.1 WSAStartup函数 366

20.4.2 socket函数 366

20.4.3 inet_addr函数 367

20.4.4 gethostbyname函数 367

20.4.5 bind函数 367

20.4.6 connect函数 367

20.4.7 select函数 367

20.4.8 recv函数 368

20.4.9 sendto函数 368

20.5 MAC地址 368

20.6 NetBIOS编程 369

20.6.1 处理过程 369

20.6.2 NetBIOS命令 369

20.6.3 NetBIOS名字解析 370

20.6.4 何谓NetBEUI 372

20.6.5 NetBIOS范围 373

20.6.6 NetBios控制块 373

20.7 实战演练——获取当前机器

MAC地址 373

20.7.1 选择开发工具 373

20.7.2 设计MFC窗体 373

20.7.3 具体编码 374

第 21章 初入江湖——游戏项目设计 381

(视频总计45分钟)

21.1 游戏功能描述 382

21.2 游戏总体设计 382

21.2.1 功能模块设计 383

21.2.2 数据结构设计 385

21.2.3 构成函数介绍 386

21.3 游戏具体实现 387

21.3.1 预处理 387

21.3.2 主函数 389

21.3.3 初始化界面处理 390

21.3.4 时钟中断处理 391

21.3.5 成绩、速度和帮助

处理 391

21.3.6 满行处理 392

21.3.7 方块显示和消除处理 394

21.3.8 游戏方块操作判断

处理 395

第 22章 风云再起——网络项目设计 398

(视频总计28分钟)

22.1 系统功能描述 399

22.2 系统总体设计 399

22.2.1 功能模块设计 399

22.2.2 数据结构设计 401

22.2.3 构成函数介绍 402

22.3 系统具体实现 403

22.3.1 预处理 403

22.3.2 初始化处理 404

22.3.3 控制模块 405

22.3.4 数据报解读处理 406

22.3.5 Ping测试处理 408

22.3.6 主函数 409

点击展开

点击收起

C语言开发从入门到精通 PDF格式高清电子书免费下载

抱歉,暂无数据!催一下?我有资源 ?

看了 C语言开发从入门到精通 的用户也看了: