图书介绍

第一行代码 C语言 视频讲解版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

第一行代码 C语言 视频讲解版
  • 翁惠玉编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115475930
  • 出版时间:2018
  • 标注页数:474页
  • 文件大小:46MB
  • 文件页数:490页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

第一行代码 C语言 视频讲解版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 程序设计概述1

1.1 什么是程序设计1

1.2 计算机的基本组成2

1.2.1 计算机硬件2

1.2.2 计算机软件4

1.3 程序设计语言4

1.3.1 机器语言4

1.3.2 汇编语言5

1.3.3 高级语言6

1.3.4 智能语言7

1.3.5 C语言7

1.4 程序设计过程7

1.4.1 算法设计8

1.4.2 编码11

1.4.3 编译与链接11

1.4.4 调试与维护12

1.5 编程规范及常见问题13

1.5.1 真的需要算法设计阶段吗13

1.5.2 为什么不用自然语言编程13

1.5.3 寄存器、主存储器和外存储器有什么不同13

1.5.4 所有的计算机能够执行的指令都是相同的吗13

1.5.5 为什么需要编译和链接13

1.5.6 为什么在不同类型的计算机上运行C语言程序需要使用不同的编译器14

1.5.7 为什么不同类型的计算机不能运行同一个汇编程序14

1.6 小结14

1.7 自测题14

1.8 实战训练15

第2章 初识C语言16

2.1 一个完整的C语言程序16

2.1.1 注释17

2.1.2 预编译17

2.1.3 主程序18

2.2 C语言的开发环境20

2.2.1 VS2010的安装20

2.2.2 程序输入20

2.2.3 编译链接24

2.2.4 程序的运行25

2.2.5 程序的调试28

2.3 编程规范及常见问题30

2.3.1 注意注释30

2.3.2 良好的排版习惯30

2.3.3 为什么要学C语言31

2.3.4 如何学习程序设计31

2.3.5 什么是库31

2.4 小结32

2.5 自测题32

2.6 实战训练32

第3章 顺序程序设计33

3.1 常用与变量33

3.1.1 变量定义33

3.1.2 数据类型35

3.1.3 常量与符号常量39

3.2 数据的输入/输出44

3.2.1 字符的输入/输出44

3.2.2 格式化输入/输出46

3.3 算术运算54

3.3.1 算术表达式54

3.3.2 不同类型数据间的混合运算56

3.3.3 强制类型转换57

3.3.4 数学函数库59

3.4 赋值运算60

3.4.1 赋值表达式60

3.4.2 赋值的嵌套62

3.4.3 复合赋值运算62

3.4.4 自增和自减运算符63

3.5 信息表示64

3.5.1 数制间的转换64

3.5.2 整数的表示66

3.5.3 实数的表示69

3.6 顺序程序设计示例69

3.7 程序规范及常见问题71

3.7.1 变量命名71

3.7.2 运算符的优先级71

3.7.3 数据运算时的注意事项71

3.7.4 为什么要定义符号常量72

3.7.5 变量定义后且对它赋值前的值是什么72

3.7.6 不要在表达式中插入有副作用的子表达式72

3.8 小结72

3.9 自测题73

3.10 实战训练74

第4章 分支程序设计76

4.1 关系表达式76

4.2 逻辑表达式78

4.2.1 逻辑运算78

4.2.2 短路求值80

4.3 if语句82

4.3.1 if语句的形式82

4.3.2 if语句的嵌套87

4.3.3 条件表达式90

4.4 switch语句及其应用92

4.5 程序规范及常见问题102

4.5.1 条件语句程序的排版102

4.5.2 不要连用关系运算符102

4.5.3 注意短路求值102

4.5.4 常见错误102

4.6 小结103

4.7 自测题103

4.8 实战训练104

第5章 循环程序设计106

5.1 计数循环106

5.1.1 for语句106

5.1.2 for语句的进一步讨论115

5.1.3 for循环的嵌套116

5.2 break和continue语句118

5.2.1 break语句118

5.2.2 continue语句120

5.3 基于哨兵的循环121

5.3.1 while语句122

5.3.2 do...while循环128

5.4 循环的中途退出130

5.5 编程规范和常见问题134

5.5.1 循环语句程序的排版134

5.5.2 优化循环体134

5.5.3 使用for循环的注意事项134

5.5.4 常见错误134

5.5.5 三个循环语句之间的关系135

5.6 小结135

5.7 自测题135

5.8 实战训练136

第6章 过程封装——函数139

6.1 函数的定义140

6.1.1 函数的基本结构140

6.1.2 return语句141

6.1.3 函数示例141

6.2 函数的使用144

6.2.1 函数原型的声明144

