描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115500533
2.本书兼具实用性和趣味性。与其他C语言教材不同,本书以游戏开发的方式一步步引导读者完成一个游戏的设计和代码的编写,让读者体会到C语言的乐趣。
3.本书在结构上先讲解实用基础的编程知识,然后通过游戏案例的方式带领读者使用基础知识进行编程,*后再讲解较难的栈、结构体等。让读者能够快速入门。
4.本书配有对应的教学视频,读者可以扫描二维码观看具体章节的细致讲解,学习程序开发软件的安装以及游戏引擎的使用方法。
5.本书配备了如鹏教育的线上服务,读者可以享受提问秒回、学习督导、代码批改、简历和面试指导等系统化的教学服务,提高学习动力和效率。
本书内容有趣、难度适中、实例丰富,非常适合C语言零基础的读者,也适合相关院校作为教材使用。
第 1章 C语言初识
1.1 编程入门 2
1.1.1 什么是程序 2
1.1.2 什么是计算机语言 2
1.1.3 什么是编译 2
1.2 编辑器、编译器与集成开发环境 3
1.2.1 什么是编辑器 3
1.2.2 什么是编译器 3
1.2.3 什么是集成开发环境(IDE) 4
1.2.4 IDE的比较与选择 4
1.2.5 Visual Studio 2012下载与安装 4
1.3 编写第 一个C语言程序 4
1.3.1 新建第 一个解决方案 5
1.3.2 添加.c文件 7
1.3.3 编辑C语言程序 8
1.3.4 生成可执行程序 9
1.3.5 查看编译结果 9
1.3.6 运行C语言程序 10
1.3.7 项目过期提示 10
1.3.8 生成错误提示 11
1.3.9 常见错误 11
1.3.10 设置行号显示 12
1.4 解析第 一个C语言程序 13
1.4.1 什么是控制台程序 13
1.4.2 什么是窗口程序 14
1.4.3 解析C语言程序 14
1.5 课后习题 15
1.6 习题答案 15
第 2章 数据类型
2.1 常量与变量 16
2.1.1 常量 16
2.1.2 变量 18
2.2 标识符与关键字 18
2.2.1 标识符 18
2.2.2 关键字 19
2.3 基本数据类型 19
2.3.1 数据类型引入 19
2.3.2 整数类型 20
2.3.3 浮点数类型 21
2.3.4 字符型 22
2.3.5 转义字符 25
2.3.6 字符与字符串的关系 29
2.3.7 printf与数据类型 29
2.4 注释 30
2.4.1 行注释 30
2.4.2 块注释 31
2.5 变量详解 32
2.5.1 定义变量 32
2.5.2 引用变量 33
2.5.3 定义多个变量 33
2.5.4 变量的本质 34
2.5.5 语句与语句块 35
2.5.6 顺序结构 36
2.6 变量需要注意的问题 37
2.6.1 先定义变量,再使用变量 37
2.6.2 变量定义必须在引用之前 37
2.6.3 变量重名问题 38
2.6.4 局部变量 39
2.6.5 局部变量的初始化 43
2.6.6 经典案例——交换变量 45
2.7 课后习题 48
2.8 习题答案 48
第3章 运算符与表达式
3.1 算术运算符和算术表达式 50
3.1.1 算术运算符 50
3.1.2 算术表达式 53
3.2 赋值运算符和赋值表达式 54
3.2.1 赋值运算符 54
3.2.2 赋值表达式 54
3.3 复合赋值运算符和复合赋值表达式 55
3.3.1 复合赋值运算符 55
3.3.2 复合赋值表达式 56
3.4 自增、自减运算符 57
3.4.1 自增运算符 57
3.4.2 自增运算表达式 57
3.4.3 自减运算符 59
3.4.4 自减运算表达式 59
3.5 强制类型转换运算符 60
3.6 关系运算符与关系表达式 61
3.6.1 关系运算符 61
3.6.2 关系表达式 62
3.7 逻辑运算符与逻辑表达式 63
3.7.1 逻辑运算符 63
3.7.2 逻辑表达式 64
3.8 逻辑运算的“陷阱”:短路与、短路或 65
3.8.1 短路与运算 65
3.8.2 短路或运算 66
3.9 条件运算符与条件表达式 66
3.9.1 条件运算符 67
3.9.2 条件表达式 67
3.10 求字节数运算符 68
3.11 课后习题 69
3.12 习题答案 70
第4章 选择结构
4.1 if语句 71
4.1.1 if语句的第 一种形式 71
4.1.2 if语句的第二种形式 73
4.1.3 if语句的第三种形式 74
4.1.4 if语句常见错误 76
4.1.5 if案例—判断季节 77
4.1.6 if语句嵌套 79
4.1.7 if语句与三元运算符 81
4.2 switch语句 81
4.2.1 switch语句一般形式 81
4.2.2 switch语句优化 83
4.2.3 switch语句常见错误 84
4.2.4 关于default的几点说明 87
4.3 课后习题 88
4.4 习题答案 89
第5章 循环结构
5.1 while循环语句 91
5.1.1 while循环应用 92
5.1.2 while循环常见错误 93
5.2 do…while循环语句 94
5.2.1 do…while循环应用 95
5.2.2 do…while常见错误 96
5.2.3 do…while与while的区别 96
5.3 for循环语句 97
5.3.1 for循环应用 98
5.3.2 for循环常见错误 99
5.3.3 for循环其他几种写法 101
5.3.4 for循环嵌套 102
5.4 改变循环执行状态 103
5.4.1 break语句 104
5.4.2 continue语句 107
5.4.3 break语句与continue语句对比 108
5.5 课后习题 108
5.6 习题答案 109
第6章 函数初识
6.1 函数引入 111
6.1.1 定义函数 111
6.1.2 调用函数 112
6.1.3 函数的实参与形参赋值 113
6.1.4 函数定义、调用注意事项 114
6.1.5 函数中的局部变量 117
6.1.6 函数参数的传递方式:值传递 117
6.1.7 函数返回值 118
6.1.8 无返回值函数中的return语句 120
6.1.9 函数调用的其他形式 121
6.2 函数案例 122
6.2.1 案例1:打印整数1~n的数值 122
6.2.2 案例2:计算整数1~n的累加和 123
6.2.3 案例3:求两个整数最大值 124
6.2.4 案例4:计算矩形面积 124
6.2.5 案例5:计算圆面积 125
6.3 课后习题 126
6.4 习题答案 127
第7章 数组
7.1 一维数组 128
7.1.1 定义一维数组 128
7.1.2 一维数组初始化 128
7.1.3 引用一维数组元素 129
7.1.4 一维数组其他初始化方式 130
7.2 数组遍历与常见错误 132
7.2.1 一维数组遍历 132
7.2.2 sizeof计算数组元素字节数 132
7.2.3 sizeof计算数组总字节数 133
7.2.4 sizeof计算数组长度 134
7.2.5 数组常见错误分析 135
7.3 字符数组 137
7.3.1 如何定义字符数组 137
7.3.2 字符数组初始化 137
7.3.3 字符串与字符串结束标志 138
7.3.4 ’ ‘使用时的注意事项 139
7.3.5 sizeof计算字符串长度 140
7.3.6 strlen计算字符串有效长度 141
7.3.7 中文字符串 142
7.3.8 字符串元素遍历 143
7.3.9 char* 方式引用字符串 144
7.3.10 char* 类型数组简介 144
7.4 数组案例 145
7.4.1 案例1:计算两个等长数组元素和 145
7.4.2 案例2:查找数组中最大值 146
7.4.3 atoi字符串转整型函数 147
7.4.4 sprintf字符串格式化函数 147
7.5 课后习题 149
7.6 习题答案 150
第8章 如鹏游戏引擎初识
8.1 配置游戏开发环境 152
8.1.1 创建第 一个游戏项目 152
8.1.2 分析第 一个游戏代码 154
8.1.3 小试牛刀—修改游戏代码 154
8.1.4 查看yzkgame.h头文件 157
8.2 游戏引擎基础知识 157
8.2.1 什么是像素 157
8.2.2 游戏窗口坐标 157
8.2.3 如何描述矩形 158
8.2.4 什么是图层 158
8.3 课后习题 159
8.4 习题答案 159
第9章 常用游戏元素介绍
9.1 游戏开发核心函数介绍 160
9.1.1 pauseGame设置游戏暂停时间函数 160
9.1.2 setGameSize设置窗口尺寸函数 161
9.1.3 setGameTitle设置窗口标题函数 161
9.2 文本元素 162
9.2.1 createText创建文本函数 162
9.2.2 setTextPosition设置文本显示位置函数 163
9.2.3 setTextFontSize设置文本字体大小函数 164
9.2.4 setText修改文本内容函数 165
9.2.5 hideText隐藏文本函数 166
9.2.6 showText显示文本函数 167
9.2.7 操作多个文本元素 168
9.2.8 文本元素常见错误 170
9.2.9 文本案例——判断年龄 172
9.2.10 文本案例——超级玛丽启动界面 173
9.3 图片元素 175
9.3.1 查看图片格式 175
9.3.2 快速转换图片格式 175
9.3.3 图片格式转换误区 176
9.3.4 图片文件夹存放位置 177
9.3.5 createImage创建图片元素函数 178
9.3.6 setImagePosition设置图片显示位置函数 179
9.3.7 setImageSource修改显示图片函数 180
9.3.8 hideImage隐藏图片函数 181
9.3.9 showImage显示图片函数 182
9.3.10 常见错误 183
9.3.11 图片案例——性别判断 187
9.3.12 图片案例——超级玛丽启动界面 188
9.4 精灵元素 189
9.4.1 精灵动作 189
9.4.2 精灵文件夹存放位置 190
9.4.3 createSprite创建精灵函数 191
9.4.4 playSpriteAnimate播放精灵动作函数 192
9.4.5 setSpritePosition设置精灵显示位置函数 193
9.4.6 hideSprite隐藏精灵函数 194
9.4.7 showSprite显示精灵函数 195
9.4.8 setSpriteFlipX精灵在x轴翻转函数 196
9.4.9 setSpriteFlipY精灵在y轴翻转函数 197
9.4.10 getSpriteHeight获取精灵高度函数 199
9.4.11 getSpriteWidth获取精灵宽度函数 200
9.4.12 精灵案例——精灵切换动作 201
9.4.13 精灵案例——精灵向右移动 202
9.4.14 精灵案例——精灵向右上方移动 203
9.5 课后习题 205
9.6 习题答案 205
第 10章 游戏开发基础
10.1 文本案例 206
10.1.1 呼吸字体 206
10.1.2 倒计时 208
10.1.3 秒表 209
10.2 精灵案例 215
10.2.1 精灵走圈 215
10.2.2 桌面弹球 218
10.3 课后习题 221
10.4 习题答案 221
第 11章 游戏开发高级
11.1 键盘输入功能 223
11.1.1 getPressedKeyCode获取按键函数 223
11.1.2 案例——按键控制精灵移动 225
11.2 随机数 227
11.2.1 生成[0,n)之间的随机数 229
11.2.2 生成[m,n)之间的随机数 230
11.2.3 封装随机数生成函数 230
11.3 吃金币游戏 232
11.3.1 吃金币游戏—吃金币 232
11.3.2 吃金币游戏—显示分数 238
11.3.3 吃金币游戏—吃到炸弹游戏结束 244
11.3.4 吃金币游戏—随机生成金币位置 250
11.4 课后习题 253
11.5 习题答案 253
第 12章 指针初识
12.1 指针知识先导 258
12.1.1 内存空间与内存地址 258
12.1.2 探索内存 259
12.1.3 指针变量:保存内存地址的变量 262
12.1.4 指针变量定义与初始化 263
12.1.5 引用指针变量 263
12.1.6 指针变量作函数参数:交换两个变量的值 265
12.1.7 指针变量作函数参数:获取三位整数的个、十、百位 268
12.1.8 scanf获取输入数据函数 269
12.2 数组与指针 271
12.2.1 数组元素地址初识 272
12.2.2 数组元素地址深入分析 274
12.2.3 数组名与数组首元素地址 276
12.2.4 指针加、减运算 276
12.2.5 数组作函数参数 278
12.2.6 *(a i)与a[i]等效 280
12.2.7 查找数组元素最大值 281
12.3 字符串与指针 282
12.3.1 字符串的引用与存储 282
12.3.2 字符串长度与字符串有效长度 284
12.3.3 自定义strlen函数的多种写法 286
12.4 字符串处理函数 288
12.4.1 strcmp字符串比较函数 288
12.4.2 strcpy字符串复制函数 289
12.4.3 memcpy内存复制函数 290
12.4.4 memcpy与strcpy的区别 291
12.4.5 atof字符串转浮点型函数 291
12.5 课后习题 292
12.6 习题答案 292
第 13章 内存管理
13.1 栈区与堆区 294
13.1.1 栈内存 294
13.1.2 栈内存注意事项 295
13.1.3 堆内存 296
13.1.4 堆内存注意事项 297
13.1.5 内存分配 298
13.1.6 返回函数内部数据的三种方法 299
13.1.7 为什么要初始化内存 301
13.1.8 memset内存初始化函数 303
13.1.9 案例——分割文件名与扩展名 305
13.2 结构体 307
13.2.1 结构体 307
13.2.2 定义结构体变量 308
13.2.3 初始化、引用结构体变量 309
13.2.4 结构体类型大小 311
13.2.5 结构体指针 311
13.2.6 typedef类型另起名函数 313
13.2.7 结构体复制 315
13.3 课后习题 316
13.4 习题答案 316
评论
还没有评论。