《C语言自学视频教程》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:软件开发技术联盟编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302371137
  • 页数:488 页
图书介绍:本书从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用C语言进行程序开发应该掌握的各方面知识。全书共分17章,包括C语言概述,算法,数据类型,运算符与表达式,常用的数据输入、输出函数,选择结构程序设计,循环控制,数组,函数,指针,结构体和共用体,位运算,预处理,文件,存储管理,网络套接字编程和学生成绩管理系统等。

第1篇 入门篇 2

第1章 初识C语言 2

1.1 C语言介绍 3

1.1.1 简述编程语言 3

1.1.2 了解C语言发展史 3

1.1.3 C语言程序的特点 4

1.2 C语言程序的组成与格式 5

1.2.1 组成C程序的各部分 5

1.2.2 C语言的编程格式 5

1.3 编程开发环境 6

1.3.1 Visual C++6.0简介 6

1.3.2 使用Visual C++6.0编程 13

1.3.3 使用Turbo C 2.0编程 17

1.4 综合应用 20

1.4.1 输出名言 20

1.4.2 求和程序 21

1.5 本章小结 21

1.6 跟我上机 22

第2章 编写一个简单的C程序 23

2.1 自己动手创建程序 24

2.1.1 创建工程 24

2.1.2 添加源文件 26

2.1.3 编写代码 26

2.1.4 编译运行 27

2.2 分析C程序各组成部分 27

2.3 查看C程序执行过程 30

2.3.1 单步调试 30

2.3.2 断点调试 31

2.4 综合应用 32

2.4.1 求圆面积 32

2.4.2 求平均值 33

2.5 本章常见错误 33

2.5.1 提示函数没定义 33

2.5.2 缺少分号 34

2.6 本章小结 34

2.7 跟我上机 34

第3章 数据类型 35

3.1 数据类型概述 36

3.1.1 数据类型的概念 36

3.1.2 数据类型的分类 36

3.2 关键字与标识符 38

3.2.1 解读关键字 38

3.2.2 理解标识符 39

3.3 常量 40

3.3.1 整型常量 40

3.3.2 实型常量 42

3.3.3 字符型常量 42

3.3.4 转义字符 46

3.4 变量 48

3.4.1 整型变量 48

3.4.2 实型变量 50

3.4.3 字符型变量 50

3.5 4种进制形式 52

3.5.1 进制表示形式 52

3.5.2 进制转换 53

3.6 综合应用 53

3.6.1 求圆的周长 53

3.6.2 求一元二次方程ax2+bx+c=0的根 54

3.6.3 进制转换 55

3.7 本章常见错误 55

3.7.1 error C2143:syntax error:missing‘;’before‘type’ 55

3.7.2 scanf输入数据要用地址 56

3.8 本章小结 56

3.9 跟我上机 56

第4章 运算符与表达式 57

4.1 认识C语言运算符及表达式 58

4.1.1 赋值运算符和赋值表达式 58

4.1.2 算术运算符和算术表达式 60

4.1.3 关系运算符和关系表达式 63

4.1.4 逻辑运算符和逻辑表达式 65

4.1.5 位运算符与位逻辑表达式 67

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

4.1.7 条件运算符 69

4.1.8 运算符的优先级和结合性 69

4.2 混合运算与类型转换 71

4.2.1 混合运算 71

4.2.2 转换数据类型 71

4.3 综合应用 74

4.3.1 水仙花数 74

4.3.2 可逆素数 75

4.4 本章常见错误 76

4.4.1 逻辑运算部分执行 76

4.4.2 表达式“a=b”和“a==b” 77

4.5 本章小结 77

4.6 跟我上机 77

第5章 数据的输入与输出 79

5.1 五类C语言语句 80

5.1.1 表达式语句 80

5.1.2 空语句 80

5.1.3 复合语句 81

5.1.4 函数调用语句 82

5.1.5 程序流程控制语句 83

5.2 输入与输出数据 83

5.2.1 字符数据输入/输出 83

5.2.2 字符串输入/输出 85

5.2.3 格式控制输入/输出 86

5.3 顺序结构应用实例 92

5.4 综合应用 93

5.4.1 用*输出图案 93

5.4.2 输出一个字符的前驱字符 94

5.5 本章常见错误 94

