![](/Public/uploads/book_cover/580f103315c6f.jpg)
第1篇 入 门 篇
第1章 初识C语言
视频讲解:14分钟
1.1 编程语言发展史
1.1.1 机器语言
1.1.2 汇编语言
1.1.3 高级语言
1.2 C语言的发展
1.2.1 C语言的产生
1.2.2 C程序的特点
1.2.3 C语言发展趋势
1.2.4 C语言的应用领域
1.2.5 如何学好C语言
实例1 输出“Hello World!”
实例2 计算10+20
1.3 本章小结
第2章 编写一个简单的C程序
视频教程:1小时42分钟
2.1 C程序结构
2.2 C语言基础知识
2.2.1 介绍两种C程序开发工具
2.2.2 设定标识符
2.2.3 认识关键字
2.2.4 添加注释
2.2.5 定义变量
实例1 求一个数的平方根
实例2 猴子吃桃
2.3 分析错误提示信息
2.3.1 出现严重错误
2.3.2 提示一般错误信息
2.3.3 警告信息
实例3 求圆面积
实例4 十进制数转八进制
2.4 提高程序的可读性
2.5 综合应用
2.5.1 输出三角形
2.5.2 交换两个数
2.6 本章常见错误
2.6.1 定义的标识符不是一个整体
2.6.2 语句结束没有结束符
2.7 本章小结
2.8 跟我上机
第3章 掌握C语言算法
视频教程:22分钟
3.1 算法概述
3.1.1 什么是算法
3.1.2 算法的特性
3.1.3 算法的优缺点
实例1 求圆的周长
实例2 求一元二次方程ax2+bx+c=0的根
3.2 描述算法
3.2.1 用自然语言描述
3.2.2 用流程图描述
3.2.3 三种基本结构
3.2.4 绘制N-S流程图
3.2.5 用伪代码描述算法
实例3 任意输入三个数,求这三个数中的最大数
实例4 判断2000~2500年中每一年是否为闰年
实例5 用伪代码描述n!
第1篇 入 门 篇
第1章 初识C语言
视频讲解:14分钟
1.1 编程语言发展史
1.1.1 机器语言
1.1.2 汇编语言
1.1.3 高级语言
1.2 C语言的发展
1.2.1 C语言的产生
1.2.2 C程序的特点
1.2.3 C语言发展趋势
1.2.4 C语言的应用领域
1.2.5 如何学好C语言
实例1 输出“Hello World!”
实例2 计算10+20
1.3 本章小结
第2章 编写一个简单的C程序
视频教程:1小时42分钟
2.1 C程序结构
2.2 C语言基础知识
2.2.1 介绍两种C程序开发工具
2.2.2 设定标识符
2.2.3 认识关键字
2.2.4 添加注释
2.2.5 定义变量
实例1 求一个数的平方根
实例2 猴子吃桃
2.3 分析错误提示信息
2.3.1 出现严重错误
2.3.2 提示一般错误信息
2.3.3 警告信息
实例3 求圆面积
实例4 十进制数转八进制
2.4 提高程序的可读性
2.5 综合应用
2.5.1 输出三角形
2.5.2 交换两个数
2.6 本章常见错误
2.6.1 定义的标识符不是一个整体
2.6.2 语句结束没有结束符
2.7 本章小结
2.8 跟我上机
第3章 掌握C语言算法
视频教程:22分钟
3.1 算法概述
3.1.1 什么是算法
3.1.2 算法的特性
3.1.3 算法的优缺点
实例1 求圆的周长
实例2 求一元二次方程ax2+bx+c=0的根
3.2 描述算法
3.2.1 用自然语言描述
3.2.2 用流程图描述
3.2.3 三种基本结构
3.2.4 绘制N-S流程图
3.2.5 用伪代码描述算法
实例3 任意输入三个数,求这三个数中的最大数
实例4 判断2000~2500年中每一年是否为闰年
实例5 用伪代码描述n!
3.3 综合应用
3.3.1 判断三角形的类型
3.3.2 计算某日是该年第几天
3.3.3 婚礼上的谎言
3.3.4 百钱百鸡问题
3.4 本章常见错误
3.4.1 合理安排基本结构
3.4.2 全面考虑
3.5 本章小结
3.6 跟我上机
第4章 C语言基础——数据类型
视频教程:1小时25分钟
4.1 数据类型概述
4.1.1 数据类型的概念
4.1.2 数据类型的分类
实例1 复制字符串
实例2 一分钟倒计时
4.2 常量
4.2.1 整型常量
4.2.2 实型常量
4.2.3 字符型常量
4.2.4 符号常量
实例3 进制转换
实例4 以不同格式输出数据
4.3 变量
4.3.1 整型变量
4.3.2 实型变量
4.3.3 字符型变量
4.3.4 转换数据类型
实例5 求100~200之间的素数
实例6 字符型数据进行算术运算
4.4 综合应用
4.4.1 小球下落问题
4.4.2 老师分糖果
4.5 本章常见错误
4.5.1 scanf()输入数据要用地址
4.5.2 指针无法访问register变量
4.5.3 变量先定义后使用
4.6 本章小结
4.7 跟我上机
第5章 运算符与表达式的使用
视频教程:52分钟
5.1 表达式概述
5.2 赋值运算
5.2.1 为变量赋值
5.2.2 自动类型转换
5.2.3 强制类型转换
实例1 模拟钟点工的计费
实例2 显示类型转化的结果
5.3 算术运算
5.3.1 算术运算符
5.3.2 算术表达式
5.3.3 算术运算符的优先级与结合性
5.3.4 自增自减运算符
实例3 温度转换
实例4 算术运算符的优先级和结合性
实例5 比较自增自减运算符前缀与后缀的不同
实例6 自增运算的结合性
5.4 关系运算
5.4.1 关系运算符
5.4.2 关系表达式
实例7 关系运算符的使用
实例8 输入密码
5.5 逻辑运算
5.5.1 逻辑运算符
5.5.2 逻辑表达式
实例9 判断闰年
实例10 黑纸与白纸
5.6 逗号运算
5.7 条件运算符与表达式
5.8 复合赋值运算符
5.9 综合应用
5.9.1 阿姆斯特朗数
5.9.2 求1~10的累加和
5.9.3 求解二元一次不定方程
5.9.4 可逆素数
5.10 本章常见错误
5.10.1 表达式“a=b”和“a==b”
5.10.2 对浮点数求余
5.10.3 逻辑运算部分被执行
5.11 本章小结
5.12 跟我上机
第6章 输入输出数据
视频教程:1小时38分钟
6.1 语句概述
6.1.1 表达式语句
6.1.2 函数调用语句
6.1.3 空语句
6.1.4 控制语句
6.1.5 复合语句
实例1 判断回文数
实例2 求最小数
6.2 输入输出字符数据
6.2.1 输出字符数据
6.2.2 字符数据的输入
实例3 使用putchar函数实现字符数据输出
实例4 使用getchar函数实现字符数据输入
实例5 使用getchar函数取消获取回车
6.3 字符串的输入输出
6.3.1 字符串输出函数
6.3.2 字符串输入函数
实例6 使用字符串输出函数进行显示信息提示
实例7 使用字符串输入函数gets()获取输入信息
6.4 按指定格式输出
6.5 按指定格式输入
6.6 顺序程序设计应用
6.7 综合应用
6.7.1 输出一个字符的前驱字符
6.7.2 求学生总成绩和平均成绩
6.7.3 将输入的小写字符转化为大写字符
6.8 本章常见错误
6.8.1 用scanf输入字符串不能接受空格
6.8.2 scanf格式控制用逗号问题
6.9 本章小结
6.10 跟我上机
第7章 分支结构程序设计
视频教程:1小时2分钟
7.1 if语句的基本形式
7.1.1 if语句形式
7.1.2 if…else语句形式
7.1.3 else if语句形式
实例1 判断偶数
实例2 判断字母是否大写
7.2 if的嵌套形式
7.3 switch语句
7.3.1 switch语句的基本形式
7.3.2 多路开关模式的switch语句
实例3 使用switch语句输出分数段
实例4 使用多路开关模式编写日程安排程序
7.4 if else语句和switch语句的区别
7.5 选择结构程序应用
7.6 综合应用
7.6.1 检查字符类型
7.6.2 求学生的最低分和最高分
7.6.3 模拟自动售货机
7.7 本章常见错误
7.7.1 if else的匹配问题
7.7.2 注意case后不要跟变量
7.7.3 if判断表达式的比较问题
7.8 本章小结
7.9 跟我上机
第8章 循环结构程序设计
视频教程:2小时
8.1 循环结构概述
8.2 while型循环
8.2.1 while语句的一般形式
8.2.2 while语句的空循环体
8.2.3 注意while循环语句常见错误
实例1 使用while语句求n!
实例2 使用while为用户提供菜单显示
8.3 do-while语句
8.4 for型循环语句
8.4.1 for循环语句的一般形式
8.4.2 灵活多变的for循环语句
8.4.3 应用for语句中的逗号
实例3 一元钱的兑换方案
实例4 特殊等式
8.5 比较三种循环
8.6 嵌套多个循环
8.7 转移语句
8.7.1 goto语句
8.7.2 break语句
8.7.3 continue语句
8.7.4 区别三种跳转语句
实例5 求解从键盘中输入字符的个数
实例6 平方和运算的问题
8.8 综合应用
8.8.1 求总数问题
8.8.2 灯塔数量
8.9 本章常见错误
8.9.1 在循环中注意清0
8.9.2 注意循环条件
8.10 本章小结
8.11 跟我上机
第2篇 提 高 篇
第9章 C语言数组的应用
视频教程:1小时56分钟
9.1 数组概述
9.2 一维数组
9.2.1 定义一维数组
9.2.2 引用一维数组
9.2.3 初始化一维数组
实例1 使用数组保存学生资料
实例2 输出20个整数中最大的数值
9.3 二维数组
9.3.1 定义二维数组
9.3.2 二维数组的引用
9.3.3 初始化二维数组
9.3.4 二维数组应用
实例3 求二维数组各元素之和
实例4 使用二维数组保存数据
9.4 多维数组
9.5 字符数组
9.5.1 字符数组的定义
9.5.2 字符数组的引用
9.5.3 字符数组初始化
9.5.4 字符数组的结束标志
9.5.5 字符数组的输出
9.5.6 字符数组的输入
9.5.7 字符数组应用
实例5 计算字符串中有多少个单词
实例6 不使用strcpy()函数实现字符串复制功能
9.6 字符串处理函数
9.6.1 字符串复制
9.6.2 字符串连接
9.6.3 字符串比较
9.6.4 获得字符串长度
实例7 实现字符匹配
实例8 反转输出字符串
9.7 综合应用
9.7.1 逆序存放数据
9.7.2 相邻元素之和
9.8 本章常见错误
9.8.1 输出数组内容时后面出现乱码
9.8.2 sizeof(a)和sizeof(a+1)
9.9 本章小结
9.10 跟我上机
第10章 封装函数
视频教程:44分钟
10.1 函数概述
10.2 定义函数
10.2.1 函数定义形式
10.2.2 定义与声明
实例1 输出两个数中的最大值
实例2 判断素数
10.3 返回语句
10.3.1 终止一个函数
10.3.2 返回值
实例3 函数执行完毕自动返回
实例4 分数计算器程序
实例5 计算下面函数的值
实例6 返回值类型与return值类型
10.4 传递函数参数
10.4.1 形式参数与实际参数
10.4.2 数组做函数参数
10.4.3 main()函数传参
实例7 求学生的平均身高
实例8 数组作为函数参数
10.5 调用函数
10.5.1 函数调用方式
10.5.2 嵌套调用
10.5.3 递归调用
实例9 递归解决年龄问题
实例10 递归解决分鱼问题
10.6 内部函数和外部函数
10.6.1 内部函数
10.6.2 外部函数
实例11 内部函数的使用
实例12 外部函数的使用
10.7 综合应用
10.7.1 小数分离
10.7.2 固定格式输出当前时间
10.8 本章常见错误
10.8.1 函数定义时容易犯的错误
10.8.2 函数中返回的数组地址无效
10.8.3 声明函数时不要忘记加分号
10.9 本章小结
10.10 跟我上机
第11章 灵活应用指针
视频教程:42分钟
11.1 指针概述
11.1.1 地址与指针
11.1.2 保存变量的地址
11.1.3 使用指针变量
11.1.4 指针自加自减运算
实例1 使用指针实现整数排序
实例2 输出学生信息
11.2 使用指针引用数组元素
11.2.1 引用一维数组元素
11.2.2 引用二维数组元素
11.2.3 字符型指针的应用
实例3 使用指针输出数组元素
实例4 使用指针查找数列中最大值和最小值
11.3 指向指针的指针
11.4 指针在函数中的应用
11.4.1 指针做函数参数
11.4.2 指针做函数返回值
11.4.3 通过指针调用函数
实例5 求奇数之和
实例6 使用指针实现冒泡排序
11.5 指针数组做main()函数的参数
11.6 综合应用
11.6.1 用指针实现逆序存放数组元素
11.6.2 显示星期
11.7 本章常见错误
11.7.1 通过指针修改字符串出错
11.7.2 释放内存提示错误
11.7.3 释放空间以后,记得给指针赋空
11.8 本章小结
11.9 跟我上机
第12章 构造数据类型
视频教程:30分钟
12.1 结构体的定义和使用
12.1.1 结构体类型的概念
12.1.2 定义结构体变量
12.1.3 引用结构体成员
12.1.4 初始化结构体变量
实例1 输出商品信息
实例2 显示学生信息
12.2 结构体数组概述
12.2.1 定义结构体数组
12.2.2 初始化结构体数组
实例3 比较计数
实例4 找出最高分
12.3 包含结构的结构
12.4 共用体的应用
12.4.1 共用体的概念
12.4.2 引用共用体成员
12.4.3 初始化共用体变量
12.4.4 共用体类型的数据特点
实例5 共用体处理不同类型数据
实例6 取出整型数据的高字节数据
12.5 声明枚举类型
12.6 综合应用
12.6.1 候选人选票程序
12.6.2 使用共用体存放学生和老师信息
12.6.3 输出今天是星期几
12.7 本章常见错误
12.7.1 结构体字节对齐问题
12.7.2 用指针动态申请结构体内存时失败
12.7.3 忘记分号
12.8 本章小结
12.9 跟我上机
第13章 建立链表
视频教程:18分钟
13.1 结构体指针
13.1.1 指向结构体变量的指针
13.1.2 指向结构体数组的指针
13.1.3 结构体做函数参数
实例1 使用结构体变量作为函数参数
实例2 使用结构体指针作为函数参数
13.2 链表概述
13.3 链表的相关操作
13.3.1 创建链表
13.3.2 遍历链表
13.3.3 向链表中插入节点
13.3.4 从链表中删除节点
13.3.5 释放链表
实例3 创建链表并将数据输出
实例4 插入和删除学生信息
13.4 综合应用
13.4.1 查看学生成绩
13.4.2 修改日程安排
13.5 本章常见错误
13.5.1 头指针的保护
13.5.2 注意判断链表是否为空
13.6 本章小结
13.7 跟我上机
第14章 掌握位运算
视频教程:36分钟
14.1 位与字节的关系
14.2 位运算操作符
14.2.1 “与”运算符
14.2.2 “或”运算符
14.2.3 “取反”运算符
14.2.4 “异或”运算符
14.2.5 “左移”运算符
14.2.6 “右移”运算符
14.2.7 位运算复合赋值运算符
14.2.8 长度不同的数据进行位运算
实例1 使二进制数特定位翻转
实例2 将输入的数左移两位并输出
14.3 循环移位
14.4 位段概述
14.5 综合应用
14.5.1 取一个整数的后4位
14.5.2 整数与0异或
14.6 本章常见错误
14.6.1 区分&&和||与&和|
14.6.2 注意位运算的数据类型
14.7 本章小结
14.8 跟我上机
第15章 内存管理
视频教程:26分钟
15.1 内存组织方式
15.1.1 内存组织方式
15.1.2 堆与栈
实例1 在堆中分配内存并释放
实例2 栈在函数调用时的操作
15.2 动态管理
15.2.1 malloc()函数
15.2.2 calloc()函数
15.2.3 realloc()函数
15.2.4 free()函数
实例3 使用malloc()函数分配内存
实例4 调用calloc()函数动态分配内存
15.3 内存丢失
15.4 变量的存储类别
15.4.1 动态存储与静态存储
15.4.2 定义auto变量
15.4.3 static修饰变量
15.4.4 设为register变量
15.4.5 使用extern变量
实例5 auto变量的应用
实例6 使用static变量
实例7 计算1~5的阶层值
实例8 定义extern变量
15.5 综合应用
15.5.1 商品信息动态存放
15.5.2 为二维数组动态分配内存
15.6 本章常见错误
15.6.1 分配了一块内存空间,但没有初始化
15.6.2 释放内存空间后继续引用其内容
15.6.3 没有保存内存地址,造成此内存不可用
15.6.4 指针无法访问register变量
15.7 本章小结
15.8 跟我上机
第16章 编译预处理
视频教程:48分钟
16.1 宏定义
16.1.1 不带参数的宏定义
16.1.2 带参数的宏定义
实例1 不带参数的宏定义求平行四边形面积
实例2 使用宏定义实现数组值的互换
16.2 #include指令
16.3 条件编译
16.3.1 #if命令
16.3.2 #ifdef及#ifndef命令
16.3.3 #undef命令
16.3.4 #line命令
16.3.5 #pragma命令
实例3 使用条件编译隐藏密码
实例4 防止头文件重复包含
16.4 综合应用
16.4.1 编写头文件包含圆面积的计算公式
16.4.2 利用宏定义求偶数的和
16.5 本章常见错误
16.5.1 带参数的宏最好加括号
16.5.2 使用宏时注意事项
16.5.3 文件包含的嵌套
16.6 本章小结
16.7 跟我上机
第17章 使用文件处理数据
视频教程:55分钟
17.1 文件概述
17.2 文件基本操作
17.2.1 文件指针的概念
17.2.2 文件的打开
17.2.3 文件的关闭
实例1 打开文件
实例2 关闭文件
17.3 读写文件
17.3.1 写字符函数fputc()
17.3.2 读字符函数fgetc()
17.3.3 写字符串函数fputs()
17.3.4 读字符串函数fgets()
17.3.5 格式化写入函数fprintf()
17.3.6 格式化读取函数fscanf()
17.3.7 数据块读写函数fread()和fwrite()
实例3 关闭打开的所有文件
实例4 同时显示两个文件的内容
17.4 定位文件中的位置
17.4.1 随机读写操作
17.4.2 返回位置指针
17.4.3 得到文件当前位置
实例5 从字符串的指定位置输出
实例6 rewind()函数应用
实例7 求字符串的长度
实例8 复制文件内容
17.5 综合应用
17.5.1 创建文件
17.5.2 创建临时文件
17.6 本章常见错误
17.6.1 以a或a+的方式打开文件,指针却不在文件末尾
17.6.2 忘记调回指针,读不到内容
17.6.3 绝对路径要用双斜线\\
17.7 本章小结
17.8 跟我上机
第18章 制作图形图像
视频教程:1小时
18.1 制作文本窗口
18.1.1 定义文本窗口
18.1.2 设置窗口颜色
18.1.3 文本的输入和输出
18.1.4 掌握屏幕操作函数
实例1 输出hello world
实例2 以阶梯状输出文本,要求绿底黄字
实例3 movetext()函数应用
18.2 显示图形
18.2.1 初始化图形模式
18.2.2 设置屏幕颜色
18.2.3 基本图形函数
18.2.4 填充封闭图形
实例4 绘制圆
实例5 黄色网格填充的椭圆
18.3 图形屏幕的操作
18.4 图形模式下输出文本
18.4.1 文本输出函数
18.4.2 设置文本属性
实例6 输出字符串“welcome to our school”
实例7 按指定格式在指定位置输出字符串
18.5 综合应用
18.5.1 填充八边形
18.5.2 以不同的字体输出当前时间
18.6 本章常见错误
18.6.1 头文件和返回值
18.6.2 图形模式的初始化
18.7 本章小结
18.8 跟我上机
第3篇 实 战 篇
第19章 C语言游戏开发
视频教程:50分钟
19.1 推箱子游戏
19.1.1 概述
19.1.2 设计思路
19.1.3 技术要点
19.1.4 实现过程
19.2 贪吃蛇游戏
19.2.1 概述
19.2.2 设计思路
19.2.3 技术要点
19.2.4 实现过程
19.3 俄罗斯方块游戏
19.3.1 概述
19.3.2 设计思路
19.3.3 技术要点
19.3.4 实现过程
19.4 本章小结
第20章 图书管理系统
视频教程:32分钟
20.1 概述
20.1.1 需求分析
20.1.2 开发工具选择
20.2 系统设计
20.2.1 系统目标
20.2.2 系统功能结构
20.2.3 系统预览
20.2.4 开发及运行环境
20.3 数据库设计
20.3.1 安装MySQL数据库
20.3.2 启动MySQL数据库
20.3.3 创建数据库
20.3.4 数据表结构
20.4 C语言开发数据库程序的流程
20.5 C语言操作MySQL数据库
20.5.1 MySQL常用数据库操作函数
20.5.2 连接MySQL数据
20.5.3 查询图书表记录
20.5.4 插入图书表记录
20.5.5 修改图书表记录
20.5.6 删除图书表记录
20.6 文件引用
20.7 变量和函数定义
20.8 主要功能模块设计
20.8.1 显示主菜单信息
20.8.2 显示所有图书信息
20.8.3 添加图书信息
20.8.4 修改图书信息
20.8.5 删除图书信息
20.8.6 查询图书信息
20.9 本章小结