CC语言通关
课程首页
Textbook ↔ Website

教材 ↔ 网站
双向对照

左边查网页、右边翻课本:每个小节都标了教材页码;反过来输入书页,也能找到网站上的位置。
教材里有、网站没展开的内容,全部列在最后,不藏。

📖 按书页查网站输入教材页码(如 74),看这一页对应哪一课哪一节
全书 p.1–371
Full map

全书逐节对照

共 186 个编号小节。点「网站位置」直接跳到对应小节。

章节号标题书页网站位置状态
第1章 程序设计和C语言 p.1–14
第1章1.1什么是计算机程序p.1第01课 · 二、什么是程序(📖 要背)精讲
第1章1.2什么是计算机语言p.1–2第01课 · 三、什么是计算机语言(📖 要背)精讲
第1章1.3C语言的发展及其特点p.3–4第01课 · 四、C 语言的特点(📖 要背)精讲
第1章1.4最简单的C语言程序p.5–10第01课 · 五、你的第一个 C 程序(⌨️ 要写代码)精讲
第1章1.4.1最简单的C语言程序举例p.5–8第01课 · 七、让程序会"打印数字"(⌨️ 要写代码,体现一个知识点)精讲
第1章1.4.2C语言程序的结构p.9–10第01课 · 4. C 程序的结构(4 条)精讲
第1章1.5运行C程序的步骤与方法p.11–12第01课 · 九、运行 C 程序的步骤与方法(教材 1.5,p11–12)📖精讲
第1章1.6程序设计的任务p.13第01课 · 十、程序设计的任务(教材 1.6,p13–14)📖精讲
第2章 算法——程序的灵魂 p.15–36
第2章2.1程序=算法+数据结构p.15第02课 · 1. 程序的组成公式(2.1)精讲
第2章2.2什么是算法p.16第02课 · 2. 什么是算法(2.2)精讲
第2章2.3简单的算法举例p.17–19第02课 · 五、把算法变成程序:5! 的完整旅程(⌨️ 本课唯一的代码)精讲
第2章2.4算法的特性p.20第02课 · 3. 算法的 5 个特性(2.4)精讲
第2章2.5怎样表示一个算法p.21–32第02课 · 4. 表示算法的常用方法(2.5)精讲
第2章2.5.1用自然语言表示算法p.21第02课 · 4. 表示算法的常用方法(2.5)精讲(并入 2.5)
第2章2.5.2用流程图表示算法p.21–24第02课 · 5. 流程图常用符号(2.5.2)精讲
第2章2.5.3三种基本结构和改进的流程图p.25–27第02课 · 6. 三种基本结构和共同特点(2.5.3)精讲
第2章2.5.4用N-S流程图表示算法p.28–30第02课 · 7. 结构化算法(2.5.4 末)精讲
第2章2.5.5用伪代码表示算法p.31第02课 · 9. 伪代码(2.5.5)精讲
第2章2.5.6用计算机语言表示算法p.32第02课 · 11. 设计与实现的关系(2.5.6)精讲
第2章2.6结构化程序设计方法p.33–34第02课 · 10. 结构化程序设计方法(2.6)精讲
第3章 最简单的C程序设计——顺序程序设计 p.37–82
第3章3.1顺序程序设计举例p.37–38第03课 · 3.1 顺序程序设计举例精讲
第3章3.2数据的表现形式及其运算p.39–50第03课 · 3.2 数据的表现形式及其运算精讲
第3章3.2.1常量和变量p.39–41第03课 · 3.2.1 常量和变量精讲
第3章3.2.2数据类型p.42–43第03课 · 3.2.2 数据类型精讲
第3章3.2.3整型数据p.44–46第03课 · 3.2.3 整型数据精讲
第3章3.2.4字符型数据p.47–48第03课 · 3.2.4 字符型数据精讲
第3章3.2.5浮点型数据p.49第03课 · 3.2.5 浮点型数据精讲
第3章3.2.6怎样确定常量的类型p.50第03课 · 3.2.6 怎样确定常量的类型精讲
第3章3.3运算符和表达式p.51–55第03课 · 3.3 运算符和表达式精讲
第3章3.3.1C运算符p.52第03课 · 3.3.1 C 运算符精讲
第3章3.3.2基本的算术运算符p.52第03课 · 3.3.2 基本的算术运算符精讲
第3章3.3.3自增(++)、自减(--)运算符p.53第03课 · 3.3.3 自增、自减运算符精讲
第3章3.3.4算术表达式和运算符的优先级与结合性p.53第03课 · 3.3.4 算术表达式和运算符的优先级与结合性精讲
第3章3.3.5不同类型数据间的混合运算p.54第03课 · 3.3.5 不同类型数据间的混合运算精讲
第3章3.3.6强制类型转换运算符p.55第03课 · 3.3.6 强制类型转换运算符精讲
第3章3.4C语句p.56–63第03课 · 3.4 C 语句精讲
第3章3.4.1C语句的作用和分类p.56–57第03课 · 3.4.1 C 语句的作用和分类精讲
第3章3.4.2最基本的语句——赋值语句p.58–63第03课 · 3.4.2 最基本的语句——赋值语句精讲
第3章3.5数据的输入输出p.64–79第03课 · 3.5 数据的输入输出精讲
第3章3.5.1输入输出举例p.64第03课 · 3.5.1 输入输出举例精讲
第3章3.5.2有关数据输入输出的概念p.65–66第03课 · 3.5.2 有关数据输入输出的概念精讲
第3章3.5.3用printf函数输出数据p.67–73第03课 · 3.5.3 用 printf 函数输出数据精讲
第3章3.5.4用scanf函数输入数据p.74–75第03课 · 3.5.4 用 scanf 函数输入数据精讲
第3章3.5.5字符输入输出函数p.76–79第03课 · 3.5.5 字符输入输出函数精讲
第4章 选择结构程序设计 p.83–109
第4章4.1选择结构和条件判断p.83–84第04课 · 4.1 选择结构和条件判断精讲
第4章4.2用if语句实现选择结构p.85–88第04课 · 4.2 用 if 语句实现选择结构精讲
第4章4.2.1用if语句处理选择结构举例p.85–86第04课 · 4.2.1 用 if 语句处理选择结构举例精讲
第4章4.2.2if语句的一般形式p.87–88第04课 · 4.2.2 if 语句的一般形式精讲
第4章4.3关系运算符和关系表达式p.89第04课 · 4.3 关系运算符和关系表达式精讲
第4章4.3.1关系运算符及其优先次序p.90第04课 · 4.3.1 关系运算符及其优先次序精讲
第4章4.3.2关系表达式p.90第04课 · 4.3.2 关系表达式精讲
第4章4.4逻辑运算符和逻辑表达式p.90–93第04课 · 4.4 逻辑运算符和逻辑表达式精讲
第4章4.4.1逻辑运算符及其优先次序p.91第04课 · 4.4.1 逻辑运算符及其优先次序精讲
第4章4.4.2逻辑表达式p.92–93第04课 · 4.4.2 逻辑表达式精讲
第4章4.5条件运算符和条件表达式p.94–95第04课 · 4.5 条件运算符和条件表达式精讲
第4章4.6选择结构的嵌套p.96–98第04课 · 4.6 选择结构的嵌套精讲
第4章4.7用switch语句实现多分支选择结构p.99–101第04课 · 4.7 用 switch 语句实现多分支选择结构精讲
第4章4.8选择结构程序综合举例p.102–106第04课 · 4.8 选择结构程序综合举例精讲
第5章 循环结构程序设计 p.110–138
第5章5.1为什么需要循环控制p.110第05课 · 2.1(教材 5.1)为什么需要循环控制精讲
第5章5.2用while语句实现循环p.111–112第05课 · 2.2(教材 5.2)用 while 语句实现循环精讲
第5章5.3用do…while语句实现循环p.113–115第05课 · 2.3(教材 5.3)用 do…while 语句实现循环精讲
第5章5.4用for语句实现循环p.116–119第05课 · 2.4(教材 5.4)用 for 语句实现循环精讲
第5章5.5循环的嵌套p.120第05课 · 2.5(教材 5.5)循环的嵌套精讲
第5章5.6几种循环的比较p.121第05课 · 2.6(教材 5.6)几种循环的比较精讲
第5章5.7改变循环执行的状态p.121–126第05课 · 2.7(教材 5.7)改变循环执行的状态精讲
第5章5.7.1用break语句提前终止循环p.122第05课 · 2.7.1 用 break 语句提前终止循环精讲
第5章5.7.2用continue语句提前结束本次循环p.123第05课 · 2.7.2 用 continue 语句提前结束本次循环精讲
第5章5.7.3break语句和continue语句的区别p.124–126第05课 · 2.7.3 break 语句和 continue 语句的区别精讲
第5章5.8循环程序举例p.127–136第05课 · 2.8(教材 5.8)循环程序举例精讲
第6章 利用数组处理批量数据 p.139–166
第6章6.1怎样定义和引用一维数组p.139–144第06课 · 6.1 怎样定义和引用一维数组精讲
第6章6.1.1怎样定义一维数组p.140第06课 · 6.1.1 怎样定义一维数组精讲
第6章6.1.2怎样引用一维数组元素p.140–141第06课 · 6.1.2 怎样引用一维数组元素精讲
第6章6.1.3一维数组的初始化p.142第06课 · 6.1.3 一维数组的初始化精讲
第6章6.1.4一维数组程序举例p.142–144第06课 · 6.1.4 一维数组程序举例精讲
第6章6.2怎样定义和引用二维数组p.145–150第06课 · 6.2 怎样定义和引用二维数组精讲
第6章6.2.1怎样定义二维数组p.146第06课 · 6.2.1 怎样定义二维数组精讲
第6章6.2.2怎样引用二维数组的元素p.147第06课 · 6.2.2 怎样引用二维数组的元素精讲
第6章6.2.3二维数组的初始化p.148第06课 · 6.2.3 二维数组的初始化精讲
第6章6.2.4二维数组程序举例p.149–150第06课 · 6.2.4 二维数组程序举例精讲
第6章6.3字符数组p.151–164第06课 · 6.3 字符数组精讲
第6章6.3.1怎样定义字符数组p.151第06课 · 6.3.1 怎样定义字符数组精讲
第6章6.3.2字符数组的初始化p.152第06课 · 6.3.2 字符数组的初始化精讲
第6章6.3.3怎样引用字符数组中的元素p.152第06课 · 6.3.3 怎样引用字符数组中的元素精讲
第6章6.3.4字符串和字符串结束标志p.153–155第06课 · 6.3.4 字符串和字符串结束标志精讲
第6章6.3.5字符数组的输入输出p.156第06课 · 6.3.5 字符数组的输入输出精讲
第6章6.3.6使用字符串处理函数p.157–161第06课 · 6.3.6 使用字符串处理函数精讲
第6章6.3.7字符数组应用举例p.162–164第06课 · 6.3.7 字符数组应用举例精讲
第7章 用函数实现模块化程序设计 p.167–216
第7章7.1为什么要用函数p.167–168第07课 · 7.1 为什么要用函数精讲
第7章7.2怎样定义函数p.169–170第07课 · 7.2 怎样定义函数精讲
第7章7.2.1为什么要定义函数p.169第07课 · 7.2.1 为什么要定义函数精讲
第7章7.2.2定义函数的方法p.170第07课 · 7.2.2 定义函数的三种写法精讲
第7章7.3调用函数p.171–175第07课 · 7.3 调用函数精讲
第7章7.3.1函数调用的形式p.171第07课 · 7.3.1 函数调用的形式精讲
第7章7.3.2函数调用时的数据传递p.172–173第07课 · 7.3.2 函数调用时的数据传递精讲
第7章7.3.3函数调用的过程p.174第07课 · 7.3.3 函数调用的过程【考点·5 步】精讲
第7章7.3.4函数的返回值p.174–175第07课 · 7.3.4 函数的返回值精讲
第7章7.4对被调用函数的声明和函数原型p.176–178第07课 · 7.4 对被调用函数的声明和函数原型精讲
第7章7.5函数的嵌套调用p.179–180第07课 · 7.5 函数的嵌套调用精讲
第7章7.6函数的递归调用p.181–188第07课 · 7.6 函数的递归调用精讲
第7章7.7数组作为函数参数p.189–195第07课 · 7.7 数组作为函数参数精讲
第7章7.7.1数组元素作函数实参p.189–190第07课 · 7.7.1 数组元素作函数实参精讲
第7章7.7.2一维数组名作函数参数p.191–193第07课 · 7.7.2 一维数组名作函数参数【考点·本章第二大重点】精讲
第7章7.7.3多维数组名作函数参数p.194–195第07课 · 7.7.3 多维数组名作函数参数精讲
第7章7.8局部变量和全局变量p.196–200第07课 · 7.8 局部变量和全局变量精讲
第7章7.8.1局部变量p.196第07课 · 7.8.1 局部变量精讲
第7章7.8.2全局变量p.197–200第07课 · 7.8.2 全局变量精讲
第7章7.9变量的存储方式和生存期p.201–210第07课 · 7.9 变量的存储方式和生存期选学略讲
第7章7.9.1动态存储方式与静态存储方式p.201第07课 · 7.9.1 动态存储方式与静态存储方式略讲
第7章7.9.2局部变量的存储类别p.202–204第07课 · 7.9.2 局部变量的存储类别略讲
第7章7.9.3全局变量的存储类别p.205–208第07课 · 7.9.3 全局变量的存储类别略讲
第7章7.9.4存储类别小结p.209–210第07课 · 7.9.4 存储类别小结略讲
第7章7.10关于变量的声明和定义p.211第07课 · 7.10 关于变量的声明和定义精讲
第7章7.11内部函数和外部函数p.212–214第07课 · 7.11 内部函数和外部函数选学略讲
第7章7.11.1内部函数p.212第07课 · 7.11.1 内部函数略讲
第7章7.11.2外部函数p.213–214第07课 · 7.11.2 外部函数略讲
第8章 善于利用指针 p.217–292
第8章8.1指针是什么p.217–218第08课 · 8.1 指针是什么精讲
第8章8.2指针变量p.219–228第08课 · 8.2 指针变量精讲
第8章8.2.1使用指针变量的例子p.219第08课 · 8.2 指针变量精讲(并入 8.2)
第8章8.2.2怎样定义指针变量p.220–221第08课 · 8.2.2 怎样定义指针变量精讲
第8章8.2.3怎样引用指针变量p.222–223第08课 · 8.2.3 怎样引用指针变量精讲
第8章8.2.4指针变量作为函数参数p.224–228第08课 · 8.2.4 指针变量作为函数参数精讲
第8章8.3通过指针引用数组p.229–253第08课 · 8.3 通过指针引用数组精讲
第8章8.3.1数组元素的指针p.229第08课 · 8.3.1 数组元素的指针精讲
第8章8.3.2在引用数组元素时指针的运算p.229–230第08课 · 8.3.2 在引用数组元素时指针的运算精讲
第8章8.3.3通过指针引用数组元素p.231–235第08课 · 8.3.3 通过指针引用数组元素精讲
第8章8.3.4用数组名作函数参数p.236–242第08课 · 8.3.4 用数组名作函数参数精讲
第8章8.3.5通过指针引用多维数组p.243–253第08课 · 8.3.5 通过指针引用多维数组选学略讲
第8章8.4通过指针引用字符串p.254–264第09课 · 8.4 通过指针引用字符串精讲
第8章8.4.1字符串的引用方式p.254–257第09课 · 8.4.1 字符串的引用方式精讲
第8章8.4.2字符指针作函数参数p.258–261第09课 · 8.4.2 字符指针作函数参数精讲
第8章8.4.3使用字符指针变量和字符数组的比较p.262–264第09课 · 8.4.3 使用字符指针变量和字符数组的比较精讲
第8章8.5指向函数的指针p.265–272第09课 · 8.5 指向函数的指针选学略讲
第8章8.5.1什么是函数的指针p.265第09课 · 8.5.1 什么是函数的指针略讲
第8章8.5.2用函数指针变量调用函数p.265–266第09课 · 8.5.2 用函数指针变量调用函数略讲
第8章8.5.3怎样定义和使用指向函数的指针变量p.267–268第09课 · 8.5.3 怎样定义和使用指向函数的指针变量略讲
第8章8.5.4用指向函数的指针作函数参数p.269–272第09课 · 8.5.4 用指向函数的指针作函数参数略讲
第8章8.6返回指针值的函数p.273–275第09课 · 8.6 返回指针值的函数选学略讲
第8章8.7指针数组和多重指针p.276–283第09课 · 8.7 指针数组和多重指针选学略讲
第8章8.7.1什么是指针数组p.276–278第09课 · 8.7.1 什么是指针数组略讲
第8章8.7.2指向指针数据的指针变量p.279–280第09课 · 8.7.2 指向指针数据的指针变量(二级指针)略讲
第8章8.7.3指针数组作main函数的形参p.281–283第09课 · 8.7.3 指针数组作 main 函数的形参略讲
第8章8.8动态内存分配与指向它的指针变量p.284–287第09课 · 8.8 动态内存分配与指向它的指针变量选学略讲
第8章8.8.1什么是内存的动态分配p.284第09课 · 8.8.1 什么是内存的动态分配略讲
第8章8.8.2怎样建立内存的动态分配p.284–285第09课 · 8.8.2 怎样建立内存的动态分配略讲
第8章8.8.3void指针类型p.286–287第09课 · 8.8.3 void 指针类型略讲
第8章8.9有关指针的小结p.288–290第09课 · 8.9 有关指针的小结精讲
第9章 用户自己建立数据类型 p.293–330
第9章9.1定义和使用结构体变量p.293–299第10课 · 9.1 定义和使用结构体变量精讲
第9章9.1.1自己建立结构体类型p.293–294第10课 · 9.1.1 自己建立结构体类型精讲
第9章9.1.2定义结构体类型变量p.295第10课 · 9.1.2 定义结构体类型变量精讲
第9章9.1.3结构体变量的初始化和引用p.296–299第10课 · 9.1.3 结构体变量的初始化和引用精讲
第9章9.2使用结构体数组p.300–302第10课 · 9.2 使用结构体数组精讲
第9章9.2.1定义结构体数组p.300第10课 · 9.2.1 定义结构体数组精讲
第9章9.2.2结构体数组的应用举例p.301–302第10课 · 9.2.2 结构体数组的应用举例精讲
第9章9.3结构体指针p.303–308第10课 · 9.3 结构体指针精讲
第9章9.3.1指向结构体变量的指针p.303第10课 · 9.3.1 指向结构体变量的指针精讲
第9章9.3.2指向结构体数组的指针p.304–305第10课 · 9.3.2 指向结构体数组的指针精讲
第9章9.3.3用结构体变量和结构体变量的指针作函数参数p.306–308第10课 · 9.3.3 用结构体变量和结构体变量的指针作函数参数精讲
第9章9.4用指针处理链表p.309–316第10课 · *9.4 用指针处理链表【选学,了解即可】略讲
第9章9.4.1什么是链表p.309第10课 · *9.4 用指针处理链表【选学,了解即可】略讲(并入 9.4)
第9章9.4.2建立简单的静态链表p.310第10课 · *9.4 用指针处理链表【选学,了解即可】略讲(并入 9.4)
第9章9.4.3建立动态链表p.311–314第10课 · *9.4 用指针处理链表【选学,了解即可】略讲(并入 9.4)
第9章9.4.4输出链表p.315–316第10课 · *9.4 用指针处理链表【选学,了解即可】略讲(并入 9.4)
第9章9.5共用体类型p.317–321第10课 · *9.5 共用体类型选学略讲
第9章9.5.1什么是共用体类型p.317第10课 · *9.5 共用体类型选学略讲(并入 9.5)
第9章9.5.2引用共用体变量的方式p.318第10课 · *9.5 共用体类型选学略讲(并入 9.5)
第9章9.5.3共用体类型数据的特点p.319–321第10课 · *9.5 共用体类型选学略讲(并入 9.5)
第9章9.6使用枚举类型p.322–325第10课 · 9.6 使用枚举类型精讲
第9章9.7用typedef声明新类型名p.326–329第10课 · *9.7 用 typedef 声明新类型名选学略讲
第10章 对文件的输入输出 p.331–356
第10章10.1C文件的有关基本知识p.331–333第11课 · 10.1 C 文件的有关基本知识精讲
第10章10.1.1什么是文件p.331第11课 · 10.1.1 什么是文件精讲
第10章10.1.2文件名p.332第11课 · 10.1.2 文件名精讲
第10章10.1.3文件的分类p.332第11课 · 10.1.3 文件的分类精讲
第10章10.1.4文件缓冲区p.333第11课 · 10.1.4 文件缓冲区精讲
第10章10.1.5文件类型指针p.333第11课 · 10.1.5 文件类型指针精讲
第10章10.2打开与关闭文件p.334–337第11课 · 10.2 打开与关闭文件精讲
第10章10.2.1用fopen函数打开数据文件p.335–336第11课 · 10.2.1 用 fopen 函数打开数据文件精讲
第10章10.2.2用fclose函数关闭数据文件p.337第11课 · 10.2.2 用 fclose 函数关闭数据文件精讲
第10章10.3顺序读写数据文件p.338–349第11课 · 10.3 顺序读写数据文件精讲
第10章10.3.1怎样向文件读写字符p.338–340第11课 · 10.3.1 怎样向文件读写字符精讲
第10章10.3.2怎样向文件读写一个字符串p.341–344第11课 · 10.3.2 怎样向文件读写一个字符串精讲
第10章10.3.3用格式化的方式读写文本文件p.345第11课 · 10.3.3 用格式化的方式读写文本文件精讲
第10章10.3.4用二进制方式向文件读写一组数据p.345–349第11课 · 10.3.4 用二进制方式向文件读写一组数据精讲
第10章10.4随机读写数据文件p.350–354第11课 · 10.4 随机读写数据文件精讲
第10章10.4.1文件位置标记及其定位p.350–352第11课 · 10.4.1 文件位置标记及其定位精讲
第10章10.4.2随机读写p.353–354第11课 · 10.4.2 随机读写精讲
第10章10.5文件读写的出错检测p.355第11课 · 10.5 文件读写的出错检测精讲
Appendices

附录(站内未单独成课)

附录节号标题书页网站位置状态
附录A—常用字符与ASCII代码对照表p.357未单独成课(速查表)—
附录B—C语言中的关键字p.358未单独成课(速查表)—
附录C—运算符和结合性p.359–360未单独成课(速查表)—
附录D—C语言常用语法提要p.361–364未单独成课(速查表)—
附录E—C库函数p.365–370未单独成课(速查表)—

教材里有、网站没有展开的部分

✅ 教材 10 章的全部编号小节都已在网站展开,没有「未展开」的节。

How to use

怎么用这张表

1

网页 → 课本

每课每个小节标题下面都有一行「📖 教材 p.X–Y · 正文/例题/习题」,照着页码翻书。

2

课本 → 网页

在这张表里按节号或页码找,点「网站位置」直接跳到对应小节。

3

看缺口

每课最后有「教材覆盖清单」,标「未展开」的就是没讲的部分;本页底部再汇总一次。