C语言快学完了,但oj上的题大部分做不出来,都是在CSDN找的,是不是很不正常?有没有办法改?
大家好,非常荣幸可以有这个机会解答这个问题,现在让我们一起探讨一下吧。
首先,OJ的大部分主题都是关于思考的,而不是你在学习C语言后就能通过。你需要掌握一些数学知识,数据结构和其他方面,以及你解决具体实际应用问题的能力。其次,学习C语言主要意味着学习它的语法和规则,掌握这个工具,并使用它来实现自己的想法。许多OJ平台可以根据个人情况选择合适的语言。第三,编程语言和逻辑思维的结合是解决OJ问题的必要条件。在熟悉程序结构的基础上,掌握常用函数的用法,可以简化工作量。例如,如果您不熟悉C语言输入和输出,即使逻辑正确,由于输出格式不正确,您也无法通过平台测试。因此,在学习中,一是要打好C语言的基础,熟悉输入输出、数据类型(包括结构)、各种表达式、分支循环语句等内容,掌握这些知识,并基本满足OJ平台对编程的要求(数据结构要求会更多,指针是必须的);二是学习一些常用的数据结构和算法,了解链表、栈、队列、树、图等的实现原理、存储方法和操作方法。并熟悉枚举、贪婪、分区等算法思想。第三是做更多的问题和总结。你必须自己写代码!对于一个看似简单的话题,不要认为不编写代码和在计算机上测试就能做到。在写作过程中,你会经常发现自己的缺点。
以上这些就是我对于这个问题的一些个人看法和见解,分享给大家,希望大家能开开心心的做头条,头条作品能更进一步,最后希望大家能够喜欢我的回答,谢谢大家,祝大家每天工作开开心心,生活快快乐乐,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!
嗨,你好。很高兴看到并回答你的问题。如果认同回答,记得点赞和转发哦~老邢诚邀关注,一起探索技术之美,共同学习成长!
首先回答一下第1个问题:这种现象是正常的。
下面我说明一下并提出一些我认为可以提升的方法
楼主刚学完C语言,应该是对C语言的语法、C语言运行原理等基础知识有了一定了解,应该具有了一定程序逻辑思维,例如掌握了条件判断、循环、数组等知识。对C语言的指针有了基本认识。
但上述这些内容,还不足以刷OJ。
OJ的题分为基础逻辑题、数据结构及算法题。楼主必须在学完《数据结构与算法》这门课以后,才能基本上手OJ。同时,刷题还需要掌握一些技巧,训练自己的思维习惯。
个人建议楼主可以从头开始刷leetcode。leetcode试题能够对答题者进行全方面的训练,并且现有互联网上有大量leetcode试题解析与视频,如果某道题没有思路,还能找到一些资料。
在刷leetocde时,要有这样一个基本的思考,就是善用数据结构能够帮助你找到快速解决办法。 其实数据结构与算法是不分家的,两者永远都是结合在一起学习和使用。
至今还是有很多人觉得C语言依然是编程行业最基础的东西,毕竟现在很多上了年龄的人在当时大学阶段初级的入门编程语言就是用的C语言,在很多人心中都有个编程梦,有些甚至年过半百了还琢磨自己这辈子没有玩编程而遗憾,也有很多上了年纪的人拿起C语言的书籍一步步跟着网络上的教材进行学习,随着编程语言在国内的普及,编程语言的生态已经发生了很大的变化,特别是高级语言的普及化,倒是显得很多底层语言在编程领域的影响力在下降,但是其重要性还是在加强,就拿C语言来讲是很多编程语言的基础而存在,主流很多编程语言的底层实现就是利用的C语言或者汇编来完成,C语言在编程领域的角色在发生变化,在早期一个很简单的功能模块可能都需要C语言实现很长时间才能稳定,但在今天可能就是另外的一种模式存在了。
尽管很多人对于人工智能不屑一顾,但是从生产力的角度出发,自动化是一种大趋势未来大量的重复性的劳动必然被机器所取代,而打造这些机器的底层基础是离不开编程语言而存在,未来编程发展趋势演变成一种全民编程的存在,因为未来社会与智能化的机器已经紧紧捆绑在一起了,想要更方便的操控机器掌握一定的编程基础的人可能就会产生新的行业,如果有可能掌握一门编程对于适应未来的社会是存在好处的。
回到编程语言的学习过程,编程语言学习最佳的方式掌握一定理论基础上有项目实战,如果两种条件都是具备的情况下可能几个月就能找到编程的感觉,而大部分自学编程的人更多是在网络上找到自己觉得重要的***学习起来,并且通过CSDN等途径进行知识性的拓展,在某种阶段也是小有收获的存在,但在大部分情况下还是处于迷茫的状态,这种属于典型的没有方向感的方式,要摆脱这种模式建议静下心来默默的梳理自己的思路,先从掌握基础的理论开始,这个阶段如果是自学阶段就要耐得住寂寞,虽然编程是讲究实践的技能但如果是没有理论的实践会错失很多知识体系构建的机会。最好的学习编程的方式就是在掌握一定理论的基础上再去实践能够取得意想不到的效果。
对于掌握编程的理论这个阶段对于大部分学习者来讲可能都能克服,最关键的实践对于绝大部分的自学者来讲就是一种极大的挑战,之所以存在挑战找不到匹配自己能力的实践机会,即使专门的培训机构也很难找到匹配的实践项目,这在编程属于混沌阶段一种思维在艰难认知的过程中,在这个过程中会夹杂着理论实践的层次甚至还有放弃的念头,这个阶段对于学习编程的人来讲时间长短不一样,每个真正的程序员都是从这个阶段走过来的,要顺利的度过这个阶段就要坚持做自己认为准确的事情,哪怕是不适合当时的阶段,转化成精神层面就是坚持让自己通过实践找到学些编程的感觉,如果可能的话还能够培养出兴趣出来。
就当前环境下学习编程的人,大部分人还是选择网络或者线下的培训,其实培训更多是在给人指明一种学习方向,或者再通俗点就是找一群一起学习的小伙伴大家互相监督,通过集体的力量来压抑自己散漫的天性,从而达到学习编程的目的,最终能够学好编程的最致命的关键点还是在于内心付出多少,是否从内心想要做好这件事情。