6.2.2 函数调用146

6.2.3 将函数与主程序放在一起147

6.2.4 函数调用过程151

6.3 带参数的宏154

6.4 变量的作用域155

6.4.1 局部变量155

6.4.2 全局变量156

6.5 变量的存储类别158

6.5.1 自动变量158

6.5.2 静态变量159

6.5.3 寄存器变量160

6.5.4 外部变量161

6.6 多源文件程序的编译链接163

6.7 递归程序设计164

6.7.1 递归的基本概念165

6.7.2 递归函数的应用167

6.8 编程规范及常见问题173

6.8.1 使用函数时的建议173

6.8.2 函数命名174

6.8.3 没有返回值的函数是否需要return语句174

6.8.4 尽量避免使用全局变量174

6.8.5 尽量避免实际参数表达式有副作用175

6.8.6 常见错误175

6.9 小结175

6.10 自测题176

6.11 实战训练177

第7章 批量数据处理——数组179

7.1 一维数组179

7.1.1 一维数组的定义179

7.1.2 数组元素的引用180

7.1.3 一维数组的内存映像184

7.1.4 一维数组的应用185

7.2 数组作为函数的参数190

7.3 查找算法195

7.3.1 顺序查找196

7.3.2 二分查找197

7.4 排序算法201

7.4.1 直接选择排序法201

7.4.2 冒泡排序法203

7.5 二维数组205

7.5.1 二维数组的定义206

7.5.2 二维数组元素的引用207

7.5.3 二维数组的内存映像208

7.5.4 二维数组的应用208

7.5.5 二维数组作为函数的参数218

7.6 字符串220

7.6.1 字符串的存储及初始化220

7.6.2 字符申的输入/输出221

7.6.3 字符串作为函数参数225

7.6.4 字符串处理函数230

7.6.5 字符串的应用232

7.7 程序规范及常见问题234

7.7.1 数组下标必须从0开始吗234

7.7.2 能用表达式des=src将字符串src赋给字符串des吗234

7.7.3 为什么存放字符串的数组长度比字符串的实际长度多一个字符235

7.7.4 有了scanf函数为什么还需要gets函数235

7.7.5 传递字符串为什么只需要一个参数235

7.7.6 传递二维数组时形式参数中第二个方括号中的值为什么必须指定235

7.8 小结235

7.9 自测题236

7.10 实战训练237

第8章 指针240

8.1 指针的概念240

8.1.1 指针与间接访问240

8.1.2 指针变量的定义241

8.1.3 指针变量的操作242

8.2 指针与数组246

8.2.1 指向数组元素的指针246

8.2.2 指针运算与数组访问246

8.3 指针与函数250

8.3.1 指针作为参数250

8.3.2 返回指针的函数254

8.3.3 数组作为函数参数的进一步讨论256

8.4 动态内存分配259

8.4.1 动态变量259

8.4.2 动态变量的创建259

8.4.3 动态变量的消亡261

8.4.4 内存泄露261

8.4.5 查找malloc和calloc的失误261

8.4.6 动态变量应用263

8.5 指针与字符串265

8.5.1 用指向字符的指针变量表示字符串265

8.5.2 字符串作为函数的参数266

8.5.3 返回字符串的函数268

8.6 指针数组与多级指针270

8.6.1 指针数组270

8.6.2 main函数的参数272

8.6.3 多级指针276

8.6.4 二维数组与指向一维数组的指针277

8.6.5 动态二维数组279

8.7 函数指针280

8.7.1 指向函数的指针280

8.7.2 函数指针作为函数参数281

8.7.3 函数指针用于菜单选择284

8.8 编程规范与常见问题285

8.8.1 int x, * p=&x;有错吗285

8.8.2 避免使用悬空指针和未初始化的指针286

8.8.3 不同类型的指针之间为什么不能赋值286

8.8.4 指针与数组等价吗286

8.8.5 值传递和指针传递的区别是什么286

8.8.6 返回指针的函数必须确保返回值指向的变量在函数执行结束时依然存在287

8.8.7 使用动态变量时必须严格防止内存泄露287

8.9 小结287

8.10 自测题288

8.11 实战训练289

第9章 更多的数据类型290

9.1 枚举类型290

9.2 类型别名293

9.3 结构体294

9.3.1 结构体的概念294

9.3.2 结构体类型的定义295

9.3.3 结构体类型变量的定义296

9.3.4 结构体类型变量的使用299

9.3.5 结构体与函数302

9.4 链表308

9.4.1 链表的概念308

9.4.2 单链表的存储310

9.4.3 单链表的操作311

9.4.4 带头结点的单链表312

9.4.5 单链表实例313

9.5 共用体316