5.5.1 用scanf输入字符串不能接受空格 94

5.5.2 scanf格式控制用逗号问题 95

5.6 本章小结 95

5.7 跟我上机 95

第6章 算法 96

6.1 算法概述 97

6.1.1 算法的概念 97

6.1.2 算法的特征 97

6.2 描述算法 97

6.2.1 用流程图描述 97

6.2.2 三种基本结构 99

6.2.3 N-S流程图 101

6.2.4 用伪代码描述算法 101

6.3 综合应用 102

6.3.1 计算某日是该年第几天 102

6.3.2 百钱百鸡问题 103

6.4 本章常见错误 104

6.4.1 合理安排基本结构 104

6.4.2 全面考虑 104

6.5 本章小结 104

6.6 跟我上机 104

第7章 选择结构程序设计 108

7.1 if判断语句 109

7.1.1 if语句的基本形式 109

7.1.2 嵌套多个if语句 113

7.2 Switch分支语句 115

7.2.1 switch语句的基本形式 115

7.2.2 多路开关模式的switch语句 118

7.2.3 剖析if和switch语句 119

7.3 选择程序设计举例 120

7.4 综合应用 123

7.4.1 判断三角形的类型 123

7.4.2 计算增加后的工资 124

7.5 本章常见错误 125

7.5.1 if else的匹配问题 125

7.5.2 注意case后不要跟变量 125

7.5.3 if判断表达式的比较问题 126

7.6 本章小结 126

7.7 跟我上机 126

第8章 循环结构程序设计 128

8.1 循环结构概述 129

8.2 while和do-while循环 129

8.2.1 实现while循环 129

8.2.2 编写do-while语句 130

8.2.3 对比while和do-while语句 132

8.3 深入理解for循环 132

8.3.1 for语句的一般形式 132

8.3.2 for语句的变体 134

8.3.3 比较三种循环语句 137

8.3.4 嵌套循环 137

8.4 跳转执行 139

8.4.1 goto语句 139

8.4.2 break语句 141

8.4.3 continue语句 142

8.4.4 比较三种转移语句 143

8.5 循环程序设计应用 143

8.6 综合应用 145

8.6.1 婚礼上的谎言 145

8.6.2 一元钱的兑换方案 146

8.7 本章常见错误 146

8.7.1 在循环中注意清零 146

8.7.2 注意循环条件 147

8.8 本章小结 147

8.9 跟我上机 147

第2篇 提高篇 150

第9章 数组 150

9.1 一维数组 151

9.1.1 定义及引用一维数组 151

9.1.2 初始化一维数组 152

9.1.3 一维数组应用 154

9.2 二维数组 156

9.2.1 定义及引用二维数组 156

9.2.2 初始化二维数组 157

9.2.3 二维数组应用 159

9.3 多维数组 160

9.4 综合应用 161

9.4.1 统计学生成绩 161

9.4.2 相邻元素之和 162

9.5 本章常见错误 163

9.5.1 输出数组内容时后面出现乱码 163

9.5.2 sizeof(a)和sizeof(a+1) 163

9.6 本章小结 163

9.7 跟我上机 164

第10章 字符串 167

10.1 存储字符串的数组 168

10.1.1 定义及引用字符数组 168

10.1.2 初始化字符数组 168

10.1.3 输入/输出字符数组 171

10.1.4 字符数组的应用 173

10.2 解析字符串处理 174

10.2.1 复制字符串 174

10.2.2 连接字符串 176

10.2.3 比较字符串 177

10.2.4 获取字符串长度 179

10.2.5 转换字符串大小写 180

10.3 综合应用 181

10.3.1 设计复制函数 181

10.3.2 名字排序 182

10.4 本章常见错误 183

10.4.1 不能对数组名直接赋值 183

10.4.2 注意区分数组指针和指针数组 184

10.5 本章小结 184

10.6 跟我上机 184

第11章 封装函数 186

11.1 函数概述 187

11.2 定义函数 189

11.2.1 函数定义的一般形式 189

11.2.2 定义与声明函数 191

11.3 函数的返回 192

11.3.1 设置多个返回点 193

11.3.2 获取返回值 193

11.3.3 return使用说明 194

11.4 函数的参数 195

11.4.1 形式参数与实际参数 195

