大家好,今天小编关注到一个比较有意思的话题,就是关于c语言入门到放弃的问题,于是小编就整理了1个相关介绍c语言入门到放弃的解答,让我们一起看看吧。
为什么C语言这么难学,怎么才能学好呢?
c的语法是现在语言中比较简单的,要说语法是就只有c++最为复杂了。
大家说的c难是因为,用c开的的东西一般与系统api和算法有关。
算法这个,没个数学功底真的想不到,其它的语言没有比较高级的算法,其它语言的算法也都是c语言从语言的底层(不是系统的底层)实现的,再封装成语言的算法库。
系统api,这个东西不像语言层级的api那么简单,它是系统直接关系的相当复杂,要了解系统、信号、返回值这东西表现出来的现象多,与你要做一个东西有不同的处理。
还有一个点c实现的东西要考虑到性能,这个不简单,不是简单的io性能,要考虑内存拷贝的消耗、堆栈开关的消耗、cpu调度的消耗。
C语言难学,个人认为是被国人误传或误教所致。一直以来,高校理工科都开设了C语言,学生稀里糊涂开始学习。在不清楚学习目的、所需前提知识的情况下,仅学习些基础语法知识,导致大部分学生学习效果不理想,从而造就了C语言难学的传说。
C语言是程序员与计算机进行交流的一种语言,目的是达到对计算机进行,实现程序员预期的效果或功能。因此,为了能更加有效地进行交流或控制,除了学习些基础的语法知识外,还要求学习者对交流对象要有较清楚的了解或熟悉(即所需前提知识),和掌握一些必要的交流技巧(思维方式或套路类的东西)。
所需前提知识涉及:计算机硬件、硬件与软件的关系、计算机的运行机制,特别是内存对数据存储方面的知识。尽管这些内容很多,但从学习编程的角度,只需要从概念上进行理解,作为一种背景知识即可。不少老师说是为了减轻学生的学习负担,尽量淡化这方面的知识。试想,你对被交流的对象一无所知的情况下,还能好好的交流吗?可能是高校的老师习惯了 无人听课式的讲课,从而认为所有人也能这样交流吧(笑话呀,不过好像还是实情呀)。
需要的思维方式嘛,主要是了解任务分解的套路。怎样将一个大的任务分解成多个小的任务,两者之间的关系,并且这些怎样组织起来。现实生活中,遍地都是这方面的实例,只是没有人引导的问题。
c语言是最简单的面向过程编程语言,难度比面向对象的C++低了好几个级别了。
大学的有个同学考初级电工证,很简单的电路接了两个小时。考官都服了。如果你对一个学科最简单的部分都搞不懂,那说明你在这方面没天赋。就像我的英语永远不及格
之所以初学者认为C难学是因为通常初学者未学习过两门基础课,一门是数值分析,另一门是数据结构。这两门课是计算机软件科学最基础的入门课。C中的堆,栈,链表等概念及其操作方式在熟悉数据结构前是很难理解的。如果有条件,还可以读读编译原理,初步了解一下逆波兰表示法等概念。建议初学者先行学习基础课后再去读C的语法。读语法时不要忘记跟着LINUX/UNIX系统的learn从Hello World逐步练习。C的语法课本建议选用K&R第四版原著的中译本。如果没有LINUX/UNIX系统建议找较老版本的MSC,turbo C 。切忌选择VS(VS中包含大量的WINDOWS消息截获,处理的内容,SDK和GUI。大量不同领域的概念会将初学者搞糊涂)。
在完全搞懂C的全部概念以后再去阅读VS中消息截获与处理方式会觉得C is so easy。
到此,以上就是小编对于c语言入门到放弃的问题就介绍到这了,希望介绍关于c语言入门到放弃的1点解答对大家有用。