《C语言从入门到精通 教学光盘(新手学C语言编程首选)》C语言从入门到精通 教学光盘(新手学C语言编程首选)【技能收获】学完可掌握:C/C++ 网络编程、Vue / 前端工程化。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著
这不是一套讲“现代 C 语言工程实践”的课,它的定位非常清楚——面向零基础、要参加软考或校内程序设计考试、需要一套能反复回看的语法底座。教学光盘这个形态本身就说明了问题:内容按章节切分、节奏稳、例子短小,适合一块一块啃,而不是从头追到尾。如果你已经会写结构体和指针,这套资料对你价值有限;但如果你连scanf和printf的格式串都还没搞明白,它的讲解密度反而比市面上很多“边做项目边学语法”的课更友好。
需要提前说清一点:摘要里提到的“C/C++ 网络编程、Vue 前端工程化”跟这套 C 语言教学光盘的实际主题并不吻合,看的时候别被这类标签带偏,按 C 语言本身的章节来判断取舍。
把目录过一遍,值得精看的其实集中在三块:
而像数据类型、运算符优先级、循环分支这些章节,属于快速过一遍留个印象即可,遇到具体问题再回来查,不必逐节做笔记。
教学光盘类资料最大的坑是“视频看完就忘”。建议按两层拆:第一层是视频,按章节顺序推进,每看完一个语法点立刻在编译器里默写一遍,不看书、不看视频;第二层是配套的章节笔记和示例代码,把它当查漏工具而不是复习材料——视频里没听懂的地方,回到笔记里找对应的解释,比再刷一遍视频效率高得多。
另外,光盘里通常会有一些示例源码和课后题。源码别只是复制运行,改几个变量、故意制造一个越界或空指针,看程序怎么崩、编译器怎么报错,这个“制造错误”的过程比顺着敲一遍收获大得多。
零基础的话,按目录顺序走,但把重心压在指针之后的章节,前面的语法章节尽量压缩时间。有其它语言基础(比如写过 Python 或 Java)的人,可以跳过变量、循环这些,直接从函数和指针切入,把精力集中在 C 特有的内存模型上,效率会高很多。
最后提醒一句:这套资料能帮你把 C 语言语法打扎实,应付软考里的程序设计题和校内考试足够,但它不会带你做工程级的项目。学完之后如果想继续往上走,需要自己另找数据结构和系统编程方向的内容补上,别指望一张教学光盘解决全部问题。
C语言从入门到精通 教学光盘(新手学C语言编程首选)
课程推荐
《C语言从入门到精通 教学光盘(新手学C语言编程首选)》C语言从入门到精通 教学光盘(新手学C语言编程首选)【技能收获】学完可掌握:C/C++ 网络编程、Vue / 前端工程化。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。
视频目录(470 节)
* 1.1 了解C语言 3
* 1.1.1 C的历史 3
* 1.1.2 C的特点 4
* 1.1.3 为什么要用C 5
* 1.2 C编程前的准备——C常用开发环境 5
* 1.2.1 认识Visual C++ 6.0 6
* 1.2.2 认识Turbo C 2.0 7
* 1.3 开始C编程——第1个C程序 8
* 1.3.1 程序编写及运行流程 8
* 1.3.2 在Visual C++ 6.0中开发C程序 9
* 1.3.3 在Turbo C中开发C程序 11
* 1.4 C程序的组成 13
* 1.4.1 完整的C程序 13
* 1.4.2 #include的秘密 14
* 1.4.3 程序的入口——main函数 14
* 1.4.4 数据集装箱——常量和变量 15
* 1.4.5 何以输出程序结果——输出函数 16
* 1.4.6 注释 16
* 1.4.7 代码的规矩 17
* 1.5 练一练 18
* 1.6 跟我上机 19
* 2.1 标识符和关键字 21
* 2.1.1 标识符 21
* 2.1.2 关键字 21
* 2.2 常量 22
* 2.2.1 什么是常量 22
* 2.2.2 数值常量 23
* 2.2.3 字符常量 24
* 2.2.4 字符串常量 25
* 2.2.5 符号常量 26
* 2.3 变量 27
* 2.3.1 什么是变量 27
* 2.3.2 变量的声明 29
* 2.3.3 变量的定义 30
* 2.3.4 变量的赋值和初始化 31
* 2.4 综合应用——计算学生平均成绩 32
* 2.5 练一练 35
* 2.6 跟我上机 36
* 3.1 计算机如何识数——数制 38
* 3.1.1 二进制 38
* 3.1.2 八进制 39
* 3.1.3 十六进制 39
* 3.1.4 数制间的转换 40
* 3.2 整型 41
* 3.3 字符型 43
* 3.4 浮点型 45
* 3.5 类型转换 47
* 3.5.1 隐式转换 48
* 3.5.2 显式转换 49
* 3.6 综合应用——类型转换 50
* 3.7 练一练 51
* 3.8 跟我上机 52
* 4.1 C中的运算符和表达式 54
* 4.1.1 运算符 54
* 4.1.2 表达式 55
* 4.1.3 优先级与结合性 55
* 4.2 算术运算符和表达式 55
* 4.2.1 算术运算符 55
* 4.2.2 算术表达式 56
* 4.2.3 算术运算符的优先级和结合性 56
* 4.2.4 应用举例 57
* 4.3 关系运算符和表达式 59
* 4.3.1 关系运算符 59
* 4.3.2 关系表达式 59
* 4.3.3 关系运算符的优先级和结合性 60
* 4.3.4 应用举例 60
* 4.4 逻辑运算符和表达式 61
* 4.4.1 逻辑运算符 61
* 4.4.2 逻辑表达式 61
* 4.4.3 逻辑运算符的优先级和结合性 62
* 4.4.4 应用举例 62
* 4.5 条件运算符和表达式 64
* 4.6 赋值运算符和表达式 65
* 4.6.1 赋值运算符 65
* 4.6.2 赋值表达式 66
* 4.6.3 赋值运算符的优先级与结合性 67
* 4.6.4 应用举例 67
* 4.7 自增、自减运算符 69
* 4.8 逗号运算符和表达式 70
* 4.9 运算符的优先级 71
* 4.10 综合应用——计算函数的结果 72
* 4.11 练一练 73
* 4.12 跟我上机 74
* 5.1 程序流程概述 76
* 5.2 语句 76
* 5.2.1 基本赋值语句 76
* 5.2.2 表达式语句 77
* 5.2.3 基本输入/输出语句 77
* 5.2.4 控制语句 80
* 5.2.5 空语句和复合语句 80
* 5.3 顺序结构与语句 81
* 5.4 选择结构与语句 82
* 5.4.1 选择结构 83
* 5.4.2 单分支选择结构——if语句 83
* 5.4.3 双分支选择结构——if-else语句 85
* 5.4.4 多分支选择结构——if-else的嵌套形式 87
* 5.4.5 多分支选择结构——switch语句 91
* 5.5 循环结构与语句 94
* 5.5.1 循环结构 94
* 5.5.2 当型循环语句——for语句 95
* 5.5.3 当型循环语句——while语句 100
* 5.5.4 直到型循环语句——do-while语句 102
* 5.5.5 循环的嵌套 104
* 5.6 转向语句 108
* 5.6.1 goto语句 108
* 5.6.2 break语句 110
* 5.6.3 continue语句 112
* 5.7 综合应用——简单计算器 114
* 5.8 练一练 116
* 5.9 跟我上机 117
* 6.1 标准输入输出 119
* 6.2 格式化输入输出 119
* 6.2.1 格式化输出函数——printf() 120
* 6.2.2 格式控制字符 121
* 6.2.3 格式化输入函数——scanf() 126
* 6.3 字符输入输出 128
* 6.3.1 字符输出函数——putchar() 129
* 6.3.2 字符输入函数——getchar() 130
* 6.4 字符串输入输出 131
* 6.4.1 字符串输出函数——puts() 131
* 6.4.2 字符串输入函数——gets() 131
* 6.5 练一练 132
* 6.6 跟我上机 133
* 7.1 数组概述 135
* 7.2 一维数组 135
* 7.2.1 一维数组的定义 135
* 7.2.2 一维数组的初始化 138
* 7.2.3 一维数组元素的操作 139
* 7.2.4 数组作为参数传递 142
* 7.2.5 一维数组的应用举例 145
* 7.3 二维数组 147
* 7.3.1 二维数组的定义 147
* 7.3.2 二维数组的初始化 148
* 7.3.3 二维数组元素的操作 149
* 7.3.4 二维数组的应用举例 149
* 7.4 多维数组 151
* 7.5 字符串 152
* 7.5.1 字符串和字符数组 153
* 7.5.2 字符串的输入输出 154
* 7.5.3 字符串应用举例 155
* 7.6 综合应用——杨辉三角 157
* 7.7 练一练 159
* 7.8 跟我上机 159
* 8.1 算法基础 161
* 8.1.1 算法的概念 161
* 8.1.2 算法的特性 162
* 8.1.3 简单算法举例——解方程 162
* 8.2 流程图的基础 164
* 8.2.1 流程图中的元素及含义 165
* 8.2.2 流程图的绘制 166
* 8.3 如何表示一个算法 168
* 8.3.1 用自然语言表示算法 168
* 8.3.2 用流程图表示算法 170
* 8.3.3 用传统流程图表示3种基本结构 173
* 8.3.4 用N-S图表示算法 174
* 8.3.5 用伪代码表示算法 177
* 8.3.6 用计算机语言表示算法 177
* 8.4 结构化程序设计方法 178
* 8.5 综合应用——求一元二次方程的根 179
* 8.6 练一练 182
* 8.7 跟我上机 182
* 9.1 函数的概述 185
* 9.1.1 什么是函数 185
* 9.1.2 函数的分类 186
* 9.2 函数的定义 187
* 9.3 函数的返回值及类型 190
* 9.3.1 函数的返回值 190
* 9.3.2 函数的类型 192
* 9.4 函数的参数及传递方式 195
* 9.4.1 函数的参数 195
* 9.4.2 函数参数的传递方式 196
* 9.5 函数的调用 198
* 9.5.1 函数调用方式 199
* 9.5.2 函数的声明 201
* 9.5.3 函数的嵌套调用 202
* 9.5.4 函数的递归调用 204
* 9.6 内部函数和外部函数 209
* 9.6.1 内部函数 209
* 9.6.2 外部函数 210
* 9.7 Main函数 212
* 9.8 综合应用——用截弦法求方程的根 213
* 9.9 练一练 215
* 9.10 跟我上机 216
* 10.1 局部变量与全局变量 218
* 10.1.1 局部变量 218
* 10.1.2 全局变量 220
* 10.2 变量的存储类别 223
* 10.2.1 自动类型(auto) 223
* 10.2.2 寄存器类型(register) 224
* 10.2.3 静态类型(static) 225
* 10.2.4 外部类型(extern) 227
* 10.3 综合应用——计算该日是该年的第几天 229
* 10.4 练一练 230
* 10.5 跟我上机 231
* 11.1 指针概述 233
* 11.1.1 内存地址 233
* 11.1.2 内存和指针 234
* 11.2 指针变量 235
* 11.2.1 初识指针变量 235
* 11.2.2 使用指针变量 238
* 11.2.3 指针的运算 243
* 11.3 指针与函数 245
* 11.3.1 指向函数的指针 245
* 11.3.2 返回指针的函数 246
* 11.4 void指针类型 248
* 11.5 综合应用——创建简单链表 249
* 11.6 练一练 251
* 11.7 跟我上机 252
* 12.1 指针与数组 254
* 12.1.1 指针与数组 254
* 12.1.2 数组名作为指针 256
* 12.1.3 指针与多维数组 259
* 12.1.4 指针与数组参数 262
* 12.2 指针与字符串 264
* 12.2.1 使用指针创建字符串 264
* 12.2.2 使用指针处理字符串 265
* 12.2.3 指针的指针 269
* 12.2.4 指针数组和数组指针 270
* 12.3 综合应用——报数游戏 271
* 12.4 练一练 272
* 12.5 跟我上机 274
* 13.1 文件概述 276
* 13.1.1 文件类型 276
* 13.1.2 C如何操作文件——文件指针 276
* 13.1.3 文件缓冲区 277
* 13.2 文件的打开和关闭 277
* 13.2.1 文件的打开——fopen()函数 277
* 13.2.2 文件的关闭——fclose()函数 279
* 13.2.3 文件结束检测——feof()函数 279
* 13.3 文件的顺序读写 280
* 13.3.1 文本文件中字符的输入/输出 280
* 13.3.2 文本文件中字符串的输入/输出 283
* 13.3.3 格式化输入/输出 285
* 13.3.4 二进制文件的输入输出——数据块读写 287
* 13.4 文件的随机读写 289
* 13.5 综合应用——文件操作 290
* 13.6 练一练 292
* 13.7 跟我上机 293
* 14.1 什么是预处理指令 295
* 14.2 宏定义 295
* 14.2.1 变量式宏定义 296
* 14.2.2 宏定义嵌套 301
* 14.2.3 宏定义范围 302
* 14.2.4 函数式宏定义 303
* 14.2.5 多行宏定义 307
* 14.3 文件包含 308
* 14.3.1 什么是文件包含 308
* 14.3.2 使用文件包含 308
* 14.3.3 文件包含说明 310
* 14.4 条件编译 311
* 14.4.1 条件编译形式 311
* 14.4.2 调试中使用条件编译 315
* 14.4.3 文件嵌套包含和条件编译 316
* 14.5 assert()宏 316
* 14.6 综合应用——编译与预处理指令 317
* 14.7 练一练 319
* 14.8 跟我上机 320
* 15.1 标准C库函数 322
* 15.2 数学函数 322
* 15.2.1 绝对值函数 322
* 15.2.2 幂函数和开平方函数 323
* 15.2.3 指数函数和对数函数 324
* 15.2.4 三角函数 324
* 15.2.5 取整函数和取余函数 325
* 15.3 字符串处理函数 326
* 15.3.1 字符串长度函数 326
* 15.3.2 字符串连接函数 327
* 15.3.3 字符串复制函数 328
* 15.3.4 字符串比较函数 329
* 15.3.5 字符串查找函数 330
* 15.3.6 字符串填充函数 331
* 15.4 字符处理函数 332
* 15.4.1 字符类型判断函数 332
* 15.4.2 字符大小写转换函数 334
* 15.5 转换和存储管理函数 334
* 15.5.1 转换函数 334
* 15.5.2 存储管理函数 335
* 15.6 随机函数 337
* 15.6.1 初识随机函数 337
* 15.6.2 使用随机函数 338
* 15.7 日期和时间处理函数 339
* 15.8 诊断函数 341
* 15.9 命令行参数 342
* 15.10 其他函数 343
* 15.10.1 exit()函数 343
* 15.10.2 qsort()函数 344
* 15.11 综合应用——猜数字游戏 346
* 15.12 练一练 348
* 15.13 跟我上机 349
* 16.1 二进制数 351
* 16.1.1 二进制 351
* 16.1.2 无符号数和有符号数 351
* 16.2 位运算符 352
* 16.2.1 按位与运算符 352
* 16.2.2 按位或运算符 353
* 16.2.3 按位异或运算符 353
* 16.2.4 按位取反运算符 354
* 16.2.5 左移运算符 354
* 16.2.6 右移运算符 355
* 16.2.7 位运算赋值运算符 356
* 16.2.8 位运算应用 357
* 16.3 位域 360
* 16.4 综合应用——数制转换 361
* 16.5 练一练 362
* 16.6 跟我上机 363
* 17.1 结构体 365
* 17.1.1 结构体类型 365
* 17.1.2 定义结构体变量 366
* 17.1.3 初始化结构体变量 368
* 17.1.4 结构体变量的引用 368
* 17.2 结构体数组 370
* 17.2.1 定义结构体数组 370
* 17.2.2 初始化结构体数组 372
* 17.2.3 结构体数组元素的引用 373
* 17.3 结构体指针 374
* 17.3.1 定义结构体指针 374
* 17.3.2 初始化结构体指针 375
* 17.3.3 使用指针访问成员 375
* 17.3.4 指向结构体数组的指针 377
* 17.4 结构体与函数 378
* 17.4.1 结构体作为函数的参数 378
* 17.4.2 结构体作为函数的返回值 381
* 17.5 联合体 382
* 17.5.1 联合体类型 382
* 17.5.2 联合体变量的定义 383
* 17.5.3 联合体变量的初始化 384
* 17.5.4 联合体变量的引用 386
* 17.6 结构体和联合体的区别与联系 388
* 17.7 综合应用——计算学生成绩 388
* 17.8 练一练 390
* 17.9 跟我上机 391
* 18.1 数据结构概述 393
* 18.2 线性表 394
* 18.2.1 顺序表 394
* 18.2.2 单链表 398
* 18.3 栈 405
* 18.3.1 栈的基本运算 405
* 18.3.2 顺序栈的类型定义 406
* 18.3.3 链式栈的类型定义 406
* 18.4 队列 407
* 18.4.1 队列的基本运算 407
* 18.4.2 顺序队列类型定义 408
* 18.4.3 链队列类型定义 408
* 18.5 二叉树 408
* 18.6 查找 409
* 18.6.1 顺序查找 410
* 18.6.2 折半查找 412
* 18.7 排序 414
* 18.7.1 冒泡排序法 414
* 18.7.2 选择排序法 416
* 18.7.3 插入排序法 417
* 18.8 综合应用——反转链表 419
* 18.9 练一练 421
* 18.10 跟我上机 422
* 19.1 问题描述 425
* 19.2 问题分析及实现 425
* 19.2.1 问题分析 425
* 19.2.2 问题实现 425
* 19.2.3 程序运行 427
* 19.3 开发过程常见问题及解决 428
* 20.1 问题描述 430
* 20.2 问题分析及实现 430
* 20.2.1 问题分析 430
* 20.2.2 问题实现 430
* 20.2.3 程序运行 432
* 20.3 开发过程常见问题及解决 432
* 21.1 问题描述 434
* 21.2 问题分析及实现 434
* 21.2.1 问题分析 434
* 21.2.2 问题实现 434
* 21.2.3 程序运行 438
* 21.3 开发过程常见问题及解决 438
* 22.1 问题描述 440
* 22.2 问题分析及实现 440
* 22.2.1 问题分析 440
* 22.2.2 问题实现 440
* 22.2.3 程序运行 442
* 22.3 开发过程常见问题及解决 443
* 23.1 问题描述 445
* 23.2 问题分析及实现 445
* 23.2.1 问题分析 445
* 23.2.2 问题实现 445
* 23.2.3 程序运行 448
* 23.3 开发过程常见问题及解决 448
* 24.1 问题描述 450
* 24.2 问题分析及实现 450
* 24.2.1 问题分析 450
* 24.2.2 问题实现 450
* 24.2.3 程序运行 452
* 24.3 开发过程常见问题及解决 453
* 25.1 问题描述 455
* 25.2 问题分析及实现 455
* 25.2.1 问题分析 455
* 25.2.2 问题实现 455
* 25.2.3 程序运行 457
* 25.3 开发过程常见问题及解决 458
* 26.1 问题描述 460
* 26.2 问题分析及实现 460
* 26.2.1 问题分析 460
* 26.2.2 问题实现 460
* 26.2.3 程序运行 464
* 26.3 开发过程常见问题及解决 464
* 27.1 问题描述 466
* 27.2 问题分析及实现 466
* 27.2.1 问题分析 466
* 27.2.2 问题实现 466
* 27.2.3 程序运行 468
* 27.3 开发过程常见问题及解决 468
* 28.1 问题描述 470
* 28.2 问题分析及实现 470
* 28.2.1 问题分析 470
* 28.2.2 问题实现 470
* 28.2.3 程序运行 472
* 28.3 开发过程常见问题及解决 472
* 29.1 项目开发流程 475
* 29.1.1 策划阶段 475
* 29.1.2 需求分析阶段 476
* 29.1.3 开发阶段 476
* 29.1.4 编码阶段 476
* 29.1.5 系统测试阶段 477
* 29.1.6 系统验收阶段 477
* 29.1.7 系统维护阶段 477
* 29.2 项目开发团队 477
* 29.2.1 项目团队组成 477
* 29.2.2 项目团队要求 478
* 29.3 项目的实际运作 478
* 29.4 项目规划常见问题及解决 479
* 29.4.1 如何满足客户需求 479
* 29.4.2 如何控制项目进度 479
* 29.4.3 如何控制项目预算 479
* 30.1 开发背景 481
* 30.2 需求及功能分析 481
* 30.2.1 总体功能分析 481
* 30.2.2 功能模块分析 482
* 30.3 系统功能的实现 482
* 30.3.1 系统选择菜单的实现 482
* 30.3.2 增加联系人功能的实现 483
* 30.3.3 删除联系人功能的实现 484
* 30.3.4 查找联系人模块的实现 485
* 30.3.5 插入联系人模块的实现 486
* 30.3.6 保存联系人文件模块的实现 486
* 30.3.7 从文件加载联系人信息模块的实现 487
* 30.3.8 显示所有联系人信息模块的实现 488
* 30.4 系统运行 488
* 30.5 开发过程常见问题及解决 489
* 31.1 开发背景 491
* 31.2 需求及功能分析 491
* 31.2.1 总体功能分析 491
* 31.2.2 各模块功能分析 491
* 31.3 系统功能的实现 492
* 31.3.1 建立相关类及属性 492
* 31.3.2 系统选择菜单的实现 493
* 31.3.3 借书功能的实现 495
* 31.3.4 还书功能的实现 496
* 31.3.5 图书上架功能的实现 498
* 31.3.6 图书下架功能的实现 500
* 31.4 系统运行 502
* 31.5 开发过程常见问题及解决 503
* 32.1 简易网络通信系统 505
* 32.1.1 系统分析 505
* 32.1.2 功能分析及实现 505
* 32.1.3 开发常见问题及解决 509
* 32.2 学生成绩管理系统 509
* 32.2.1 系统分析 509
* 32.2.2 功能分析及实现 510
* 32.2.3 开发常见问题及解决 519
* 32.3 酒店管理系统 519
* 32.3.1 系统分析 520
* 32.3.2 功能分析及实现 520
* 32.3.3 开发常见问题及解决 526