![第一行代码 C语言 视频讲解版](https://cover.qianqiantushu.cc/69/s6d568b4.jpg)
![第一行代码 C语言 视频讲解版](https://cover.qianqiantushu.cc/69/s6d568b4.jpg)
第一行代码 C语言 视频讲解版PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:翁惠玉编著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2018
- ISBN:9787115475930
- 页数:474 页
第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 将数据中的某一位的值成0 341
10.3.3 将数据中的某一位的值置成1 342
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
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《导游词创作和讲解技巧》廖广莉主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《音乐语言的根基》张艺编著 2019
- 《认知语言学视野的抽象方位结构研究》曹爽著 2019
- 《激活语言思维》李蒨,王宏年,汤青编著 2017
- 《汉语言文学本科专业核心课程研究导引教材 古代汉语》马蓝婕责任编辑;(中国)魏宜辉 2019
- 《英语教师语言意识研究》秦莉,赵春贺著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019