为你推荐
内容简介
前言
致谢
第一部分 轻松入门
第1章 C 语言编程环境搭建
1.1 编程工具选择
1.2 Dev-C++工具的下载与安装
1.3 创建一个C文件
1.4 编译一个C文件
1.5 改变字体大小的设置
第2章 初识C语言
2.1 掀起C语言的盖头来
2.2 写给女朋友的一封情诗
2.3 送你一束玫瑰花
2.4 绚丽的动画——女朋友数玫瑰
2.5 小结
2.6 练习
第3章 减少重复操作———循环语句
3.1 循环的描述——循环三要素
3.2 帮你计数的人——循环变量
3.2.1 变量的定义
3.2.2 变量的输出
3.3 循环是否达到终值
3.3.1 比较运算符
3.3.2 逻辑运算符
3.4 时刻变化着的循环——循环增量
3.5 三种循环语句
3.5.1 for循环语句
3.5.2 while循环语句
3.5.3 do-while循环语句
3.6 女朋友数玫瑰——循环版
3.7 几何图形有学问
3.7.1 实心长方形
3.7.2 空心长方形
3.7.3 直角三角形
3.7.4 菱形
3.8 数列求和也容易
3.9 送你999朵玫瑰花
3.10 三种循环语句的区别
3.11 死循环的各种写法
3.12 循环中的特殊情况——continue、break与goto
3.13 小结
3.14 练习
第4章 分情况处理——分支语句
4.1 爱情心理测试介绍
4.2 输入函数
4.3 分支语句
4.4 爱情心理测试
4.4.1 单次测试版
4.4.2 循环测试版
4.4.3 循环版本的问题
4.5 测测女朋友值多少钱
4.6 猜数游戏
4.7 猜数游戏的问题——随机数种子
4.8 石头剪刀布——猜拳游戏
4.8.1 单局猜拳游戏
4.8.2 多局猜拳游戏
4.9 多路开关好处多——sw itch语句
4.10 sw itch语句的运行过程
4.11 if-else语句的运行过程
4.12 年龄的秘密
4.13 小结
4.14 练习
第5章 制造自己的工具——函数
5.1 内容变化的重复
5.2 工欲善其事,必先利其器——函数的概念
5.3 造一把利器——函数的定义
5.4 女朋友数玫瑰——函数版
5.5 取回新产品——函数的返回值
5.6 函数注意事项
5.7 有用的定位函数
5.8 小球横向滚动
5.9 小球弹跳游戏
5.9.1 游戏界面绘制
5.9.2 小球移动反向逻辑
5.10 全局变量与局部变量
5.11 修改小球弹跳的速度
5.12 两个小球弹跳游戏
5.12.1 重复代码实现方式
5.12.2 函数版本实现方式
5.13 函数参数的传递机制
5.13.1 函数参数的值传递机制
5.13.2 程序调试(debug)
5.13.3 指针的概念
5.13.4 指针做函数参数
5.13.5 指针总结
5.14 小结
5.15 练习
第6章 封装相关数据——结构体
6.1 结构体的概念
6.2 小球弹跳的结构体版本
6.3 掷骰子游戏
6.3.1 游戏介绍与分析
6.3.2 画骰子边框
6.3.3 画骰子点数
6.3.4 画出骰子并提示玩家输入选择
6.3.5 骰子跳动与输赢判断
6.4 100个小球弹跳
6.4.1 数组的概念
6.4.2 100个小球弹跳
6.5 小结
6.6 练习
第7章 组合类型比较——数组与结构体
7.1 数组与结构体的区别
7.2 数组的常用操作
7.2.1 遍历数组
7.2.2 数组元素累加
7.2.3 数组添加元素
7.2.4 数组删除元素
7.2.5 寻找数组的最值
7.2.6 冒泡排序
7.2.7 冒泡排序改进
7.2.8 选择排序
7.3 猴子选大王
7.4 全民打飞机
7.4.1 游戏界面开发
7.4.2 画飞机
7.4.3 飞机移动
7.4.4 键盘操控飞机
7.4.5 设计子弹
7.4.6 子弹产生与消失
7.4.7 怪物的产生与消失
7.4.8 碰撞检测
7.5 小结
7.6 练习
第8章 数组的数组——二维数组
8.1 二维数组的概念
8.2 二维数组的初始化
8.3 一份成绩单
8.4 螺旋矩阵
8.5 练眼力
8.6 井字棋
8.6.1 游戏介绍与界面搭建
8.6.2 棋子信息存储
8.6.3 下棋逻辑设计
8.6.4 判断游戏结束逻辑
8.6.5 判断输赢逻辑
8.6.6 手动下棋操作
8.6.7 智能自动下棋逻辑
8.7 男女的婚姻匹配问题
8.7.1 问题描述
8.7.2 数据存储于初始化
8.7.3 算法描述
8.7.4 main函数实现
8.8 小结
8.9 练习
第9章 无处不在的字符串
9.1 字符串的概念
9.2 字符串的常用操作
9.3 字符串反转
9.4 字符串压缩算法
9.4.1 压缩逻辑设计
9.4.2 整数转字符串
9.5 删除重复字符
9.5.1 普通删除法
9.5.2 快速删除法
9.6 测测你的名字在古代是什么职位
9.7 自定义字符串的常用操作
9.8 小结
9.9 练习
第二部分 知识进阶
第10章 数据类型与变量
10.1 变量的定义与初始化
10.2 变量的大小
10.3 更多数据类型
10.4 各种类型的范围
10.5 变量在内存中的样子
10.6 类型的相互转换
10.7 数组变量及其大小
10.8 结构体变量及其大小
10.8.1 字符变量与int型变量在内存中的对齐方式
10.8.2 字符变量与double型变量在内存中的对齐方式
10.8.3 结构体内部变量的对齐方式
10.8.4 结构体的大小必须是最大对齐模数的整数倍
10.8.5 嵌套结构体的大小
10.8.6 结构体大小计算法则
10.9 指针变量及其大小
10.10 枚举变量及其大小
10.11 共用体变量及其大小
10.12 小结
10.13 练习
第11章 运算符
11.1 各种运算符
11.2 优先级与结合性
11.3 i++与++i
11.4 逻辑运算符的短路特性
11.5 位运算符
11.5.1 位运算符介绍
11.5.2 位运算符的应用
11.5.3 位运算与枚举类型
11.5.4 位段及其好处
11.5.5 位操作与位段综合应用
11.5.6 位段与共用体的综合应用
11.6 小结
11.7 练习
第12章 指针
12.1 指针是什么
12.2 各种类型指针
12.2.1 基本类型变量的指针
12.2.2 结构体变量的指针
12.2.3 共用体变量的指针
12.2.4 数组的指针
12.2.5 函数的指针
12.2.6 指针的指针
12.2.7 void指针
12.3 指针的运算
12.3.1 指针只能与整数做加减运算
12.3.2 相同类型的指针可以做减法与比较运算
12.4 指针与数组
12.4.1 数组名是一个指针
12.4.2 数组名与数组地址的区别
12.4.3 数组做函数参数就转化为指针
12.5 指针与字符串
12.6 指针与函数
12.6.1 函数指针
12.6.2 函数指针数组
12.6.3 指针作为函数参数
12.6.4 返回指针值的函数
12.7 指针与const修饰词
12.7.1 const修饰普通变量
12.7.2 const修饰指针变量
12.7.3 const修饰函数的形参
12.7.4 const与面试题
12.8 指针与链表
12.8.1 链表的概念
12.8.2 链表的构造
12.8.3 链表遍历
12.8.4 插入节点
12.8.5 删除节点
12.8.6 链表反转
12.8.7 遍历一次链表找到链表的中间元素
12.9 小结
12.10 练习
第13章 C程序是怎么使用内存的
13.1 程序的运行过程
13.2 全局变量
13.3 静态变量
13.4 字符常量
13.5 动态内存管理
13.5.1 malloc进行动态内存分配
13.5.2 把英文句子按单词反转
13.5.3 calloc进行动态内存分配
13.5.4 realloc进行动态内存分配
13.5.5 可变长数组
13.5.6 malloc与free的基本原理
13.6 C程序运行的4个内存区域
13.7 递归函数与栈
13.7.1 递归函数的定义
13.7.2 递归函数的运行过程
13.7.3 递归函数的应用——全排列
13.7.4 递归函数的应用——快速排序法
13.8 小结
13.9 练习
第14章 编译预处理
14.1 C程序的编译过程
14.2 头文件中装的是什么
14.3 项目分多个文件
14.4 include命令
14.5 头文件的正规写法
14.6 define命令
14.6.1 字符串宏替换
14.6.2 空宏体的宏
14.6.3 宏常量与const常量的区别
14.6.4 带参数的宏
14.6.5 #define命令的注意事项
14.7 条件编译
14.8 typedef命令
14.9 typedef的定义过程
14.10 define与typedef的区别
14.11 小结
14.12 练习
第15章 文件处理
15.1 文件与流
15.2 访问文本文件
15.2.1 打开与关闭文本文件
15.2.2 写入文本文件
15.2.3 读取文本文件
15.2.4 为文件追加内容
15.2.5 其他读取文本文件的方法
15.2.6 其他写入文本文件的方法
15.2.7 文本文件读写的问题
15.3 文本文件与二进制文件的区别
15.4 块方式读写文件
15.5 文件定位与随机读写
15.6 随机读写应用
15.7 总结
15.8 练习
第三部分:项目进阶
第16章 贪吃蛇
16.1 游戏介绍
16.2 游戏元素设计
16.3 画游戏界面
16.4 产生食物
16.5 产生蛇
16.6 画蛇
16.7 游戏逻辑设计
16.8 检查方向
16.9 蛇游动逻辑
16.10 蛇吃食物
16.11 游戏结束判断
16.12 删除两节蛇的身体
16.13 反转蛇的身体
16.14 反转蛇的移动方向
第17章 俄罗斯方块
17.1 游戏介绍
17.2 方块设计
17.3 打印游戏界面
17.4 游戏界面的数据
17.5 主函数与头文件
17.6 方块的产生
17.7 方块的移动
17.8 判断方块下方是否有空
17.9 判断方块是否到顶部
17.10 键盘操控逻辑
17.11 左移方块
17.12 右移方块
17.13 翻转方块
17.14 消除方块
17.15 计算得分
17.16 翻转方块的问题
第18章 围住神经猫
18.1 游戏介绍
18.2 游戏元素设计
18.3 初始界面绘制
18.4 移动光标进行封堵操作
18.5 寻找每个点周围的点
18.6 猫随机移动
18.7 猫智能移动
18.8 广度搜索算法
18.9 回溯找猫的位置
附录
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