11.4.2 数组作为参数 197

11.4.3 main函数传参 201

11.4.4 参数校验 202

11.5 调用函数 202

11.5.1 函数调用方式 202

11.5.2 嵌套调用函数 203

11.5.3 递归调用函数 204

11.6 内部函数与外部函数 207

11.7 区分局部变量与全局变量 209

11.8 综合应用 213

11.8.1 判断素数 213

11.8.2 最大数与最小数的差 213

11.9 本章常见错误 215

11.9.1 函数定义时容易犯的错误 215

11.9.2 函数中返回的数组地址无效 215

11.9.3 声明函数时不要忘记加分号 216

11.10 本章小结 216

11.11 跟我上机 216

第12章 指针 218

12.1 指针相关概念 219

12.1.1 地址与指针 219

12.1.2 指针变量 220

12.1.3 指针的自加/自减运算 225

12.2 使用指针操作数组 227

12.2.1 一维数组与指针 227

12.2.2 二维数组与指针 230

12.2.3 比较char a[]与char*a 233

12.3 字符与指针 234

12.3.1 字符指针 234

12.3.2 字符串数组 236

12.4 在函数中传递指针 238

12.4.1 指针变量作函数参数 238

12.4.2 传递数组指针 241

12.4.3 传递字符指针 244

12.5 指向指针的指针 245

12.6 从函数中返回指针 247

12.7 指针数组作为main函数的参数 250

12.8 综合应用 252

12.8.1 查找成绩不及格的学生 252

12.8.2 逆序输出数组元素 253

12.9 本章常见错误 254

12.9.1 通过指针修改字符串出错 254

12.9.2 释放内存提示错误 254

12.9.3 释放空间以后,记得给指针赋空 254

12.10 本章小结 254

12.11 跟我上机 255

第13章 构造数据类型 257

13.1 结构体概述 258

13.1.1 结构体的结构 258

13.1.2 定义和引用结构体 259

13.1.3 初始化结构体 261

13.2 结构体数组 262

13.2.1 定义结构体数组 262

13.2.2 初始化结构体数组 263

13.3 结构体指针 266

13.3.1 定义结构体指针 267

13.3.2 指向结构体数组的指针 269

13.3.3 结构体作为函数参数 271

13.4 建立链表 273

13.4.1 链表的概念 273

13.4.2 建立单向链表 274

13.4.3 链表的相关操作 277

13.5 共用体 286

13.5.1 理解共用体 286

13.5.2 定义和引用共用体 287

13.6 认识枚举类型 288

13.7 typedef重命名数据类型 291

13.8 综合应用 294

13.8.1 输出火车票价 294

13.8.2 制作花束 295

13.9 本章常见错误 297

13.9.1 结构体字节对齐问题 297

13.9.2 用指针动态申请结构体内存时失败 297

13.9.3 忘记分号 298

13.10 本章小结 298

13.11 跟我上机 298

第14章 位运算 300

14.1 按位运算 301

14.1.1 按位与 301

14.1.2 按位或 303

14.1.3 取反操作 304

14.1.4 按位异或 305

14.1.5 左移运算 307

14.1.6 右移运算 308

14.2 循环移位 309

14.3 位段概述 311

14.4 综合应用 314

14.4.1 求一个数的补码 314

14.4.2 取出给定16位二进制数的奇数位 315

14.4.3 计算如下位运算 315

14.5 本章常见错误 316

14.5.1 区分&&和‖与&和| 316

14.5.2 注意位运算的数据类型 317

14.6 本章小结 317

14.7 跟我上机 317

第15章 内存管理 318

15.1 内存结构 319

15.1.1 内存组织方式 319

15.1.2 堆和栈 319

15.2 动态分配内存 322

15.2.1 申请成块的内存 322

15.2.2 重新分配内存 324

15.2.3 释放内存 325

15.3 内存泄漏 326

15.4 变量的存储类别 327

15.4.1 动态存储与静态存储 327

15.4.2 auto变量 328

15.4.3 用static修饰变量 328

15.4.4 用register修饰变量 329

15.4.5 extern变量 330

15.5 综合应用 334

15.5.1 商品信息动态存放 334

15.5.2 调用calloc函数动态分配内存 335

15.5.3 学生信息管理 336

