商品详情
书名:从零开始学C语言
定价:99.0
ISBN:9787122404534
作者:明日科技 编著
版次:第1版
出版时间:2022-07
内容提要:
本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习C语言编程知识,并提升自己的实际开发能力。 全书共分为4篇22章,内容包括初识C语言、算法、C语言的开发环境、C语言程序结构、数据类型、常用数据输出输入函数、运算符与表达式、条件判断语句、循环控制语句、数组、字符串处理函数、自定义函数、指针、结构体与链表、共用体与枚举类型、位运算、预处理、文件操作、内存管理、网络套接字编程、贪吃蛇大作战、缤纷水果消消乐等。书中知识点讲解细致,侧重介绍每个知识点的使用场景,涉及的代码给出了详细的注释,可以使读者轻松领会C语言程序开发的精髓,快速提高开发技能。同时,本书配套了大量教学视频,扫码即可观看,还提供所有程序源文件,方便读者实践。 本书适合C语言初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。
作者简介:
无
目录:
第1篇 基础知识篇
第1章 初识C语言 2 视频讲解:5节,12分钟
1.1 什么是C语言 3
1.2 C语言的发展史 3
1.2.1 计算机语言简述 3
1.2.2 C语言的发展与应用 4
1.3 C语言的特点 5
1.4 C语言的应用 5
本章知识思维导图 8
第2章 算法 9 视频讲解:5节,17分钟
2.1 算法的基本概念 10
2.1.1 算法的特性 10
2.1.2 算法的优劣 11
2.2 算法的描述 11
2.2.1 自然语言 12
[实例2.1] 把大象装进冰箱里 12
[实例2.2] 农夫、羊、狼及白菜过河 12
2.2.2 流程图 12
[实例2.3] 用流程图表示把大象装进冰箱 13
[实例2.4] 用流程图表示农夫、羊、狼及白菜过河 14
[实例2.5] 判断数字是否为偶数 15
[实例2.6] 用不同循环结构实现同一个求和问题 16
2.2.3 N-S流程图 16
[实例2.7] 求n!的不同流程图 17
[实例2.8] 求最大公约数的不同流程图 18
本章知识思维导图 19
第3章 C语言的开发环境 20 视频讲解:4节,22分钟
3.1 常用的开发环境 21
3.2 安装C语言开发环境 22
3.2.1 下载Visual Studio 2019 22
3.2.2 安装Visual Studio 2019 23
3.3 熟悉C语言开发环境 26
3.3.1 编写第一个程序 26
3.3.2 熟悉开发环境 30
本章知识思维导图 33
第4章 C语言程序结构 34 视频讲解:4节,18分钟
4.1 剖析第一个C语言程序 35
4.1.1 #include指令和stdio.h函数库 35
4.1.2 主函数 36
4.1.3 函数体 37
4.1.4 执行语句 37
4.1.5 return语句 38
4.2 注释 38
4.2.1 单行注释 38
4.2.2 多行注释 39
4.2.3 文档注释 39
4.3 关键字与标识符 40
4.3.1 关键字 40
4.3.2 标识符 41
4.4 C程序的编程规范 42
4.4.1 使用空格 42
4.4.2 使用换行 43
4.4.3 命名规范 43
本章知识思维导图 44
第5章 数据类型 45 视频讲解:11节,51分钟
5.1 常量与变量 46
5.1.1 常量 46
5.1.2 变量 47
5.2 基本数据类型概述 47
5.3 整型数据 48
5.3.1 声明整数类型 48
5.3.2 初始化整数类型 48
5.3.3 其他整型类型 49
5.3.4 打印其他整数类型数据 49
[实例5.1] 输出不同类型 49
5.3.5 整型常量 50
5.4 浮点类型 50
5.4.1 声明浮点类型 51
5.4.2 初始化浮点数据 52
5.4.3 输出浮点型数据 53
[实例5.2] 输出不同小数数据 53
5.4.4 浮点型常量 53
5.5 字符char类型 54
5.5.1 声明字符型 54
5.5.2 初始化字符型 54
5.5.3 输出字符型数据 55
[实例5.3] 输出字符型“A”的值和整型‘A’的值 56
5.5.4 字符型常量 56
[实例5.4] 输出字符笑脸^_^ 57
5.5.5 转义字符 58
5.6 类型转换 59
5.6.1 自动类型转换 59
5.6.2 强制类型转换 59
[实例5.5] 模拟去商场买鞋 60
5.7 变量存储类别 60
5.7.1 auto变量 60
[实例5.6] 使用auto修饰变量 60
5.7.2 static变量 61
[实例5.7] 停车场还剩多少停车位 61
5.7.3 register变量 62
5.7.4 extern变量 62
5.8 混合运算 63
[实例5.8] 计算1+'A'+2.2的值 63
本章知识思维导图 64
第6章 常用数据输出输入函数 65 视频讲解:6节,23分钟
6.1 字符输出输入函数 66
6.1.1 字符输出函数 66
[实例6.1] 输出大眼萌@_@ 66
6.1.2 字符输入函数 67
[实例6.2] 同时输入英文字和转义字符 67
6.2 字符串输出输入函数 68
6.2.1 字符串输出函数 68
[实例6.3] 利用两种形式输出天气预报 69
6.2.2 字符串输入函数 69
[实例6.4] 模拟在线考试系统 69
6.3 格式化字符输出输入函数 70
6.3.1 格式化字符输出函数 70
[实例6.5] 几头牛能吃饱 71
[实例6.6] 琳琅满目的“MingRi”输出格式 72
6.3.2 格式化字符输入函数 73
[实例6.7] 计算圆的周长和球的体积 75
[实例6.8] 输入x和y两个数值,并输出交换后的值 76
本章知识思维导图 78
第7章 运算符与表达式 79 视频讲解:7节,25分钟
7.1 赋值运算符与赋值表达式 80
7.1.1 赋值运算符 80
7.1.2 赋值表达式 80
7.1.3 为变量赋值 80
[实例7.1] 模拟钟点工的计费 82
7.1.4 复合赋值运算符与表达式 83
[实例7.2] 使用复合赋值运算符计算表达式的结果 84
7.2 算术运算符与算术表达式 84
7.2.1 “+”运算符与表达式 85
7.2.2 “-”运算符与表达式 85
7.2.3 “*”运算符与表达式 86
7.2.4 “/”运算符与表达式 86
[实例7.3] 将华氏度转为摄氏度 87
7.2.5 “%”运算符与表达式 88
7.2.6 小结 88
7.2.7 算术运算符的优先级与结合性 89
[实例7.4] 某一小学数学老师为学生出算数题 89
7.3 自增自减运算符 90
7.3.1 “++”运算符 90
7.3.2 “--”运算符 91
7.3.3 “++”“--”运算符的使用 91
[实例7.5] 比较自增、自减运算符的前缀与后缀 92
7.4 关系运算符与关系运算表达式 93
7.4.1 “>”运算符与表达式 93
7.4.2 “>=”运算符与表达式 93
7.4.3 “<”运算符与表达式 94
7.4.4 “<=”运算符与表达式 95
7.4.5 “==”运算符与表达式 95
7.4.6 “!=”运算符与表达式 96
7.4.7 小结 96
7.4.8 优先级与结合性 97
[实例7.6] 判断一个数是奇数还是偶数 97
7.5 逻辑运算符与逻辑表达式 98
7.5.1 “&&”运算符与表达式 98
7.5.2 “||”运算符与表达式 99
7.5.3 “!”运算符与表达式 100
7.5.4 小结 101
7.5.5 优先级与结合性 102
[实例7.7] 数字88和 0真真假假变换 102
7.6 逗号运算符与逗号表达式 103
7.6.1 逗号运算符和表达式 103
7.6.2 逗号运算符应用 103
[实例7.8] 逗号运算符的运用 103
7.7 运算符优先级和结合性以及复合赋值运算符 104
7.7.1 运算符优先级和结合性 104
7.7.2 复合赋值运算符 105
本章知识思维导图 106
第2篇 核心技术篇
第8章 条件判断语句 108 视频讲解:7节,29分钟
8.1 if相关语句 109
8.1.1 单个if语句形式 110
[实例8.1] 模拟到银行取钱场景 111
[实例8.2] 判断是否通过考试 112
8.1.2 if…else语句形式 113
[实例8.3] 选择餐桌就餐 114
[实例8.4] 判断是否是闰年 115
[实例8.5] 商品竞猜游戏 115
8.1.3 if…else if语句形式 116
[实例8.6] 设计过关类游戏 118
[实例8.7] 老师测试同学的立体感和反应速度 118
8.2 if语句的嵌套 119
[实例8.8] 时间都去哪了 121
8.3 条件运算符 122
[实例8.9] 坐计程车所花多少费用 123
8.4 switch语句 123
8.4.1 switch语句的基本形式 123
[实例8.10] 考试成绩的三六九等 125
8.4.2 switch语句的变形 126
[实例8.11] 输入的某个月份属于哪个季节 127
本章知识思维导图 129
第9章 循环控制语句 130 视频讲解:8节,37分钟
9.1 while语句 131
9.1.1 什么是循环 131
9.1.2 while循环的一般形式 131
9.1.3 while循环执行步骤 131
9.1.4 while循环实例 132
[实例9.1] 猜数字游戏 132
[实例9.2] 显示游戏菜单 133
9.1.5 无限循环概念 134
9.2 do…while语句 134
9.2.1 do…while循环的一般形式 135
9.2.2 do…while循环执行步骤 135
9.2.3 do…while循环实例 136
[实例9.3] 模拟一辆客车的承载量 136
9.3 for语句 136
9.3.1 for循环的一般形式 136
9.3.2 for循环执行过程 137
9.3.3 for循环实例 138
[实例9.4] 小球离地多远 138
[实例9.5] 求1~100累加和 138
9.3.4 for循环的变体 139
[实例9.6] 利用for语句且省略第一个表达式求n! 140
9.3.5 for语句中的逗号应用 141
9.4 三种循环比较 142
9.4.1 三者可以互换 142
9.4.2 三者区别 143
9.5 循环嵌套 143
9.5.1 什么是循环嵌套 143
9.5.2 循环嵌套的结构 144
9.5.3 循环嵌套实例 145
[实例9.7] 输出金字塔形状 145
[实例9.8] 打印乘法口诀表 146
9.6 转移语句 146
9.6.1 循环中的break 147
[实例9.9] 实现找真朋友游戏 148
9.6.2 循环中的continue 149
[实例9.10] 宝妈教孩子数数 150
9.6.3 goto语句 151
[实例9.11] 爬楼梯游戏 151
本章知识思维导图 153
第10章 数组 154 视频讲解:11节,50分钟
10.1 数组的概念 155
10.2 一维数组 155
10.2.1 一维数组的定义 155
10.2.2 一维数组的引用 156
[实例10.1] 保存学生的语文、数学和英语成绩 156
10.2.3 一维数组初始化 157
[实例10.2] 求学生的平均成绩 157
[实例10.3] 计算一周步数的平均值 158
[实例10.4] 将图书馆空余座位号输出 159
10.2.4 一维数组应用 160
[实例10.5] 统计{1,5,6,8,2,1,4,5,2,5}各数字出现的次数 160
10.3 二维数组 161
10.3.1 什么是二维数组 161
10.3.2 二维数组的定义 161
10.3.3 二维数组的引用 162
10.3.4 二维数组初始化 162
[实例10.6] 利用二维数组输出坐标 163
10.3.5 二维数组应用 164
[实例10.7] 将二维数组行列对换,即矩阵的转置 164
10.4 多维数组 165
10.5 数组的排序算法 166
10.5.1 选择法排序 166
[实例10.8] 利用选择法将学生成绩进行排序 166
10.5.2 冒泡法排序 167
[实例10.9] 用冒泡法对数组元素进行排序 168
10.5.3 交换法排序 169
[实例10.10] 利用交换法将公司股票排序 170
10.5.4 插入法排序 171
[实例10.11] 利用插入法排序,从多到少输出显示老年人的数量 171
10.5.5 排序算法的比较 173
10.6 数组的应用 173
10.6.1 反转输出字符串 173
[实例10.12] 输入一个单词,正序是一个单词,反转后又是一个新的单词 174
10.6.2 输出系统日期和时间 174
[实例10.13] 获得系统日期和时间 174
本章知识思维导图 176
第11章 字符串处理函数 177 视频讲解:6节,30分钟
11.1 字符数组 178
11.1.1 什么是字符数组 178
11.1.2 字符数组的定义 178
11.1.3 字符数组的引用 178
11.1.4 字符数组初始化 179
[实例11.1] 输出字符串“Park” 179
[实例11.2] 输出一个钻石形状 180
11.1.5 字符数组的结束标志 181
11.1.6 字符数组的输入和输出 181
[实例11.3] 输出“MingRi KeJi” 182
11.1.7 字符数组的应用 182
[实例11.4] 统计字符串中单词的个数 183
11.2 字符串复制——strcpy函数 183
[实例11.5] 重新设置密码 184
11.3 字符串连接——strcat函数 185
[实例11.6] 请用strcat()函数将语句连接 185
11.4 字符串比较——strcmp函数 186
[实例11.7] 编写程序接收用户输入 186
11.5 字符串大小写转换——strupr、strlwr函数 187
[实例11.8] 将输入的字符串全部转换为大写 187
11.6 获得字符串长度——strlen函数 188
[实例11.9] 判断用户输入的密码是否是6位 189
本章知识思维导图 190
第12章 自定义函数 191 视频讲解:14节,72分钟
12.1 函数的概念 192
12.1.1 函数的定义 192
12.1.2 函数的声明 193
[实例12.1] 编写三个函数:做饭,钓鱼,写诗 193
12.2 返回语句 194
12.2.1 什么是返回值 194
12.2.2 有返回值函数 194
[实例12.2] 编写函数getTemperature()返回体温值 195
12.2.3 无返回值函数 196
[实例12.3] 编写一个程序,输出杜甫的《绝句》 196
12.3 函数参数 196
12.3.1 什么是函数参数 196
12.3.2 形式参数与实际参数 197
[实例12.4] 剧本导演选主角 198
12.3.3 数组作函数参数 199
[实例12.5] 按照要求显示出所有素数 199
[实例12.6] 不使用库函数实现字符串连接功能 200
[实例12.7] 编写函数,用来删除字符串的所有空格 201
12.4 函数的调用 202
12.4.1 函数的调用一般方式 202
[实例12.8] 编写函数,输出一则《论语》 202
[实例12.9] 编写函数,实现欧姆定律功能 203
[实例12.10] 判断体温是否正常 204
12.4.2 函数的嵌套调用 204
[实例12.11] 执行总裁CEO目标 206
12.4.3 函数的递归调用 207
[实例12.12] 递归求年龄 208
12.5 内部函数和外部函数 209
12.5.1 内部函数 209
12.5.2 外部函数 210
[实例12.13] 编写外部函数,计算两个数之和 210
12.6 局部变量和全局变量 211
12.6.1 局部变量 211
[实例12.14] 模拟美团外卖商家的套餐 212
[实例12.15] 屏蔽作用 213
12.6.2 全局变量 214
[实例12.16] 连锁店大调价 214
12.7 库函数应用 215
12.7.1 数学函数库——math.h 215
[实例12.17] 编写一个程序,判断两个人相差几岁 216
[实例12.18] 输出数据0.5的3种三角函数值 217
12.7.2 字符检测函数——ctype.h 218
[实例12.19] 判断你输入的是什么类型数据 219
本章知识思维导图 221
第13章 指针 222 视频讲解:11节,65分钟
13.1 指针的相关概念 223
13.1.1 地址与指针 223
13.1.2 变量的指针 224
13.1.3 指针变量 224
[实例13.1] 输出变量地址 225
[实例13.2] 利用指针编写程序将两个数交换 226
[实例13.3] 输出i、j、c的地址 227
[实例13.4] *&的使用 227
13.1.4 指针的运算 228
[实例13.5] 指针自增,地址变化了 228
13.2 数组与指针 230
13.2.1 一维数组与指针 230
[实例13.6] 输出数组中的元素 230
13.2.2 二维数组与指针 232
[实例13.7] 将输入的数以二维数组显示 233
[实例13.8] 输出第3行元素 234
[实例13.9] 输出第2行的停车号 235
13.2.3 字符串与指针 235
[实例13.10] 输出“A day is a miniature of eternity” 236
[实例13.11] 利用指针实现字符串连接 236
13.2.4 指针数组 237
[实例13.12] 输出12个月 238
13.3 指向指针的指针 239
13.3.1 定义指向指针的指针 239
13.3.2 引用指向指针的指针 239
13.3.3 指向指针的指针应用 240
[实例13.13] 输出前20个化学周期表中的金属元素 240
13.4 指针与函数 241
13.4.1 指针变量做函数参数 241
[实例13.14] 交换两个变量值 241
13.4.2 指针变量作为函数参数的嵌套 243
[实例13.15] 将输入的数从大到小输出 243
13.4.3 指针变量作函数参数与一维数组 244
[实例13.16] 使用指针实现冒泡排序 244
13.4.4 指针变量作函数参数与二维数组 246
[实例13.17] 找出二维数组每行中最大的数并求和 246
13.4.5 字符指针作函数参数 247
[实例13.18] 按字母顺序排序 247
13.4.6 返回指针的函数 248
[实例13.19] 输入长和宽,求长方形周长 248
13.4.7 函数指针 249
13.5 带参数的main函数 250
[实例13.20] 输出main函数的参数内容 252
本章知识思维导图 253
第3篇 进阶技术篇
第14章 结构体与链表 256 视频讲解:17节,49分钟
14.1 结构体概念 257
14.1.1 结构体类型的概念 257
14.1.2 结构体的声明 257
14.1.3 结构体变量的定义 258
14.1.4 结构体变量的初始化 260
[实例14.1] 利用结构体显示学生信息 261
14.1.5 结构体变量的引用 261
[实例14.2] 定义一个表示汽车的结构体 262
14.2 结构体数组 263
14.2.1 结构体数组的定义 263
14.2.2 结构体数组的初始化 264
[实例14.3] 展示汽博会上展览的部分品牌车的信息 265
14.3 结构体指针 266
14.3.1 指向结构体变量的指针 266
[实例14.4] 编写程序输出某一书架信息 267
[实例14.5] 模拟某网站店主将毛呢外套信息显示在主页上 268
14.3.2 指向结构体数组的指针 269
[实例14.6] 定义一个班级结构体,输出学生的信息 269
14.3.3 结构体作为函数参数 270
[实例14.7] 输出学生的成绩 271
[实例14.8] 编写程序修改英语成绩 272
14.4 包含结构体的结构体 273
14.4.1 包含结构体的结构体概念 273
14.4.2 包含结构体的结构体初始化 274
14.4.3 包含结构体的结构体引用 274
[实例14.9] 显示某位同学的生日等信息 275
14.5 链表 275
14.5.1 链表概述 276
14.5.2 创建动态链表 276
14.5.3 输出链表 279
[实例14.10] 创建职工链表 280
14.6 链表的基本操作 281
14.6.1 创建链表 281
14.6.2 链表的插入操作 282
14.6.3 链表的删除操作 283
[实例14.11] 输出火爆游戏前3名 285
本章知识思维导图 288
第15章 共用体与枚举类型 289 视频讲解:5节,14分钟
15.1 共用体 290
15.1.1 声明共用体 290
15.1.2 定义共用体变量 290
15.1.3 共用体变量的引用 291
[实例15.1] 设计一个玻璃罐头,一次只能装一种水果 292
[实例15.2] 输出“现在是夏季” 293
15.1.4 共用体类型的数据特点 293
15.2 枚举类型 294
15.2.1 枚举类型的声明 294
15.2.2 枚举类型变量的定义 294
15.2.3 枚举类型变量的赋值和使用 295
[实例15.3] 选择自己喜欢的颜色 296
本章知识思维导图 297
第16章 位运算 298 视频讲解:10节,28分钟
16.1 位与字节 299
16.2 位运算操作符 299
16.2.1 “与”运算符 299
[实例16.1] 将两个人的年龄进行一个“与”运算 300
16.2.2 “或”运算符 301
[实例16.2] 将数字0xEFCA与本身进行“或”运算 301
16.2.3 “取反”运算符 302
[实例16.3] 将自己年龄的取反输出 302
16.2.4 “异或”运算符 303
[实例16.4] 计算a^b的值 304
16.2.5 “左移”运算符 305
[实例16.5] 将15进行左移 305
16.2.6 “右移”运算符 306
[实例16.6] 将30和-30分别进行右移 306
16.3 循环移位 307
16.3.1 循环左移 307
[实例16.7] 编程实现循环左移 308
16.3.2 循环右移 309
[实例16.8] 编程实现循环右移 309
16.4 位段 310
16.4.1 位段的概念与定义 310
16.4.2 位段相关说明 311
本章知识思维导图 313
第17章 预处理 314 视频讲解:9节,26分钟
17.1 宏定义 315
17.1.1 不带参数的宏定义 315
17.1.2 带参数的宏定义 316
[实例17.1] 定义宏将输入两个参数并且返回最小值 317
17.2 #include指令 318
[实例17.2] 一年长一岁 318
17.3 条件编译 319
17.3.1 #if命令 319
[实例17.3] 与50比较大小 319
[实例17.4] 使用#else判断19054是否是能被9527整除的偶数 320
17.3.2 #elif指令 321
[实例17.5] 判断输入的体温是否为正常体温 321
17.3.3 #ifdef和#ifndef命令 321
[实例17.6] 输出“Believe yourself ”和“Don’t give up” 322
17.3.4 #undef命令 323
17.3.5 #line命令 323
17.3.6 #pragma命令 323
本章知识思维导图 325
第18章 文件操作 326 视频讲解:15节,47分钟
18.1 文件概述 327
18.2 文件基本操作 327
18.2.1 文件类型指针 327
18.2.2 文件的打开——fopen函数 328
18.2.3 文件的关闭——fclose函数 329
18.3 文件的读写函数 329
18.3.1 fputc函数 329
[实例18.1] 编写程序向文件中写入内容 330
18.3.2 fgetc函数 330
[实例18.2] 在屏幕中显示出文件内容 331
18.3.3 fputs函数 331
[实例18.3] 向文件中写入“gone with the wind” 332
18.3.4 fgets函数 332
[实例18.4] 读取任意磁盘文件中的内容 333
18.3.5 fprintf函数 333
[实例18.5] 将数字88以字符的形式写到磁盘文件中 334
18.3.6 fscanf函数 334
[实例18.6] 将文件中的5个字符以整数形式输出 335
18.3.7 fread和fwrite函数 336
[实例18.7] 将所录入的信息全部显示出来 336
18.4 文件的定位函数 338
18.4.1 fseek函数 338
[实例18.8] 根据出生日期得知员工哪天过生日 338
18.4.2 rewind函数 339
[实例18.9] 重要的事重复说,输出两遍“我很帅” 339
18.4.3 ftell函数 340
[实例18.10] 设置银行卡账号 340
18.4.4 合并文件 341
[实例18.11] 将谚语输出到同一文件中 341
本章知识思维导图 343
第19章 内存管理 344 视频讲解:7节,18分钟
19.1 内存组织方式 345
19.1.1 内存的组织方式 345
19.1.2 堆与栈 345
[实例19.1] 在堆中分配一个char型指针并输出 345
[实例19.2] 栈的使用 346
19.2 动态管理 347
19.2.1 malloc函数 347
[实例19.3] 有多少件衣服 348
19.2.2 calloc函数 348
[实例19.4] 利用calloc()函数申请内存,将Mingrisoft写入 349
19.2.3 realloc函数 349
[实例19.5] 使用realloc()函数重新分配内存 349
19.2.4 free函数 350
19.2.5 内存丢失 351
本章知识思维导图 351
第20章 网络套接字编程 352 视频讲解:13节,33分钟
20.1 计算机网络基础 353
20.1.1 IP地址 353
20.1.2 OSI七层参考模型 353
20.1.3 地址解析 354
20.1.4 域名系统 354
20.1.5 TCP/IP协议 355
20.1.6 端口 357
20.1.7 套接字的引入 357
20.1.8 网络字节顺序 357
20.2 网络套接字概述 358
20.2.1 套接字定义 358
20.2.2 TCP的套接字的socket编程 358
20.2.3 UDP的套接字的socket编程 359
20.3 网络套接字函数 360
20.3.1 网络套接字函数介绍 360
20.3.2 基于TCP的网络聊天程序 366
[实例20.1] 编写网络聊天服务器端程序 366
[实例20.2] 编写网络聊天客户端程序 368
本章知识思维导图 370
第4篇 项目开发篇
第21章 贪吃蛇大作战 372 视频讲解:20节,132分钟
21.1 开发背景 373
21.2 系统功能设计 373
21.2.1 系统功能结构 373
21.2.2 业务流程图 374
21.3 预处理模块设计 374
21.3.1 文件引用 374
21.3.2 宏定义 374
21.3.3 定义全局变量 374
21.3.4 函数声明 376
21.4 游戏欢迎界面设计 377
21.4.1 游戏欢迎界面概述 377
21.4.2 绘制字符蛇 377
21.4.3 绘制菜单选项 379
21.5 游戏主窗体设计 381
21.5.1 游戏主窗体设计概述 381
21.5.2 创建游戏地图 381
21.5.3 绘制右侧得分和小提示 382
21.5.4 读取游戏最高分 384
21.5.5 绘制蛇身 384
21.5.6 创建并随机出现食物 385
21.6 游戏逻辑设计 386
21.6.1 游戏逻辑概述 386
21.6.2 判断蛇是否咬到自己 386
21.6.3 判断蛇是否撞到墙 387
21.6.4 设置蛇加速前进 388
21.6.5 设置蛇减速前进 388
21.6.6 设置不按键时蛇的前进方向 388
21.6.7 通过键盘方向键控制蛇的前进方向 391
21.7 游戏失败界面设计 394
21.7.1 游戏失败界面概述 394
21.7.2 绘制字符边框 395
21.7.3 打印边框中的信息 397
21.7.4 存储游戏最高分 398
21.7.5 设计分支选项 399
21.8 游戏说明模块设计 400
21.8.1 游戏说明模块概述 400
21.8.2 游戏说明界面的实现 400
本章知识思维导图 402
第22章 缤纷水果消消乐 403 视频讲解:1节,6分钟
22.1 开发背景 404
22.2 系统设计 404
22.2.1 系统流程设计 404
22.2.2 系统预览 405
22.3 开发工具必备 405
22.4 EasyX图形库 405
22.4.1 EasyX图形库简介 405
22.4.2 EasyX图形库的下载与配置 406
22.4.3 常用绘图函数 407
22.5 缤纷水果消消乐游戏的实现 410
22.5.1 预处理设计 410
22.5.2 主窗体的实现 412
22.5.3 游戏音乐的使用 418
22.5.4 鼠标与按键操作 420
22.5.5 水果消除的判断 424
22.5.6 为游戏应用添加图标 430
本章知识思维导图 432
定价:99.0
ISBN:9787122404534
作者:明日科技 编著
版次:第1版
出版时间:2022-07
内容提要:
本书从零基础读者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习C语言编程知识,并提升自己的实际开发能力。 全书共分为4篇22章,内容包括初识C语言、算法、C语言的开发环境、C语言程序结构、数据类型、常用数据输出输入函数、运算符与表达式、条件判断语句、循环控制语句、数组、字符串处理函数、自定义函数、指针、结构体与链表、共用体与枚举类型、位运算、预处理、文件操作、内存管理、网络套接字编程、贪吃蛇大作战、缤纷水果消消乐等。书中知识点讲解细致,侧重介绍每个知识点的使用场景,涉及的代码给出了详细的注释,可以使读者轻松领会C语言程序开发的精髓,快速提高开发技能。同时,本书配套了大量教学视频,扫码即可观看,还提供所有程序源文件,方便读者实践。 本书适合C语言初学者、软件开发入门者自学使用,也可用作高等院校相关专业的教材及参考书。
作者简介:
无
目录:
第1篇 基础知识篇
第1章 初识C语言 2 视频讲解:5节,12分钟
1.1 什么是C语言 3
1.2 C语言的发展史 3
1.2.1 计算机语言简述 3
1.2.2 C语言的发展与应用 4
1.3 C语言的特点 5
1.4 C语言的应用 5
本章知识思维导图 8
第2章 算法 9 视频讲解:5节,17分钟
2.1 算法的基本概念 10
2.1.1 算法的特性 10
2.1.2 算法的优劣 11
2.2 算法的描述 11
2.2.1 自然语言 12
[实例2.1] 把大象装进冰箱里 12
[实例2.2] 农夫、羊、狼及白菜过河 12
2.2.2 流程图 12
[实例2.3] 用流程图表示把大象装进冰箱 13
[实例2.4] 用流程图表示农夫、羊、狼及白菜过河 14
[实例2.5] 判断数字是否为偶数 15
[实例2.6] 用不同循环结构实现同一个求和问题 16
2.2.3 N-S流程图 16
[实例2.7] 求n!的不同流程图 17
[实例2.8] 求最大公约数的不同流程图 18
本章知识思维导图 19
第3章 C语言的开发环境 20 视频讲解:4节,22分钟
3.1 常用的开发环境 21
3.2 安装C语言开发环境 22
3.2.1 下载Visual Studio 2019 22
3.2.2 安装Visual Studio 2019 23
3.3 熟悉C语言开发环境 26
3.3.1 编写第一个程序 26
3.3.2 熟悉开发环境 30
本章知识思维导图 33
第4章 C语言程序结构 34 视频讲解:4节,18分钟
4.1 剖析第一个C语言程序 35
4.1.1 #include指令和stdio.h函数库 35
4.1.2 主函数 36
4.1.3 函数体 37
4.1.4 执行语句 37
4.1.5 return语句 38
4.2 注释 38
4.2.1 单行注释 38
4.2.2 多行注释 39
4.2.3 文档注释 39
4.3 关键字与标识符 40
4.3.1 关键字 40
4.3.2 标识符 41
4.4 C程序的编程规范 42
4.4.1 使用空格 42
4.4.2 使用换行 43
4.4.3 命名规范 43
本章知识思维导图 44
第5章 数据类型 45 视频讲解:11节,51分钟
5.1 常量与变量 46
5.1.1 常量 46
5.1.2 变量 47
5.2 基本数据类型概述 47
5.3 整型数据 48
5.3.1 声明整数类型 48
5.3.2 初始化整数类型 48
5.3.3 其他整型类型 49
5.3.4 打印其他整数类型数据 49
[实例5.1] 输出不同类型 49
5.3.5 整型常量 50
5.4 浮点类型 50
5.4.1 声明浮点类型 51
5.4.2 初始化浮点数据 52
5.4.3 输出浮点型数据 53
[实例5.2] 输出不同小数数据 53
5.4.4 浮点型常量 53
5.5 字符char类型 54
5.5.1 声明字符型 54
5.5.2 初始化字符型 54
5.5.3 输出字符型数据 55
[实例5.3] 输出字符型“A”的值和整型‘A’的值 56
5.5.4 字符型常量 56
[实例5.4] 输出字符笑脸^_^ 57
5.5.5 转义字符 58
5.6 类型转换 59
5.6.1 自动类型转换 59
5.6.2 强制类型转换 59
[实例5.5] 模拟去商场买鞋 60
5.7 变量存储类别 60
5.7.1 auto变量 60
[实例5.6] 使用auto修饰变量 60
5.7.2 static变量 61
[实例5.7] 停车场还剩多少停车位 61
5.7.3 register变量 62
5.7.4 extern变量 62
5.8 混合运算 63
[实例5.8] 计算1+'A'+2.2的值 63
本章知识思维导图 64
第6章 常用数据输出输入函数 65 视频讲解:6节,23分钟
6.1 字符输出输入函数 66
6.1.1 字符输出函数 66
[实例6.1] 输出大眼萌@_@ 66
6.1.2 字符输入函数 67
[实例6.2] 同时输入英文字和转义字符 67
6.2 字符串输出输入函数 68
6.2.1 字符串输出函数 68
[实例6.3] 利用两种形式输出天气预报 69
6.2.2 字符串输入函数 69
[实例6.4] 模拟在线考试系统 69
6.3 格式化字符输出输入函数 70
6.3.1 格式化字符输出函数 70
[实例6.5] 几头牛能吃饱 71
[实例6.6] 琳琅满目的“MingRi”输出格式 72
6.3.2 格式化字符输入函数 73
[实例6.7] 计算圆的周长和球的体积 75
[实例6.8] 输入x和y两个数值,并输出交换后的值 76
本章知识思维导图 78
第7章 运算符与表达式 79 视频讲解:7节,25分钟
7.1 赋值运算符与赋值表达式 80
7.1.1 赋值运算符 80
7.1.2 赋值表达式 80
7.1.3 为变量赋值 80
[实例7.1] 模拟钟点工的计费 82
7.1.4 复合赋值运算符与表达式 83
[实例7.2] 使用复合赋值运算符计算表达式的结果 84
7.2 算术运算符与算术表达式 84
7.2.1 “+”运算符与表达式 85
7.2.2 “-”运算符与表达式 85
7.2.3 “*”运算符与表达式 86
7.2.4 “/”运算符与表达式 86
[实例7.3] 将华氏度转为摄氏度 87
7.2.5 “%”运算符与表达式 88
7.2.6 小结 88
7.2.7 算术运算符的优先级与结合性 89
[实例7.4] 某一小学数学老师为学生出算数题 89
7.3 自增自减运算符 90
7.3.1 “++”运算符 90
7.3.2 “--”运算符 91
7.3.3 “++”“--”运算符的使用 91
[实例7.5] 比较自增、自减运算符的前缀与后缀 92
7.4 关系运算符与关系运算表达式 93
7.4.1 “>”运算符与表达式 93
7.4.2 “>=”运算符与表达式 93
7.4.3 “<”运算符与表达式 94
7.4.4 “<=”运算符与表达式 95
7.4.5 “==”运算符与表达式 95
7.4.6 “!=”运算符与表达式 96
7.4.7 小结 96
7.4.8 优先级与结合性 97
[实例7.6] 判断一个数是奇数还是偶数 97
7.5 逻辑运算符与逻辑表达式 98
7.5.1 “&&”运算符与表达式 98
7.5.2 “||”运算符与表达式 99
7.5.3 “!”运算符与表达式 100
7.5.4 小结 101
7.5.5 优先级与结合性 102
[实例7.7] 数字88和 0真真假假变换 102
7.6 逗号运算符与逗号表达式 103
7.6.1 逗号运算符和表达式 103
7.6.2 逗号运算符应用 103
[实例7.8] 逗号运算符的运用 103
7.7 运算符优先级和结合性以及复合赋值运算符 104
7.7.1 运算符优先级和结合性 104
7.7.2 复合赋值运算符 105
本章知识思维导图 106
第2篇 核心技术篇
第8章 条件判断语句 108 视频讲解:7节,29分钟
8.1 if相关语句 109
8.1.1 单个if语句形式 110
[实例8.1] 模拟到银行取钱场景 111
[实例8.2] 判断是否通过考试 112
8.1.2 if…else语句形式 113
[实例8.3] 选择餐桌就餐 114
[实例8.4] 判断是否是闰年 115
[实例8.5] 商品竞猜游戏 115
8.1.3 if…else if语句形式 116
[实例8.6] 设计过关类游戏 118
[实例8.7] 老师测试同学的立体感和反应速度 118
8.2 if语句的嵌套 119
[实例8.8] 时间都去哪了 121
8.3 条件运算符 122
[实例8.9] 坐计程车所花多少费用 123
8.4 switch语句 123
8.4.1 switch语句的基本形式 123
[实例8.10] 考试成绩的三六九等 125
8.4.2 switch语句的变形 126
[实例8.11] 输入的某个月份属于哪个季节 127
本章知识思维导图 129
第9章 循环控制语句 130 视频讲解:8节,37分钟
9.1 while语句 131
9.1.1 什么是循环 131
9.1.2 while循环的一般形式 131
9.1.3 while循环执行步骤 131
9.1.4 while循环实例 132
[实例9.1] 猜数字游戏 132
[实例9.2] 显示游戏菜单 133
9.1.5 无限循环概念 134
9.2 do…while语句 134
9.2.1 do…while循环的一般形式 135
9.2.2 do…while循环执行步骤 135
9.2.3 do…while循环实例 136
[实例9.3] 模拟一辆客车的承载量 136
9.3 for语句 136
9.3.1 for循环的一般形式 136
9.3.2 for循环执行过程 137
9.3.3 for循环实例 138
[实例9.4] 小球离地多远 138
[实例9.5] 求1~100累加和 138
9.3.4 for循环的变体 139
[实例9.6] 利用for语句且省略第一个表达式求n! 140
9.3.5 for语句中的逗号应用 141
9.4 三种循环比较 142
9.4.1 三者可以互换 142
9.4.2 三者区别 143
9.5 循环嵌套 143
9.5.1 什么是循环嵌套 143
9.5.2 循环嵌套的结构 144
9.5.3 循环嵌套实例 145
[实例9.7] 输出金字塔形状 145
[实例9.8] 打印乘法口诀表 146
9.6 转移语句 146
9.6.1 循环中的break 147
[实例9.9] 实现找真朋友游戏 148
9.6.2 循环中的continue 149
[实例9.10] 宝妈教孩子数数 150
9.6.3 goto语句 151
[实例9.11] 爬楼梯游戏 151
本章知识思维导图 153
第10章 数组 154 视频讲解:11节,50分钟
10.1 数组的概念 155
10.2 一维数组 155
10.2.1 一维数组的定义 155
10.2.2 一维数组的引用 156
[实例10.1] 保存学生的语文、数学和英语成绩 156
10.2.3 一维数组初始化 157
[实例10.2] 求学生的平均成绩 157
[实例10.3] 计算一周步数的平均值 158
[实例10.4] 将图书馆空余座位号输出 159
10.2.4 一维数组应用 160
[实例10.5] 统计{1,5,6,8,2,1,4,5,2,5}各数字出现的次数 160
10.3 二维数组 161
10.3.1 什么是二维数组 161
10.3.2 二维数组的定义 161
10.3.3 二维数组的引用 162
10.3.4 二维数组初始化 162
[实例10.6] 利用二维数组输出坐标 163
10.3.5 二维数组应用 164
[实例10.7] 将二维数组行列对换,即矩阵的转置 164
10.4 多维数组 165
10.5 数组的排序算法 166
10.5.1 选择法排序 166
[实例10.8] 利用选择法将学生成绩进行排序 166
10.5.2 冒泡法排序 167
[实例10.9] 用冒泡法对数组元素进行排序 168
10.5.3 交换法排序 169
[实例10.10] 利用交换法将公司股票排序 170
10.5.4 插入法排序 171
[实例10.11] 利用插入法排序,从多到少输出显示老年人的数量 171
10.5.5 排序算法的比较 173
10.6 数组的应用 173
10.6.1 反转输出字符串 173
[实例10.12] 输入一个单词,正序是一个单词,反转后又是一个新的单词 174
10.6.2 输出系统日期和时间 174
[实例10.13] 获得系统日期和时间 174
本章知识思维导图 176
第11章 字符串处理函数 177 视频讲解:6节,30分钟
11.1 字符数组 178
11.1.1 什么是字符数组 178
11.1.2 字符数组的定义 178
11.1.3 字符数组的引用 178
11.1.4 字符数组初始化 179
[实例11.1] 输出字符串“Park” 179
[实例11.2] 输出一个钻石形状 180
11.1.5 字符数组的结束标志 181
11.1.6 字符数组的输入和输出 181
[实例11.3] 输出“MingRi KeJi” 182
11.1.7 字符数组的应用 182
[实例11.4] 统计字符串中单词的个数 183
11.2 字符串复制——strcpy函数 183
[实例11.5] 重新设置密码 184
11.3 字符串连接——strcat函数 185
[实例11.6] 请用strcat()函数将语句连接 185
11.4 字符串比较——strcmp函数 186
[实例11.7] 编写程序接收用户输入 186
11.5 字符串大小写转换——strupr、strlwr函数 187
[实例11.8] 将输入的字符串全部转换为大写 187
11.6 获得字符串长度——strlen函数 188
[实例11.9] 判断用户输入的密码是否是6位 189
本章知识思维导图 190
第12章 自定义函数 191 视频讲解:14节,72分钟
12.1 函数的概念 192
12.1.1 函数的定义 192
12.1.2 函数的声明 193
[实例12.1] 编写三个函数:做饭,钓鱼,写诗 193
12.2 返回语句 194
12.2.1 什么是返回值 194
12.2.2 有返回值函数 194
[实例12.2] 编写函数getTemperature()返回体温值 195
12.2.3 无返回值函数 196
[实例12.3] 编写一个程序,输出杜甫的《绝句》 196
12.3 函数参数 196
12.3.1 什么是函数参数 196
12.3.2 形式参数与实际参数 197
[实例12.4] 剧本导演选主角 198
12.3.3 数组作函数参数 199
[实例12.5] 按照要求显示出所有素数 199
[实例12.6] 不使用库函数实现字符串连接功能 200
[实例12.7] 编写函数,用来删除字符串的所有空格 201
12.4 函数的调用 202
12.4.1 函数的调用一般方式 202
[实例12.8] 编写函数,输出一则《论语》 202
[实例12.9] 编写函数,实现欧姆定律功能 203
[实例12.10] 判断体温是否正常 204
12.4.2 函数的嵌套调用 204
[实例12.11] 执行总裁CEO目标 206
12.4.3 函数的递归调用 207
[实例12.12] 递归求年龄 208
12.5 内部函数和外部函数 209
12.5.1 内部函数 209
12.5.2 外部函数 210
[实例12.13] 编写外部函数,计算两个数之和 210
12.6 局部变量和全局变量 211
12.6.1 局部变量 211
[实例12.14] 模拟美团外卖商家的套餐 212
[实例12.15] 屏蔽作用 213
12.6.2 全局变量 214
[实例12.16] 连锁店大调价 214
12.7 库函数应用 215
12.7.1 数学函数库——math.h 215
[实例12.17] 编写一个程序,判断两个人相差几岁 216
[实例12.18] 输出数据0.5的3种三角函数值 217
12.7.2 字符检测函数——ctype.h 218
[实例12.19] 判断你输入的是什么类型数据 219
本章知识思维导图 221
第13章 指针 222 视频讲解:11节,65分钟
13.1 指针的相关概念 223
13.1.1 地址与指针 223
13.1.2 变量的指针 224
13.1.3 指针变量 224
[实例13.1] 输出变量地址 225
[实例13.2] 利用指针编写程序将两个数交换 226
[实例13.3] 输出i、j、c的地址 227
[实例13.4] *&的使用 227
13.1.4 指针的运算 228
[实例13.5] 指针自增,地址变化了 228
13.2 数组与指针 230
13.2.1 一维数组与指针 230
[实例13.6] 输出数组中的元素 230
13.2.2 二维数组与指针 232
[实例13.7] 将输入的数以二维数组显示 233
[实例13.8] 输出第3行元素 234
[实例13.9] 输出第2行的停车号 235
13.2.3 字符串与指针 235
[实例13.10] 输出“A day is a miniature of eternity” 236
[实例13.11] 利用指针实现字符串连接 236
13.2.4 指针数组 237
[实例13.12] 输出12个月 238
13.3 指向指针的指针 239
13.3.1 定义指向指针的指针 239
13.3.2 引用指向指针的指针 239
13.3.3 指向指针的指针应用 240
[实例13.13] 输出前20个化学周期表中的金属元素 240
13.4 指针与函数 241
13.4.1 指针变量做函数参数 241
[实例13.14] 交换两个变量值 241
13.4.2 指针变量作为函数参数的嵌套 243
[实例13.15] 将输入的数从大到小输出 243
13.4.3 指针变量作函数参数与一维数组 244
[实例13.16] 使用指针实现冒泡排序 244
13.4.4 指针变量作函数参数与二维数组 246
[实例13.17] 找出二维数组每行中最大的数并求和 246
13.4.5 字符指针作函数参数 247
[实例13.18] 按字母顺序排序 247
13.4.6 返回指针的函数 248
[实例13.19] 输入长和宽,求长方形周长 248
13.4.7 函数指针 249
13.5 带参数的main函数 250
[实例13.20] 输出main函数的参数内容 252
本章知识思维导图 253
第3篇 进阶技术篇
第14章 结构体与链表 256 视频讲解:17节,49分钟
14.1 结构体概念 257
14.1.1 结构体类型的概念 257
14.1.2 结构体的声明 257
14.1.3 结构体变量的定义 258
14.1.4 结构体变量的初始化 260
[实例14.1] 利用结构体显示学生信息 261
14.1.5 结构体变量的引用 261
[实例14.2] 定义一个表示汽车的结构体 262
14.2 结构体数组 263
14.2.1 结构体数组的定义 263
14.2.2 结构体数组的初始化 264
[实例14.3] 展示汽博会上展览的部分品牌车的信息 265
14.3 结构体指针 266
14.3.1 指向结构体变量的指针 266
[实例14.4] 编写程序输出某一书架信息 267
[实例14.5] 模拟某网站店主将毛呢外套信息显示在主页上 268
14.3.2 指向结构体数组的指针 269
[实例14.6] 定义一个班级结构体,输出学生的信息 269
14.3.3 结构体作为函数参数 270
[实例14.7] 输出学生的成绩 271
[实例14.8] 编写程序修改英语成绩 272
14.4 包含结构体的结构体 273
14.4.1 包含结构体的结构体概念 273
14.4.2 包含结构体的结构体初始化 274
14.4.3 包含结构体的结构体引用 274
[实例14.9] 显示某位同学的生日等信息 275
14.5 链表 275
14.5.1 链表概述 276
14.5.2 创建动态链表 276
14.5.3 输出链表 279
[实例14.10] 创建职工链表 280
14.6 链表的基本操作 281
14.6.1 创建链表 281
14.6.2 链表的插入操作 282
14.6.3 链表的删除操作 283
[实例14.11] 输出火爆游戏前3名 285
本章知识思维导图 288
第15章 共用体与枚举类型 289 视频讲解:5节,14分钟
15.1 共用体 290
15.1.1 声明共用体 290
15.1.2 定义共用体变量 290
15.1.3 共用体变量的引用 291
[实例15.1] 设计一个玻璃罐头,一次只能装一种水果 292
[实例15.2] 输出“现在是夏季” 293
15.1.4 共用体类型的数据特点 293
15.2 枚举类型 294
15.2.1 枚举类型的声明 294
15.2.2 枚举类型变量的定义 294
15.2.3 枚举类型变量的赋值和使用 295
[实例15.3] 选择自己喜欢的颜色 296
本章知识思维导图 297
第16章 位运算 298 视频讲解:10节,28分钟
16.1 位与字节 299
16.2 位运算操作符 299
16.2.1 “与”运算符 299
[实例16.1] 将两个人的年龄进行一个“与”运算 300
16.2.2 “或”运算符 301
[实例16.2] 将数字0xEFCA与本身进行“或”运算 301
16.2.3 “取反”运算符 302
[实例16.3] 将自己年龄的取反输出 302
16.2.4 “异或”运算符 303
[实例16.4] 计算a^b的值 304
16.2.5 “左移”运算符 305
[实例16.5] 将15进行左移 305
16.2.6 “右移”运算符 306
[实例16.6] 将30和-30分别进行右移 306
16.3 循环移位 307
16.3.1 循环左移 307
[实例16.7] 编程实现循环左移 308
16.3.2 循环右移 309
[实例16.8] 编程实现循环右移 309
16.4 位段 310
16.4.1 位段的概念与定义 310
16.4.2 位段相关说明 311
本章知识思维导图 313
第17章 预处理 314 视频讲解:9节,26分钟
17.1 宏定义 315
17.1.1 不带参数的宏定义 315
17.1.2 带参数的宏定义 316
[实例17.1] 定义宏将输入两个参数并且返回最小值 317
17.2 #include指令 318
[实例17.2] 一年长一岁 318
17.3 条件编译 319
17.3.1 #if命令 319
[实例17.3] 与50比较大小 319
[实例17.4] 使用#else判断19054是否是能被9527整除的偶数 320
17.3.2 #elif指令 321
[实例17.5] 判断输入的体温是否为正常体温 321
17.3.3 #ifdef和#ifndef命令 321
[实例17.6] 输出“Believe yourself ”和“Don’t give up” 322
17.3.4 #undef命令 323
17.3.5 #line命令 323
17.3.6 #pragma命令 323
本章知识思维导图 325
第18章 文件操作 326 视频讲解:15节,47分钟
18.1 文件概述 327
18.2 文件基本操作 327
18.2.1 文件类型指针 327
18.2.2 文件的打开——fopen函数 328
18.2.3 文件的关闭——fclose函数 329
18.3 文件的读写函数 329
18.3.1 fputc函数 329
[实例18.1] 编写程序向文件中写入内容 330
18.3.2 fgetc函数 330
[实例18.2] 在屏幕中显示出文件内容 331
18.3.3 fputs函数 331
[实例18.3] 向文件中写入“gone with the wind” 332
18.3.4 fgets函数 332
[实例18.4] 读取任意磁盘文件中的内容 333
18.3.5 fprintf函数 333
[实例18.5] 将数字88以字符的形式写到磁盘文件中 334
18.3.6 fscanf函数 334
[实例18.6] 将文件中的5个字符以整数形式输出 335
18.3.7 fread和fwrite函数 336
[实例18.7] 将所录入的信息全部显示出来 336
18.4 文件的定位函数 338
18.4.1 fseek函数 338
[实例18.8] 根据出生日期得知员工哪天过生日 338
18.4.2 rewind函数 339
[实例18.9] 重要的事重复说,输出两遍“我很帅” 339
18.4.3 ftell函数 340
[实例18.10] 设置银行卡账号 340
18.4.4 合并文件 341
[实例18.11] 将谚语输出到同一文件中 341
本章知识思维导图 343
第19章 内存管理 344 视频讲解:7节,18分钟
19.1 内存组织方式 345
19.1.1 内存的组织方式 345
19.1.2 堆与栈 345
[实例19.1] 在堆中分配一个char型指针并输出 345
[实例19.2] 栈的使用 346
19.2 动态管理 347
19.2.1 malloc函数 347
[实例19.3] 有多少件衣服 348
19.2.2 calloc函数 348
[实例19.4] 利用calloc()函数申请内存,将Mingrisoft写入 349
19.2.3 realloc函数 349
[实例19.5] 使用realloc()函数重新分配内存 349
19.2.4 free函数 350
19.2.5 内存丢失 351
本章知识思维导图 351
第20章 网络套接字编程 352 视频讲解:13节,33分钟
20.1 计算机网络基础 353
20.1.1 IP地址 353
20.1.2 OSI七层参考模型 353
20.1.3 地址解析 354
20.1.4 域名系统 354
20.1.5 TCP/IP协议 355
20.1.6 端口 357
20.1.7 套接字的引入 357
20.1.8 网络字节顺序 357
20.2 网络套接字概述 358
20.2.1 套接字定义 358
20.2.2 TCP的套接字的socket编程 358
20.2.3 UDP的套接字的socket编程 359
20.3 网络套接字函数 360
20.3.1 网络套接字函数介绍 360
20.3.2 基于TCP的网络聊天程序 366
[实例20.1] 编写网络聊天服务器端程序 366
[实例20.2] 编写网络聊天客户端程序 368
本章知识思维导图 370
第4篇 项目开发篇
第21章 贪吃蛇大作战 372 视频讲解:20节,132分钟
21.1 开发背景 373
21.2 系统功能设计 373
21.2.1 系统功能结构 373
21.2.2 业务流程图 374
21.3 预处理模块设计 374
21.3.1 文件引用 374
21.3.2 宏定义 374
21.3.3 定义全局变量 374
21.3.4 函数声明 376
21.4 游戏欢迎界面设计 377
21.4.1 游戏欢迎界面概述 377
21.4.2 绘制字符蛇 377
21.4.3 绘制菜单选项 379
21.5 游戏主窗体设计 381
21.5.1 游戏主窗体设计概述 381
21.5.2 创建游戏地图 381
21.5.3 绘制右侧得分和小提示 382
21.5.4 读取游戏最高分 384
21.5.5 绘制蛇身 384
21.5.6 创建并随机出现食物 385
21.6 游戏逻辑设计 386
21.6.1 游戏逻辑概述 386
21.6.2 判断蛇是否咬到自己 386
21.6.3 判断蛇是否撞到墙 387
21.6.4 设置蛇加速前进 388
21.6.5 设置蛇减速前进 388
21.6.6 设置不按键时蛇的前进方向 388
21.6.7 通过键盘方向键控制蛇的前进方向 391
21.7 游戏失败界面设计 394
21.7.1 游戏失败界面概述 394
21.7.2 绘制字符边框 395
21.7.3 打印边框中的信息 397
21.7.4 存储游戏最高分 398
21.7.5 设计分支选项 399
21.8 游戏说明模块设计 400
21.8.1 游戏说明模块概述 400
21.8.2 游戏说明界面的实现 400
本章知识思维导图 402
第22章 缤纷水果消消乐 403 视频讲解:1节,6分钟
22.1 开发背景 404
22.2 系统设计 404
22.2.1 系统流程设计 404
22.2.2 系统预览 405
22.3 开发工具必备 405
22.4 EasyX图形库 405
22.4.1 EasyX图形库简介 405
22.4.2 EasyX图形库的下载与配置 406
22.4.3 常用绘图函数 407
22.5 缤纷水果消消乐游戏的实现 410
22.5.1 预处理设计 410
22.5.2 主窗体的实现 412
22.5.3 游戏音乐的使用 418
22.5.4 鼠标与按键操作 420
22.5.5 水果消除的判断 424
22.5.6 为游戏应用添加图标 430
本章知识思维导图 432
- 化学工业出版社官方旗舰店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...