描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121317460丛书名: Hello系列
部分 轻 松 入 门
第1章 C语言编程环境搭建
11 编程工具选择
12 Dev-C 工具的下载与安装
13 创建一个C文件
14 编译一个C文件
15 改变字体大小的设置
第2章 初识C语言
21 掀起C语言的盖头来
22 写给女朋友的一封情诗
23 送你一束玫瑰花
24 绚丽的动画——女朋友数玫瑰
25 小结
26 练习
第3章 减少重复操作——循环语句
31 循环的描述——循环三要素
32 帮你计数的人——循环变量
321 变量的定义
322变量的输出
33循环是否达到终值
331比较运算符
332逻辑运算符
34时刻变化着的循环——循环增量
35三种循环语句
351for循环语句
352while循环语句
353do-while循环语句
36女朋友数玫瑰——循环版
37几何图形有学问
371实心长方形
372空心长方形
373直角三角形
374菱形
38数列求和也容易
39送你999朵玫瑰花
310三种循环语句的区别
311死循环的各种写法
312循环中的特殊情况——continue、break与goto
313小结
314练习
第4章分情况处理——分支语句
41爱情心理测试介绍
42输入函数
43分支语句
44爱情心理测试
441单次测试版
442循环测试版
443循环版本的问题
45测测女朋友值多少钱
46猜数游戏
47猜数游戏的问题——随机数种子
48石头剪刀布——猜拳游戏
481单局猜拳游戏
482多局猜拳游戏
49多路开关好处多——switch语句
410switch语句的运行过程
411if-else语句的运行过程
412年龄的秘密
413小结
414练习
第5章制造自己的工具——函数
51内容变化的重复
52工欲善其事,必先利其器——函数的概念
53造一把利器——函数的定义
54女朋友数玫瑰——函数版
55取回新产品——函数的返回值
56函数注意事项
57有用的定位函数
58小球横向滚动
59小球弹跳游戏
591游戏界面绘制
592小球移动反向逻辑
510全局变量与局部变量
511修改小球弹跳的速度
512两个小球弹跳游戏
5121重复代码实现方式
5122函数版本实现方式
513函数参数的传递机制
5131函数参数的值传递机制
5132程序调试(debug)
5133指针的概念
5134指针做函数参数
5135指针总结
514小结
515练习
第6章封装相关数据——结构体
61结构体的概念
62小球弹跳的结构体版本
63掷骰子游戏
631游戏介绍与分析
632画骰子边框
633画骰子点数
634画出骰子并提示玩家输入选择
635骰子跳动与输赢判断
64100个小球弹跳
641数组的概念
642100个小球弹跳
65小结
66练习
第7章组合类型比较——数组与结构体
71数组与结构体的区别
72数组的常用操作
721遍历数组
722数组元素累加
723数组添加元素
724数组删除元素
725寻找数组的值
726冒泡排序
727冒泡排序改进
728选择排序
73猴子选大王
74全民打飞机
741游戏界面开发
742画飞机
743飞机移动
744键盘操控飞机
745设计子弹
746子弹产生与消失
747怪物的产生与消失
748碰撞检测
75小结
76练习
第8章数组的数组——二维数组
81二维数组的概念
82二维数组的初始化
83一份成绩单
84螺旋矩阵
85练眼力
86井字棋
861游戏介绍与界面搭建
862棋子信息存储
863下棋逻辑设计
864判断游戏结束逻辑
865判断输赢逻辑
866手动下棋操作
867智能自动下棋逻辑
87男女的婚姻匹配问题
871问题描述
872数据存储于初始化
873算法描述
874main函数实现
88小结
89练习
第9章无处不在的字符串
91字符串的概念
92字符串的常用操作
93字符串反转
94字符串压缩算法
941压缩逻辑设计
942整数转字符串
95删除重复字符
951普通删除法
952快速删除法
96测测你的名字在古代是什么职位
97自定义字符串的常用操作
98小结
99练习
第二部分知 识 进 阶
第10章数据类型与变量
101变量的定义与初始化
102变量的大小
103更多数据类型
104各种类型的范围
105变量在内存中的样子
106类型的相互转换
107数组变量及其大小
108结构体变量及其大小
1081字符变量与int型变量在内存中的对齐方式
1082字符变量与double型变量在内存中的对齐方式
1083结构体内部变量的对齐方式
1084结构体的大小必须是对齐模数的整数倍
1085嵌套结构体的大小
1086结构体大小计算法则
109指针变量及其大小
1010枚举变量及其大小
1011共用体变量及其大小
1012小结
1013练习
第11章运算符
111各种运算符
112优先级与结合性
113i 与 i
114逻辑运算符的短路特性
115位运算符
1151位运算符介绍
1152位运算符的应用
1153位运算与枚举类型
1154位段及其好处
1155位操作与位段综合应用
1156位段与共用体的综合应用
116小结
117练习
第12章指针
121指针是什么
122各种类型指针
1221基本类型变量的指针
1222结构体变量的指针
1223共用体变量的指针
1224数组的指针
1225函数的指针
1226指针的指针
1227void指针
123指针的运算
1231指针只能与整数做加减运算
1232相同类型的指针可以做减法与比较运算
124指针与数组
1241数组名是一个指针
1242数组名与数组地址的区别
1243数组做函数参数就转化为指针
125指针与字符串
126指针与函数
1261函数指针
1262函数指针数组
1263指针作为函数参数
1264返回指针值的函数
127指针与const修饰词
1271const修饰普通变量
1272const修饰指针变量
1273const修饰函数的形参
1274const与面试题
128指针与链表
1281链表的概念
1282链表的构造
1283链表遍历
1284插入节点
1285删除节点
1286链表反转
1287遍历一次链表找到链表的中间元素
129小结
1210练习
第13章C程序是怎么使用内存的
131程序的运行过程
132全局变量
133静态变量
134字符常量
135动态内存管理
1351malloc进行动态内存分配
1352把英文句子按单词反转
1353calloc进行动态内存分配
1354realloc进行动态内存分配
1355可变长数组
1356malloc与free的基本原理
136C程序运行的4个内存区域
137递归函数与栈
1371递归函数的定义
1372递归函数的运行过程
1373递归函数的应用——全排列
1374递归函数的应用——快速排序法
138小结
139练习
第14章编译预处理
141C程序的编译过程
142头文件中装的是什么
143项目分多个文件
144include命令
145头文件的正规写法
146define命令
1461字符串宏替换
1462空宏体的宏
1463宏常量与const常量的区别
1464带参数的宏
1465#define命令的注意事项
147条件编译
148typedef命令
149typedef的定义过程
1410define与typedef的区别
1411小结
1412练习
第15章文件处理
151文件与流
152访问文本文件
1521打开与关闭文本文件
1522写入文本文件
1523读取文本文件
1524为文件追加内容
1525其他读取文本文件的方法
1526其他写入文本文件的方法
1527文本文件读写的问题
153文本文件与二进制文件的区别
154块方式读写文件
155文件定位与随机读写
156随机读写应用
157总结
158练习
第三部分项 目 进 阶
第16章贪吃蛇
161游戏介绍
162游戏元素设计
163画游戏界面
164产生食物
165产生蛇
166画蛇
167游戏逻辑设计
168检查方向
169蛇游动逻辑
1610蛇吃食物
1611游戏结束判断
1612删除两节蛇的身体
1613反转蛇的身体
1614反转蛇的移动方向
第17章俄罗斯方块
171游戏介绍
172方块设计
173打印游戏界面
174游戏界面的数据
175主函数与头文件
176方块的产生
177方块的移动
178判断方块下方是否有空
179判断方块是否到顶部
1710键盘操控逻辑
1711左移方块
1712右移方块
1713翻转方块
1714消除方块
1715计算得分
1716翻转方块的问题
第18章围住神经猫
181游戏介绍
182游戏元素设计
183初始界面绘制
184移动光标进行封堵操作
185寻找每个点周围的点
186猫随机移动
187猫智能移动
188广度搜索算法
189回溯找猫的位置
附录
前言
从事20多年的编程工作,近有机会受邀去一些大专院校开办讲座。与会的老师和同学们的超级反响与鼓励让我获得感满满。
大家非常喜欢讲座的内容和演示案例。说我利用做包子的过程,把编程知识讲得通俗易懂、形象有趣,让他们一下子厘清了程序设计语言的知识脉络,有一种醍醐灌顶、茅塞顿开的感觉。说平时玩过很多游戏,用过若干软件,却从来没想过可以自己开发利用,而我却有各种语言的实现版本。大家都想复制源代码去学习。
真是“春风得意马蹄急,一日看尽长安花”,“桃花潭水深千尺”,不及众人赞我情。
于是,我决定撰写这本书。
我对学习编程有两个理念:
,学习的目的在于应用,在应用的过程中学习知识是好的方式。多做项目、多写代码是学习编程好的方法。本书提供了几十个大大小小的项目,帮你积累开发代码上万行。
第二,人们只有在有强烈需求的情况下才有强烈的学习愿望。本书试想通过在项目开发过程中不断引出问题,帮大家制造强烈的需求,以此达到的学习效果。
本书分为3个部分:
部分,轻松入门。精心设计了几十个有趣案例,带领大家循序渐进地去开发。在开发过程中,提出问题,引入知识点,进而运用知识点解决问题,让每个知识点都能找到一个真实的应用场景。由此开创在实战中学习、在学习中实战的新模式。既激活了枯燥的知识讲解,又积累了编程经验;既学会了知识点,又体会到其应用;既锻炼了逻辑思维,又积累了开发经验,一举多得。
第二部分,知识进阶。通过知识点的深入讲解与对比,不仅让读者知其然,更知其所以然。从程序的运行过程来体会知识点之间的联系、区别及注意事项。该部分旨在让读者深入理解C语言程序设计的概念与知识,从容面对考试与面试。
第三部分,项目进阶。通过3个大项目的开发,综合运用前两部分的内容,让读者进一步熟悉编程的逻辑表达与算法设计。
本书旨在积极践行国家培养应用型人才的教育战略,尝试抛弃传统的知识与项目分开讲解的教学法,重在应用。但毕竟是前所未有的初次尝试,如有不妥之处,欢迎读者通过网站www.daimawang.cn与我们联系,以助改进提高。
本书QQ讨论群:332383304(群名:C语言讨论群)。
评论
还没有评论。