为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途?
Θ┃为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途?
”学习C语言用一个学期,而且感觉是用代码做一些简单的数学题,没什么用途”,这说明你的感觉是对的,老师的教学方法错了,必须彻底改变学习方法,以提高学习效率。
象这种底层的高级C语言,一般学会并熟练使用,时间不超过两周。
学习编程语言,绝不能象高数一样,一节一节地学扎实,推理有据。编程语言类有它的学习方法。
我九十年代初,在工作中学C语言,两周时间,不仅学会了,而且做了一个集编辑、图形描画、零件程序解释的APP,之前一点基础都没有,就一本介绍库函数及C基础的英文书。
学习第一步:下载并安装IDE,通过做界面程序,验证所学的结构、变量、指针、逻辑关系、文件读写、内存分配、图形界面编写等,不仅学明白了,而且用于实际开发中。
很多初学者,老是喜欢钻牛角尖。如变量,unsigned char,char,signed char,BYTE,WORD,int,unsigned int,long int,LONG,LP,void *,int *,p=&i,p=(struct tr*)&p等等变量,表达式搞的晕晕乎乎,以致于觉得云遮雾罩,高深莫测。
很多人惊呼:老师水平咋这么高!
初学者建议使用VS编绎器,它对C,C++有极好的兼容性,在VS上做好RC,用子程序实现C的编程学习。
这时我们就陷入了一个学习误区。
学习第二步,把以上的指针、变量写成程序,编绎系统自然会告诉你那错了。有助于快速理解C语言的各种概念。
如下图,关于指针、结构:
上图所示代码,指针错了,系统提示error2102错误。指针改正后,如下图:
第三步,把编程语言与数学算法分开。C是语言,高数、线代、微分数值解等是算法。语言学明白了,实际应用时,把算法写成函数库,供以后使用
很多人认为,既然AI要用到算法,那么,学语言时,就要先学算法。
大错而特错!算法属于应用,属于数学建模,它是固定的,工作中随时可找到函数库,直接调用。如下,做库函数:
总结:把语言与数学要分开学。学习语言,要边做程序边学习。单纯C语言,学习时间应不超过两周时间。
➮➽为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途?
编程语言最核心的东西就是算法,也就是你说的数学题。算法牛不牛,决定了产品牛不牛。百度背后的搜索算法,今日头条的推荐算法,成就了他们今天。
难道你想做复杂的数学题?如果你数学好可以做一些复杂的数学模型。比如人工智能领域ocr识别模板匹配算法(算法公式如图),你也可以搞下计算机中比较牛的几个算法:定向搜索算法、二分查找、分支界定算法、Buchberger算法、Diffie-Hellman密钥交换算法、数据压缩算法、Dijkstra算法、离散微分算法、动态规划算法、期望-最大算法、梯度下降算法、哈希算法、堆排序、决策树、 随机森林、分层聚类算法、线性分类器···
↲✖为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途?
一个学期,能干嘛,虽然我不编程,不过十年前无聊自己玩过易语言,然后有款游戏叫 程序员升职记,这个游戏我玩了一下,到10关以后基本看着攻略都不会,即使看着攻略过关了也不知道为什么,但玩了这款游戏让我一个30的人突然就明白了什么叫逻辑思维能力,真就是逻辑思维,不知道怎么描述,不过我想玩程序的人应该逻辑思维能力很强,至少你现在所做的就是锻炼这个能力。可以去试试这个游戏,如果能通关再说你学的东西有没有用吧
以我一个外行人的感觉就是,各种命令什么的谁都会,但好的程序猿可以用最佳的组合做出来,代码最少,机器运行流畅,逻辑思维不行的人也能做出一样的程序,但代码复杂,运行起来各种卡顿,感觉你可以练习一下,同样的结果怎么用更加优化的方式来实现这个方向
❤❊为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途?
前言:想法正常,但是认知有误。
1、学习编程的目的
编程的目的是为了解决问题,即便是因为兴趣爱好也是算是解决问题的范畴。因而学习C语言,做数学题也是锻炼能力的一个过程。因为现实过程中的问题,一般是多因素的。就比如种树,实际上解决的时候,就得考虑拿什么挖坑、拿什么浇树,甚至是不是在种下之前进行堆肥。而抽象为数学题的时候,可能就是给了面积和间距,就求数量了。
数学是什么,到底怎样的一门学科。很多时候,我们在学校学习的时候,仅仅把这门学科当作是记得少,算得多的一门学科。到了实际的应用中,没有数学很多问题还真不好解决。
这里就说地铁的停车和开车,类似的火车也是一样的,这是一类很普通的大众交通工具。我们经常乘坐,但是很少去考虑它的实际运行性能。
但是,不去关注不代表没有,这里就会有一个PID的控制方式。简单拆分为数学的 积分、微分、比例。因为实际的运行不是凭司机感觉去加速、减速,这么大动量的物体就会按照这相关的算法去控制。这里的算法就可以粗略理解为程序。
数学本身就是有用的,编程解决数学题,更加有用。数学本身似乎没有太大的实际用途,并不像体育能教会我们怎样去锻炼身体,因为数学的本身就是将实际物理形态的东西抽象了,这样做的目的是为了概括一类问题,解决一类问题。比如---公式。
2、C语言的一些应用场景
我是一个嵌入式工程师,有个时候设计一些简单的硬件,有个时候会编写一些程序。我使用的平台叫做单片机。相关的应用也不少,比如电磁炉、电饭煲,里面的控制核心就是各种各样的单片机,而单片机的灵魂就是C语言。当然单片机在这里,他们会有一个高档的名字叫微控制器。一般而言,有这样字眼的家电,价格上就会不一样。
这里是单片机的具体应用,也是C语言的具体应用,因为在找工作的时候,岗位JD里面会明确规定:1、会用单片机;2、会使用C语言编程。比如电饭煲什么时候断电,传统的做法都是水干了,温度达到100℃温控器就跳闸。实际上,利用C语言编程判断温度是不是达到100,达到100℃就断电,也是可以实现的。只是在实际应用的时候,就不仅仅是比较温度了,还有有温度的测量原理以及准确测量温度的方式。
总结:想来想去也没找到好从好句,借用名言------任何语言的编程到最后都是算法。
┝Ⓓ为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途?
在现有的计算机体系中C语言可谓是编程的鼻祖,使得人们从晦涩难懂的机器汇编语言过渡到更接近平常正常人思维的高级语言。C语言的出现也直接促使了编程之树的蓬勃发展,使得更为复杂的程序成为可能,也大大提高了程序跨平台的兼容性。
学C语言刚入门的时候都会觉得它只适合用来解数学题毫无用处的这种感觉。对于之前没有编程经验的人来说,学了一个学期C语言,还不能算得上入门了,仅仅只是对C语言有一个概念性的理解,很多专有名词都还有可能理解不透彻,更别提它要如何去使用。
实际上任何一门变成语言,当你会用它来做一些简单的数学题,就已经打开了编程的这扇大门,后面还有更多的概念和应用等着去挖掘、实践,这绝对不是一朝一夕就能完成的,需要一个长期学习、运用从量变到质变的过程。
编程离不开数学、算法、数据结构,这是循序渐进的一个过程。这就好比小学要花5~6年去学习加减乘除、小数、分数等等一些基础的数学概念和算法,到了初中才会去学习如何通过数学去解决实际生活中遇到的一些问题,到了高中已经能够建立数学的模型去解决更为复杂的问题,有了这些铺垫上大学才能对于晦涩难懂的数学理论进行学习和应用。
大道至简同样适用于编程,程序的UI界面只是表皮,真正支撑程序的是算法和结构逻辑。再复杂的程序最终都会变成机器才能懂的一串0和1。
但同样是乐高积木,却有人能用50万块乐高积木搭建搭建惟妙惟肖、鬼斧神工、令人叹为观止的“故宫三大殿”模型,这里面包含了决心、创意、坚持。过去的人还在羡慕鸟儿能自由在空中翱翔的时候,如今的人却能坐上精密的飞机在空中穿梭,甚至借助载人火箭飞船翱翔宇宙,学习并没有止境,编程这条路同样没有。
学习编程需要更多的是自学和敲代码实际应用
很多人对于C语言的第一印象就是谭式C语言,更贴切来讲是程序设计基础,书本上并没有很高深的程序,教授的老师也并没有指望你学完程序设计基础去做一些多么厉害的东西,只是希望你学会什么是C语言,程序设计是什么样的。这也进一步地印证了“师傅领进门,修行在个人”这句话。
不管现在的何种编程语言都遵循发展C语言的古法常量、变量、类、结构体、函数、循环、判断分支等等。一门编程语言足够吸引人的地方在于它拥有一个庞大的生态系统,让开发者开发时引用到很多优质的库,这样就会大大的缩短开发的时间,比如Python、JavaScript、GO、Java等等就拥有这样的特性。编程语言的更新和迭代往往会带来更好的应用,会推出更多的应用库同时修正以往不好的设计。
学习编程是需要付出代价
衡量一门编程语言好不好也取决于对于初学者的友好程度,容易上手也不需要花费几年的时间去掌握它。可是编程语言仅仅只是给你一个平台,至于你是搭建一个茅草屋还是搭建一个座高楼大厦完全取决于你自己,而这个过程是要付出代价。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!
喜欢我的,请关注我,再次感谢!
------------------
推荐阅读:
如果《梁祝》发生在现代,姑娘们是选马文才的多还是梁山伯的多?
有人认为贷款买房合适,因为货币会贬值,那么银行不怕货币贬值吗?
下一篇: 经常眼睛干涩怎么办?