100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > c语言游戏编程入门书籍 自学了C语言语法 – 游戏开发 – 前端

c语言游戏编程入门书籍 自学了C语言语法 – 游戏开发 – 前端

时间:2023-12-29 23:56:59

相关推荐

c语言游戏编程入门书籍 自学了C语言语法 – 游戏开发 – 前端

但是让自己写代码完全不知道如何下手怎么办?

谢邀。

初学者在学习一段时间C语言后,会对语法和结构基本了解,再看书常会产生一种“什么都会”的错觉。之所以说“错觉”是因为,真让自己写C语言代码,不少初学者完全不知道如何下手。

这是一个比较普遍的现象,题主也不用惊慌,这里偶将介绍一种非常适合初学者的编写C语言程序的方法。

从头开始编写C语言程序解决某个问题,应该按照什么步骤来呢?

偶还记得偶当初学习C语言时,看人家写的例子非常顺畅,觉得 C 语言也不过如此。可是真的给偶一个问题让偶从头编程解决,还真是一脸懵逼,完全没有头绪,不知道从何下手。

现在想想,这是因为当时偶还没有编程思想,还不会按照计算机的思维考虑问题,这项能力只能多锻炼获得。

长征是一步一步走的,再复杂的C语言程序也是一句一句完成的。这里偶将介绍一种“增量式”开发的思路,非常适合还没有形成“计算机思维”的初学者。

“增量式”C语言程序开发

还是以实际问题为例,对这种开发思路做介绍,请看问题:

一个长方形对角的两个点坐标分别为 (x1, y1) 和 (x2, y2),用 C 语言编写程序求它的面积。

从数学上来看,要解决这个问题,显然可以分三步:

计算这个长方形的长: L=|x1-x2|计算这个长方形的宽:W=|y1-y2|利用公式:长 x 宽 计算这个长方形的面积 S=L x W

这里直接认为长方形的长在 x 轴方向,宽在 y 轴方向了,长宽的方向并不影响计算面积。

接着,大家看看如何用C语言计算长方形的长。首先应该知道,坐标,长宽,面积应该用 double 类型的数据表示,所以计算长方形长的函数可以如下写:

初学者写到这里就已经不太自信了:这个函数定义写得对吗?虽然偶是按偶理解的语法规则写的,但书上没有和这个一模一样的例子,万一不小心遗漏了什么呢?

既然不自信就不要再往下写了,没有一个平稳的心态来写程序很可能会引入Bug。所以在函数定义中插一个return 0.0立刻结束掉它,然后立刻测试这个函数定义得有没有错误:

编译,运行,一切正常。这时你就会建立起信心了:既然没问题,就不用管它了,继续往下写剩下的C语言代码。

如果你不敢确定写的对,可以就此打住,再来测试一次:

编译并运行这段C语言代码,程序输出 2,是正确的。

至此,就完成了根据坐标计算长方形长度的函数,而且测试正确,又有信心往下继续写了。下面同样的方式来完成计算宽度的C语言函数:

好了,计算长和宽的函数都完成了,现在可以来写计算面积的C语言函数了。计算面积的话,就需要输入两个坐标了,也就是四个变量,然后要在计算面积的函数里计算长方形的长和宽,然后再把长宽相乘计算面积。

如果担心C语言程序写的不对,可以写到这里停下来,先把长和宽计算后打印出来。因为你已经测试过 width 和 length 函数都正确了,如果写到这里出问题了,那就说明肯定是 area 函数写的有问题,这样就不用去之前写的代码中找问题了。编译,运行发现一切正常:

确定没问题了,大家就可以继续往下写 area 函数的C语言代码了。

area 函数中的,包括之前大家测试 width 和 length 函数中的 printf 都起到了类似脚手架的作用:在盖房子时很有用,但它不是房子的一部分,房子盖好之后就可以拆掉了。

房子盖好之后可能还需要维修、加盖、翻新,又要再加上脚手架,这很麻烦,要是当初不用拆就好了,可是不拆不行,不拆多难看啊。写代码却可以有一个更高明的解决办法:把 printf 的代码注释掉。

到这里大家就写完了计算面积的代码,赶紧放到 main 函数中测试:

编译并运行这段C语言代码,发现输出正常:

成功了,至此,终于一点一点的(增量式)用C语言解决了问题。当然,熟练了以后,可以直接写出求面积的函数:

这样写简洁得多了。但是如果出错了呢?只知道是这一长串表达式有错,但根本不知道错在哪,而且 area2 整个函数就一个语句,插 printf 都没地方插。

所以用临时变量有它的好处,程序更清晰,调试更方便。而且,这样写,length和width函数还要不要?不要的话删掉,如果有些情况,只需求长方形的长和宽呢?

那留着 length 和 width 函数咋样?这样的话,length,width 以及 area2 函数有相同的C语言代码,一旦出了错,修改 length,width 还得记着修改 area2 函数。

维护重复的代码是非常容易出错的,在任何时候都要尽量避免。因此,尽可能复用以前写的C语言代码,避免写重复的代码。

按照这个思路来看,还是 area 函数好一点。更进一步的,大家发现 width 和 length 函数的C语言代码逻辑其实是一样的,只是变量的名字不一样,这也应该避免,width 和 length 函数可以用 distance 函数代替:

整理一下,最终C语言代码如下:

到这里,大家就一点一点的写出了自己的C语言程序,可以发现并没有什么难度。

大一学生初学c语言程序设计?

题主说的准备偶理解的是买。接下来问题主两个问题,一是家庭经济条件是否允许。二是学习过程是否必需。结合上述问题具体分析,小编建议家庭经济条件允许,买;学习过程中必需,但是家庭经济情况差,想办法买;其他情况,统统不买。

在考虑怎么回答这个问题时,不禁想起了偶的第一部手机的经历。大二时就有部分同学开始用手机,当时通话费还比较贵,手机基本以收发短信为主,还记得10块钱包360条短信的X感X带的套餐很受学生欢迎。当时偶既没有女朋友,也没有除了学习之外的业务,一张十几块钱的电话卡都能用半个学期,所以手机不是必需品。此外经济条件是最主要原因,一部新手机要一千块钱,一个月生活费二百,别说没需求,就是有强需求也要掂量掂量不是。触发买手机的事件印象也深刻。老师课前临时调整上课教室,由于没有及时得到通知错过了好几次课。省吃俭用了三个月之后,才狠心花了220块钱买了人生中的第一部不知几手的手机西门子2128,很兴奋也很难忘。

再回到题主的问题上来,你想学好C语言,并把它作为谋生技能的话,多多上机实验对你的学习有促进作用,这时能有一台个人电脑就很有必要。

代码Go建议买笔记本电脑,原因有以下几个:一、C语言对机器配置的要求不高笔记本足够使用。二、笔记本电脑便于收纳和携带。三、笔记本电脑与攒台式机的预算相差不大,如果预算少的话,可考虑二手设备。说一千道一万,最终还是要根据自身经济情况选择。

最后,愿偶的个人经历和建议能对你有所启发,也愿你能在短时间内C语言水平从入门到精通。真学不会或者迷茫时,瞅瞅偶的个人简介,你懂的哟。

偶是@代码Go说科技 ,码农的视角看科技,带给大家不一样的感受。欢迎大家阅读评论转发加关注。

声明:图片来自网络,如有侵权,联系必删!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。