展开全部

主编推荐语

C语言游戏开发入门: 从基础语法到高级指针

内容简介

本书以C语言知识为基石,如鹏游戏引擎为框架,分三篇共13章来介绍C语言。第一篇为基础语法篇,包括C语言初识、数据类型、运算符与表达式、选择结构、循环结构、函数初识和数组;第二篇为中级游戏开发篇,包括游戏引擎初识、常用元素介绍、游戏开发基础和高级;第三篇为高级指针篇,内容包括指针初识和内存管理。

目录

  • 封面
  • 扉页
  • 版权信息
  • 目录
  • 内容提要
  • 序一
  • 序二
  • 第一篇 基础语法篇
  • 第1章 C语言初识
  • 1.1 编程入门
  • 1.1.1 什么是程序
  • 1.1.2 什么是计算机语言
  • 1.1.3 什么是编译
  • 1.2 编辑器、编译器与集成开发环境
  • 1.2.1 什么是编辑器
  • 1.2.2 什么是编译器
  • 1.2.3 什么是集成开发环境(IDE)
  • 1.2.4 IDE的比较与选择
  • 1.2.5 Visual Studio 2012下载与安装
  • 1.3 编写第一个C语言程序
  • 1.3.1 新建第一个解决方案
  • 1.3.2 添加.c文件
  • 1.3.3 编辑C语言程序
  • 1.3.4 生成可执行程序
  • 1.3.5 查看编译结果
  • 1.3.6 运行C语言程序
  • 1.3.7 项目过期提示
  • 1.3.8 生成错误提示
  • 1.3.9 常见错误
  • 1.3.10 设置行号显示
  • 1.4 解析第一个C语言程序
  • 1.4.1 什么是控制台程序
  • 1.4.2 什么是窗口程序
  • 1.4.3 解析C语言程序
  • 1.5 课后习题
  • 1.6 习题答案
  • 第2章 数据类型
  • 2.1 常量与变量
  • 2.1.1 常量
  • 2.1.2 变量
  • 2.2 标识符与关键字
  • 2.2.1 标识符
  • 2.2.2 关键字
  • 2.3 基本数据类型
  • 2.3.1 数据类型引入
  • 2.3.2 整数类型
  • 2.3.3 浮点数类型
  • 2.3.4 字符型
  • 2.3.5 转义字符
  • 2.3.6 字符与字符串的关系
  • 2.3.7 printf与数据类型
  • 2.4 注释
  • 2.4.1 行注释
  • 2.4.2 块注释
  • 2.5 变量详解
  • 2.5.1 定义变量
  • 2.5.2 引用变量
  • 2.5.3 定义多个变量
  • 2.5.4 变量的本质
  • 2.5.5 语句与语句块
  • 2.5.6 顺序结构
  • 2.6 变量需要注意的问题
  • 2.6.1 先定义变量,再使用变量
  • 2.6.2 变量定义必须在引用之前
  • 2.6.3 变量重名问题
  • 2.6.4 局部变量
  • 2.6.5 局部变量的初始化
  • 2.6.6 经典案例——交换变量
  • 2.7 课后习题
  • 2.8 习题答案
  • 第3章 运算符与表达式
  • 3.1 算术运算符和算术表达式
  • 3.1.1 算术运算符
  • 3.1.2 算术表达式
  • 3.2 赋值运算符和赋值表达式
  • 3.2.1 赋值运算符
  • 3.2.2 赋值表达式
  • 3.3 复合赋值运算符和复合赋值表达式
  • 3.3.1 复合赋值运算符
  • 3.3.2 复合赋值表达式
  • 3.4 自增、自减运算符
  • 3.4.1 自增运算符
  • 3.4.2 自增运算表达式
  • 3.4.3 自减运算符
  • 3.4.4 自减运算表达式
  • 3.5 强制类型转换运算符
  • 3.6 关系运算符与关系表达式
  • 3.6.1 关系运算符
  • 3.6.2 关系表达式
  • 3.7 逻辑运算符与逻辑表达式
  • 3.7.1 逻辑运算符
  • 3.7.2 逻辑表达式
  • 3.8 逻辑运算的“陷阱”:短路与、短路或
  • 3.8.1 短路与运算
  • 3.8.2 短路或运算
  • 3.9 条件运算符与条件表达式
  • 3.9.1 条件运算符
  • 3.9.2 条件表达式
  • 3.10 求字节数运算符
  • 3.11 课后习题
  • 3.12 习题答案
  • 第4章 选择结构
  • 4.1 if语句
  • 4.1.1 if语句的第一种形式
  • 4.1.2 if语句的第二种形式
  • 4.1.3 if语句的第三种形式
  • 4.1.4 if语句常见错误
  • 4.1.5 if案例——判断季节
  • 4.1.6 if语句嵌套
  • 4.1.7 if语句与三元运算符
  • 4.2 switch语句
  • 4.2.1 switch语句一般形式
  • 4.2.2 switch语句优化
  • 4.2.3 switch语句常见错误
  • 4.2.4 关于default的几点说明
  • 4.3 课后习题
  • 4.4 习题答案
  • 第5章 循环结构
  • 5.1 while循环语句
  • 5.1.1 while循环应用
  • 5.1.2 while循环常见错误
  • 5.2 do…while循环语句
  • 5.2.1 do…while循环应用
  • 5.2.2 do…while常见错误
  • 5.2.3 do…while与while的区别
  • 5.3 for循环语句
  • 5.3.1 for循环应用
  • 5.3.2 for循环常见错误
  • 5.3.3 for循环其他几种写法
  • 5.3.4 for循环嵌套
  • 5.4 改变循环执行状态
  • 5.4.1 break语句
  • 5.4.2 continue语句
  • 5.4.3 break语句与continue语句对比
  • 5.5 课后习题
  • 5.6 习题答案
  • 第6章 函数初识
  • 6.1 函数引入
  • 6.1.1 定义函数
  • 6.1.2 调用函数
  • 6.1.3 函数的实参与形参赋值
  • 6.1.4 函数定义、调用注意事项
  • 6.1.5 函数中的局部变量
  • 6.1.6 函数参数的传递方式:值传递
  • 6.1.7 函数返回值
  • 6.1.8 无返回值函数中的return语句
  • 6.1.9 函数调用的其他形式
  • 6.2 函数案例
  • 6.2.1 案例1:打印整数1~n的数值
  • 6.2.2 案例2:计算整数1~n的累加和
  • 6.2.3 案例3:求两个整数最大值
  • 6.2.4 案例4:计算矩形面积
  • 6.2.5 案例5:计算圆面积
  • 6.3 课后习题
  • 6.4 习题答案
  • 第7章 数组
  • 7.1 一维数组
  • 7.1.1 定义一维数组
  • 7.1.2 一维数组初始化
  • 7.1.3 引用一维数组元素
  • 7.1.4 一维数组其他初始化方式
  • 7.2 数组遍历与常见错误
  • 7.2.1 一维数组遍历
  • 7.2.2 sizeof计算数组元素字节数
  • 7.2.3 sizeof计算数组总字节数
  • 7.2.4 sizeof计算数组长度
  • 7.2.5 数组常见错误分析
  • 7.3 字符数组
  • 7.3.1 如何定义字符数组
  • 7.3.2 字符数组初始化
  • 7.3.3 字符串与字符串结束标志
  • 7.3.4 ' \0 '使用时的注意事项
  • 7.3.5 sizeof计算字符串长度
  • 7.3.6 strlen计算字符串有效长度
  • 7.3.7 中文字符串
  • 7.3.8 字符串元素遍历
  • 7.3.9 char* 方式引用字符串
  • 7.3.10 char* 类型数组简介
  • 7.4 数组案例
  • 7.4.1 案例1:计算两个等长数组元素和
  • 7.4.2 案例2:查找数组中最大值
  • 7.4.3 atoi字符串转整型函数
  • 7.4.4 sprintf字符串格式化函数
  • 7.5 课后习题
  • 7.6 习题答案
  • 第二篇 中级游戏开发篇
  • 第8章 如鹏游戏引擎初识
  • 8.1 配置游戏开发环境
  • 8.1.1 创建第一个游戏项目
  • 8.1.2 分析第一个游戏代码
  • 8.1.3 小试牛刀——修改游戏代码
  • 8.1.4 查看yzkgame.h头文件
  • 8.2 游戏引擎基础知识
  • 8.2.1 什么是像素
  • 8.2.2 游戏窗口坐标
  • 8.2.3 如何描述矩形
  • 8.2.4 什么是图层
  • 8.3 课后习题
  • 8.4 习题答案
  • 第9章 常用游戏元素介绍
  • 9.1 游戏开发核心函数介绍
  • 9.1.1 pauseGame设置游戏暂停时间函数
  • 9.1.2 setGameSize设置窗口尺寸函数
  • 9.1.3 setGameTitle设置窗口标题函数
  • 9.2 文本元素
  • 9.2.1 createText创建文本函数
  • 9.2.2 setTextPosition设置文本显示位置函数
  • 9.2.3 setTextFontSize设置文本字体大小函数
  • 9.2.4 setText修改文本内容函数
  • 9.2.5 hideText隐藏文本函数
  • 9.2.6 showText显示文本函数
  • 9.2.7 操作多个文本元素
  • 9.2.8 文本元素常见错误
  • 9.2.9 文本案例——判断年龄
  • 9.2.10 文本案例——超级玛丽启动界面
  • 9.3 图片元素
  • 9.3.1 查看图片格式
  • 9.3.2 快速转换图片格式
  • 9.3.3 图片格式转换误区
  • 9.3.4 图片文件夹存放位置
  • 9.3.5 createImage创建图片元素函数
  • 9.3.6 setImagePosition设置图片显示位置函数
  • 9.3.7 setImageSource修改显示图片函数
  • 9.3.8 hideImage隐藏图片函数
  • 9.3.9 showImage显示图片函数
  • 9.3.10 常见错误
  • 9.3.11 图片案例——性别判断
  • 9.3.12 图片案例——超级玛丽启动界面
  • 9.4 精灵元素
  • 9.4.1 精灵动作
  • 9.4.2 精灵文件夹存放位置
  • 9.4.3 createSprite创建精灵函数
  • 9.4.4 playSpriteAnimate播放精灵动作函数
  • 9.4.5 setSpritePosition设置精灵显示位置函数
  • 9.4.6 hideSprite隐藏精灵函数
  • 9.4.7 showSprite显示精灵函数
  • 9.4.8 setSpriteFlipX精灵在x轴翻转函数
  • 9.4.9 setSpriteFlipY精灵在y轴翻转函数
  • 9.4.10 getSpriteHeight获取精灵高度函数
  • 9.4.11 getSpriteWidth获取精灵宽度函数
  • 9.4.12 精灵案例——精灵切换动作
  • 9.4.13 精灵案例——精灵向右移动
  • 9.4.14 精灵案例——精灵向右上方移动
  • 9.5 课后习题
  • 9.6 习题答案
  • 第10章 游戏开发基础
  • 10.1 文本案例
  • 10.1.1 呼吸字体
  • 10.1.2 倒计时
  • 10.1.3 秒表
  • 10.2 精灵案例
  • 10.2.1 精灵走圈
  • 10.2.2 桌面弹球
  • 10.3 课后习题
  • 10.4 习题答案
  • 第11章 游戏开发高级
  • 11.1 键盘输入功能
  • 11.1.1 getPressedKeyCode获取按键函数
  • 11.1.2 案例——按键控制精灵移动
  • 11.2 随机数
  • 11.2.1 生成[0,n)之间的随机数
  • 11.2.2 生成[m,n)之间的随机数
  • 11.2.3 封装随机数生成函数
  • 11.3 吃金币游戏
  • 11.3.1 吃金币游戏——吃金币
  • 11.3.2 吃金币游戏——显示分数
  • 11.3.3 吃金币游戏——吃到炸弹游戏结束
  • 11.3.4 吃金币游戏——随机生成金币位置
  • 11.4 课后习题
  • 11.5 习题答案
  • 第三篇 高级指针篇
  • 第12章 指针初识
  • 12.1 指针知识先导
  • 12.1.1 内存空间与内存地址
  • 12.1.2 探索内存
  • 12.1.3 指针变量:保存内存地址的变量
  • 12.1.4 指针变量定义与初始化
  • 12.1.5 引用指针变量
  • 12.1.6 指针变量作函数参数:交换两个变量的值
  • 12.1.7 指针变量作函数参数:获取三位整数的个、十、百位
  • 12.1.8 scanf获取输入数据函数
  • 12.2 数组与指针
  • 12.2.1 数组元素地址初识
  • 12.2.2 数组元素地址深入分析
  • 12.2.3 数组名与数组首元素地址
  • 12.2.4 指针加、减运算
  • 12.2.5 数组作函数参数
  • 12.2.6 *(a+i)与a[i]等效
  • 12.2.7 查找数组元素最大值
  • 12.3 字符串与指针
  • 12.3.1 字符串的引用与存储
  • 12.3.2 字符串长度与字符串有效长度
  • 12.3.3 自定义strlen函数的多种写法
  • 12.4 字符串处理函数
  • 12.4.1 strcmp字符串比较函数
  • 12.4.2 strcpy字符串复制函数
  • 12.4.3 memcpy内存复制函数
  • 12.4.4 memcpy与strcpy的区别
  • 12.4.5 atof字符串转浮点型函数
  • 12.5 课后习题
  • 12.6 习题答案
  • 第13章 内存管理
  • 13.1 栈区与堆区
  • 13.1.1 栈内存
  • 13.1.2 栈内存注意事项
  • 13.1.3 堆内存
  • 13.1.4 堆内存注意事项
  • 13.1.5 内存分配
  • 13.1.6 返回函数内部数据的三种方法
  • 13.1.7 为什么要初始化内存
  • 13.1.8 memset内存初始化函数
  • 13.1.9 案例——分割文件名与扩展名
  • 13.2 结构体
  • 13.2.1 结构体
  • 13.2.2 定义结构体变量
  • 13.2.3 初始化、引用结构体变量
  • 13.2.4 结构体类型大小
  • 13.2.5 结构体指针
  • 13.2.6 typedef类型另起名函数
  • 13.2.7 结构体复制
  • 13.3 课后习题
  • 13.4 习题答案
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。