9.5.1 共用体概念和共用体类型的定义316

9.5.2 共用体类型变量的定义及初始化318

9.5.3 共用体变量的使用318

9.6 编程规范及常见问题324

9.6.1 结构体中每个字段的类型都不相同吗324

9.6.2 单链表中为什么要引入头结点324

9.6.3 引入结构体有什么用处324

9.6.4 结构体和共用体的区别324

9.6.5 结构体和共用体类型定义时能否省略类型名324

9.6.6 结构体类型定义与结构体变量定义325

9.7 小结325

9.8 自测题325

9.9 实战训练326

第10章 位运算与位段328

10.1 位运算328

10.1.1 “按位与”运算328

10.1.2 “按位或”运算330

10.1.3 “按位异或”运算331

10.1.4 “按位取反”运算333

10.1.5 “左移”运算335

10.1.6 “右移”运算335

10.1.7 位运算与赋值运算337

10.1.8 不同长度的数据进行位运算337

10.2 位段338

10.2.1 位段的概念及定义338

10.2.2 位段的引用339

10.3 编程规范及常见问题341

10.3.1 检验某数中指定位的值341

10.3.2 将数据中的某一位的值成0341

10.3.3 将数据中的某一位的值置成1342

10.3.4 将数据中的某一位的值 取反342

10.4 小结342

10.5 自测题342

10.6 实战训练343

第11章 文件344

11.1 内存与外存344

11.2 文件的概念345

11.2.1 什么是文件345

11.2.2 ASCII文件与二进制文件346

11.3 文件缓冲与文件指针346

11.4 文件的打开与关闭347

11.4.1 打开文件347

11.4.2 关闭文件349

11.5 ASCII文件的读写349

11.5.1 字符读写函数350

11.5.2 字符串读写函数352

11.5.3 数值读写函数354

11.6 二进制文件的读写358

11.6.1 fwrite函数358

11.6.2 fread函数360

11.7 文件的顺序访问362

11.7.1 什么是文件的顺序访问362

11.7.2 feof函数363

11.8 文件的随机访问364

11.8.1 文件定位指针365

11.8.2 rewind函数365

11.8.3 fseek函数367

11.8.4 ftell函数369

11.9 文件操作与控制台操作370

11.10 编程规范及常见问题371

11.10.1 良好的文件使用习惯371

11.10.2 文件打开方式选择372

11.10.3 文件指针与文件定位指针372

11.10.4 流与文件372

11.11 小结372

11.12 自测题373

11.13 实战训练373

第12章 软件开发过程374

12.1 结构化程序设计思想374

12.2 自顶向下分解示例:“猜硬币”游戏375

12.2.1 顶层分解375

12.2.2 prn_instruction函数的实现376

12.2.3 play 函数的实现376

12.2.4 get_call_from_user函数的实现378

12.3 模块划分示例:“石头、剪刀、布”游戏380

12.3.1 自顶向下分解381

12.3.2 模块划分382

12.3.3 头文件的设计383

12.3.4 模块实现386

12.4 设计自己的库示例:随机函数库的设计和实现389

12.4.1 随机函数库的功能设计390

12.4.2 接口文件的设计390

12.4.3 实现文件的设计391

12.5 随机函数库的应用示例:模拟龟兔赛跑392

12.5.1 自顶向下分解392

12.5.2 模块划分及实现393

12.6 软件开发过程395

12.6.1 软件危机395

12.6.2 软件工程396

12.7 软件开发过程示例:学生管理系统的设计与实现397

12.7.1 需求分析397

12.7.2 概要设计398

12.7.3 详细设计400

12.7.4 编码与测试402

12.8 软件开发示例:网上书店的设计407

12.8.1 需求分析407

12.8.2 概要设计408

12.8.3 详细设计411

12.9 编程规范及常见问题413

12.9.1 头文件的格式413

12.9.2 实现一个库为什么需要两个文件413

12.9.3 慎用全局变量414

12.10 小结414

12.11 自测题414

12.12 实战训练414

第13章 通用算法设计416

13.1 枚举法416

13.2 贪婪法423

13.3 分治法427

13.4 动态规划431

13.5 回溯法435

13.6 小结442

13.7 实战训练442

附录443

附录1第1章 自测题答案443

附录2第2章 自测题答案445

附录3第3章 自测题答案446

附录4第4章 自测题答案451

附录5第5章 自测题答案453

附录6第6章 自测题答案455

附录7第7章 自测题答案459

附录8第8章 自测题答案463

附录9第9章 自测题答案466

附录10第10章 自测题答案467

附录11第11章 自测题答案470

附录12第12章 自测题答案472

附录13 ASCII编码表474

热门推荐