15.6 本章常见错误 338

15.6.1 分配了一块内存空间,但没有初始化 338

15.6.2 释放内存空间后继续引用其内容 339

15.6.3 没有保存内存地址,造成此内存不可用 339

15.6.4 指针无法访问register变量 339

15.7 本章小结 340

15.8 跟我上机 340

第16章 编译预处理 342

16.1 宏定义 343

16.1.1 定义不带参数的宏 343

16.1.2 定义带参数的宏 345

16.2 #include文件包含 346

16.3 应用条件编译 349

16.3.1 使用#if命令 349

16.3.2 #ifdef和#ifndef命令 351

16.3.3 #undef命令 352

16.3.4 #line命令 353

16.3.5 #pragma命令 353

16.4 综合应用 354

16.4.1 使用带参数宏求圆面积 354

16.4.2 使用条件编译隐藏密码 355

16.5 本章常见错误 355

16.5.1 带参数的宏最好加括号 355

16.5.2 使用宏时的注意事项 356

16.5.3 文件包含的嵌套 356

16.6 本章小结 356

16.7 跟我上机 357

第17章 使用文件处理数据 358

17.1 文件概述 359

17.2 文件基本操作 359

17.2.1 文件指针 359

17.2.2 文件的打开 360

17.2.3 文件的关闭 362

17.3 文件的读写 362

17.3.1 字符形式读写文件 362

17.3.2 字符串形式读写文件 365

17.3.3 数据块形式读写文件 367

17.3.4 格式化读写函数 370

17.3.5 随机读写文件 373

17.4 综合应用 376

17.4.1 复制文件中的数据 376

17.4.2 显示奇数条学生信息 377

17.4.3 文件内容加密 379

17.5 本章常见错误 382

17.5.1 以“a”或“a+”的方式打开文件,指针却不在文件末尾 382

17.5.2 忘记调回指针,读不到内容 383

17.5.3 绝对路径要用双斜线\\ 383

17.5.4 用scanf输入时,%s格式后面不能用逗号 383

17.6 本章小结 383

17.7 跟我上机 384

第18章 制作图形图像 387

18.1 制作文本窗口 388

18.1.1 定义文本窗口 388

18.1.2 设置窗口颜色 388

18.1.3 文本的输入和输出 389

18.1.4 掌握屏幕操作函数 391

18.2 显示图形 393

18.2.1 初始化图形模式 393

18.2.2 设置屏幕颜色 396

18.2.3 基本图形函数 398

18.2.4 填充封闭图形 408

18.3 绘制图像 410

18.4 图形模式下输出文本 413

18.4.1 文本输出函数 413

18.4.2 设置文本属性 414

18.5 综合应用 415

18.5.1 填充八边形 415

18.5.2 以不同的字体输出当前时间 416

18.6 本章常见错误 417

18.6.1 头文件和返回值 417

18.6.2 TC图形库 417

18.7 本章小结 418

18.8 跟我上机 418

第3篇 实战篇 422

第19章 C语言游戏开发 422

19.1 推箱子游戏 423

19.1.1 概述 423

19.1.2 设计思路 423

19.1.3 技术要点 423

19.1.4 实现过程 424

19.2 贪吃蛇游戏 433

19.2.1 概述 433

19.2.2 设计思路 434

19.2.3 技术要点 434

19.2.4 实现过程 437

19.3 俄罗斯方块游戏 442

19.3.1 概述 442

19.3.2 设计思路 443

19.3.3 技术要点 443

19.3.4 实现过程 444

19.4 本章小结 451

第20章 窗体版图书管理系统 452

20.1 开发背景 453

20.2 需求分析 453

20.3 系统设计 453

20.3.1 数据库建模 453

20.3.2 系统功能结构 454

20.3.3 建立数据库 454

20.3.4 系统预览 456

20.4 技术指南 456

20.4.1 Win32程序的入口 456

20.4.2 WinMain函数的设计 458

20.4.3 对话框窗体的产生与销毁 458

20.4.4 消息响应函数 459

20.5 工具模块的设计 459

20.6 登录模块设计 461

20.7 客户端主界面设计 465

20.8 基本信息管理模块 470

20.9 库存管理模块 478

20.10 查询模块 485

20.11 本章小结 488