大家好,今天小编关注到一个比较有意思的话题,就是关于学c语言出路的问题,于是小编就整理了4个相关介绍学c语言出路的解答,让我们一起看看吧。
计算机专业的学生需要深入学习C语言吗?
1.我相信很多从事编程的人和计算机专业的学生都是从C语言开始入门的,C语言作为编程入门的语言到底有没有必要深入学习,我的答案是否定的。
Web开发,那就完全没有必要深入学习C语言,因为这并不是C语言所擅长的。
3.如果你以后想要做物联网,做嵌入式,做底层硬件开发,那么学好C语言是很必要的,因为C语言虽然作为高级语言,到它是最接近硬件编程的语言,而其他面向对象的语言,像,Python都是做了很大的封装。
4.一个人的精力是有限的,到底要不要深入学习C语言取决于你以后决定发展的方向。当然,如果你精力充足的话,可以深入去学习,对以后工作还是有很大帮助的。
计算机专业的学生应该要深入学好一门编程语言,比如可以选择C语言。不管是C语言还是其他的编程语言,都仅仅是一个工具,是为其他课程服务的一个编程工具,详细来说如下。
一、编程语言之间是相通的
计算机专业可能要学习多种编程语言,有的学生感觉有点困难。其实不必担心,编程语言之间有很多的相似性,认真学好C语言,其他的编程语言就能很快入手。
比如C语言的基本数据类型有整型、字符型等,复杂点的数据类型有数组型、结构型。在c++、J***a中基本数据类型和复杂数据类型也是这些。所以学好C语言其他语言基本也就学了一大半。
二、C语言为其他课程服务
C语言为其他课程服务体现在编程。
比如有一门课程叫数据结构,这门课程重点是各种各样复杂的数据类型和算法。比如栈、队列、二叉树等数据结构,还有二分查找、树的遍历、图的搜索等算法。学好这些数据结构和算法只能说明你理解了这些概念了,但是要实际使用它们得使用编程语言。
现在不就有数据结构的教材使用C语言来实现的吗!比如使用C语言实现链表、队列、二叉树等数据结构,使用C语言实现堆排序、快速排序等算法。
所以学习C语言不是为了学而学,而是为了学好以后服务其他的课程,或者用于解决今后的生活和工作中的问题。因此,C语言很重要!
C语言开发
如果您未来***工作方向为C语言开发,建议深入学习C语言
深层次研究
如果您未来***深层次研究嵌入式开发等,建议深入学习C语言
ACM比赛
如果您***参加C语言相关的国际性比赛,建议深入学习C语言
其他工作
如果您未来的***为其他方向,如J***a开发,数据库开发,运维等工作,是可以不深入学习C语言的,正常完成学业即可。
……
希望对您有帮助,我身边就有计算机学院毕业的,但是在国企工作,完全用不到C语言。如果***晋升管理岗,可能还需要补充业务知识。
C语言作为计算机专业的一门基础专业课,我认为学好C语言对后续作为程序员的职业生涯是非常重要的。
C语言应用广范
操作系统、平台软件等底层核心软件基本上都是***用C语言 开发的,比如linux操作系统、Apache Web服务器、Nginx服务器、MySQL数据库等知名软件都是***用C语言开发的,游戏软件引擎等对性能要求高的软件系统也大多***用C或C++语言开发,在嵌入式开发领域以及工业控制、实时控制等领域也基本是***用C语言开发,在执行的硬件环境受限的场合(比如[_a***_]小,cpu性能低)的嵌入式开发领域以及对性能要求苛刻的系统,甚至都不***用C++而是要求只能用标准的C语言。
C++也同样有着比较广泛的应用,比如腾讯的代码库中,C/C++的代码占比是最多的,微信的核心后台就是用C++语言开发的,名气比较大的Google发布的机器学习开发框架TensorFlow也是***用C++开发的。所以单纯学好C这门语言也会有合适的工作机会和应用场景,再近一步学习面向对象的C++,应用场景会更多。
C语言足够低层和简洁
相比更高级的开发语言,如Python甚至J***a语言,C语言只提供了基本的语法和库,没有高层的功能封装,这就使C语言非常简洁,容易掌握。
C语言比较适合和低层系统打交道,比如需要自己手工分配内存、Linux环境下开发可以自己屏蔽信号等等,C语言可以实现各种底层的对机器***的控制和使用,这使C语言具有足够的灵活性并能更接近操作系统和硬件。因此通过学习C语言能更清晰的理解程序开发和运行的底层机制,理解了这些知识,对学习其他语言就具有了扎实的基础,对后续的工作中的各种语言开发的程序进行性能优化、问题定位等也都有帮助。
首先,搞计算机的人会发现,很多计算机类的工作,做着做着就开始往编程上靠,例如网页设计、移动app开发等,开始还是做设计,但是随着功能需求的变化,必然要用到程序,也许是PHP,也许是Python,也许是J***a……所以学习语言是计算机专业的学生必须要做的事情!
其次,非得学习c语言吗?我的答案是否。c语言是一门面向过程的计算机编程语言,而现在很多高级语言是面向对象的,例如c++,J***a等。面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用。而面向对象是把问题分解成各个对象,每个对象完成一个特定功能。以功能来划分问题,而不是以过程划分,这使得面向对象的可扩展行比较好,是现在大多数程序猿使用的编程思想。所以你也可以直接选择面向对象的某一门语言来学习。
第三,不管什么语言,一定要学扎实、学完整、学会!一来掌握了一项技术,二来培养了编程思维,三来有了基础将来再接触别的语言时会很容易上手。
以上是我个人的一些观点,希望对您有帮助!^_^
为什么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语言,学生稀里糊涂开始学习。在不清楚学习目的、所需前提知识的情况下,仅学习些基础语法知识,导致大部分学生学习效果不理想,从而造就了C语言难学的传说。
C语言是程序员与计算机进行交流的一种语言,目的是达到对计算机进行控制,实现程序员预期的效果或功能。因此,为了能更加有效地进行交流或控制,除了学习些基础的语法知识外,还要求学习者对交流对象要有较清楚的了解或熟悉(即所需前提知识),和掌握一些必要的交流技巧(思维方式或套路类的东西)。
所需前提知识涉及:计算机硬件、硬件与软件的关系、计算机的运行机制,特别是内存对数据存储方面的知识。尽管这些内容很多,但从学习编程的角度,只需要从概念上进行理解,作为一种背景知识即可。不少老师说是为了减轻学生的学习负担,尽量淡化这方面的知识。试想,你对被交流的对象一无所知的情况下,还能好好的交流吗?可能是高校的老师习惯了 无人听课式的讲课,从而认为所有人也能这样交流吧(笑话呀,不过好像还是实情呀)。
需要的思维方式嘛,主要是了解任务分解的套路。怎样将一个大的任务分解成多个小的任务,两者之间的关系,并且这些怎样组织起来。现实生活中,遍地都是这方面的实例,只是没有人引导的问题。
c需要并不难学,恐惧心里是学不好的主要原因。无论什么c语言教科书,开始的几个例子不能小看。c语言不仅指针是“难点”,堆与栈相关的内容也要搞清楚,这两个地方变量、内存有些不同的特性。学习中,要通过几行代码的小程序将语法搞清楚,特别是运算的优先级,增减量的执行顺序,变量的初始化等细节搞清楚。把基础打好是关键。理解编译、连接过程也很重要。最后,如果不懂系统,c需语言没什么用。
很多人在学习C语言的时候,本来对编程很感兴趣的,最开始学习的时候也投入了大量的时间和精力在上面,理解了这,理解了那,到最后发现只是在黑窗口下面打印几行数字和字母;
学起来会觉得比较枯燥,而且越学越发现没意思,最后只能放弃,所以说,学习编程,换一种方式去学习可能会更好一些,比如说开发个小游戏啊,这样学起来可能会更有成就感,让人觉得学了这东西有用,可以做出东西来;
以前学习C语言的时候,看的是“ 如鹏网 ”的视频教程——《C语言也能干大事》,学起来挺好玩的,不枯燥,通过开发超级玛丽,飞机大战,吃金币等经典小游戏来讲解C语言的知识点,开发Windows程序,无需硬件就可以开发校园一卡通系统,没想到C语言还可以这么学,做出来的小项目也蛮有成就感的,具体的可以到 如鹏网 ***上去了解一下;
c的语法是现在语言中比较简单的,要说语法是就只有c++最为复杂了。
大家说的c难是因为,用c开的的东西一般与系统api和算法有关。
算法这个,没个数学功底真的想不到,其它的语言没有比较高级的算法,其它语言的算法也都是c语言从语言的底层(不是系统的底层)实现的,再封装成语言的算法库。
系统api,这个东西不像语言层级的api那么简单,它是系统直接关系的相当复杂,要了解系统、信号、返回值这东西表现出来的现象多,与你要做一个东西有不同的处理。
还有一个点c实现的东西要考虑到性能,这个不简单,不是简单的io性能,要考虑内存拷贝的消耗、堆栈开关的消耗、cpu调度的消耗。
为什么学了一个学期的c语言,感觉一直都是在用代码去做一些简单的数学题,没有什么实际用途?
一个学期,能干嘛,虽然我不编程,不过十年前无聊自己玩过易语言,然后有款游戏叫 程序员升职记,这个游戏我玩了一下,到10关以后基本看着攻略都不会,即使看着攻略过关了也不知道为什么,但玩了这款游戏让我一个30的人突然就明白了什么叫逻辑思维能力,真就是逻辑思维,不知道怎么描述,不过我想玩程序的人应该逻辑思维能力很强,至少你现在所做的就是锻炼这个能力。可以去试试这个游戏,如果能通关再说你学的东西有没有用吧
以我一个外行人的感觉就是,各种命令什么的谁都会,但好的程序猿可以用最佳的组合做出来,代码最少,机器运行流畅,逻辑思维不行的人也能做出一样的程序,但代码复杂,运行起来各种卡顿,感觉你可以练习一下,同样的结果怎么用更加优化的方式来实现这个方向
相信书的作者,你的老师,你的课程***的编写者比你理解这门课程和学习方法,别相信自己太聪明,可以推翻这些,聪明过头,走入弯路。
大一大二的一切都是在学会课程的基础上进行的,考试考不到85以上,不适合思考其他。
九层之台,起于垒土。
积水成渊,集腋成裘。
”学习C语言用一个学期,而且感觉是用代码做一些简单的数学题,没什么用途”,这说明你的感觉是对的,老师的教学方法错了,必须彻底改变学习方法,以提高学习效率。
象这种底层的高级C语言,一般学会并熟练使用,时间不超过两周。
学习编程语言,绝不能象高数一样,一节一节地学扎实,推理有据。编程语言类有它的学习方法。
我九十年代初,在工作中学C语言,两周时间,不仅学会了,而且做了一个集编辑、图形描画、零件程序解释的APP,之前一点基础都没有,就一本介绍库函数及C基础的[_a1***_]书。
很多初学者,老是喜欢钻牛角尖。如变量,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的编程学习。
这时我们就陷入了一个学习误区。
如下图,关于指针、结构:
上图所示代码,指针错了,系统提示error2102错误。指针改正后,如下图:
很多人认为,既然AI要用到算法,那么,学语言时,就要先学算法。
在现有的计算机体系中C语言可谓是编程的鼻祖,使得人们从晦涩难懂的机器汇编语言过渡到更接近平常正常人思维的高级语言。C语言的出现也直接促使了编程之树的蓬勃发展,使得更为复杂的程序成为可能,也大大提高了程序跨平台的兼容性。
学C语言刚入门的时候都会觉得它只适合用来解数学题毫无用处的这种感觉。对于之前没有编程经验的人来说,学了一个学期C语言,还不能算得上入门了,仅仅只是对C语言有一个概念性的理解,很多专有名词都还有可能理解不透彻,更别提它要如何去使用。
实际上任何一门变成语言,当你会用它来做一些简单的数学题,就已经打开了编程的这扇大门,后面还有更多的概念和应用等着去挖掘、实践,这绝对不是一朝一夕就能完成的,需要一个长期学习、运用从量变到质变的过程。
编程离不开数学、算法、数据结构,这是循序渐进的一个过程。这就好比小学要花5~6年去学习加减乘除、小数、分数等等一些基础的数学概念和算法,到了初中才会去学习如何通过数学去解决实际生活中遇到的一些问题,到了高中已经能够建立数学的模型去解决更为复杂的问题,有了这些铺垫上大学才能对于晦涩难懂的数学理论进行学习和应用。
大道至简同样适用于编程,程序的UI界面只是表皮,真正支撑程序的是算法和结构逻辑。再复杂的程序最终都会变成机器才能懂的一串0和1。
赶紧辍学吧,你那老师不行,眼看着就把你往沟里带的节奏。你老师到底做过什么项目没有?我们学车C语言都是半路出家,一个星期就出师了,然后找项目做设计,大规范学一下,然后各种技巧、指针、算法原则都是用到再查,不用在课堂上记住,Internet就是图书馆,要什么查不到?
就好像学中文不需要背会字典一样,那些要考试才问的东西不用学,这个道理明白不?
想自学C语言,有哪些书值得一看?
C语言是老外发明的,有条件还是要看老外的教材,最好是英文版的,这是最原汁原味的。英文不好的同学最好也是选择一个老外教材的中文版。我推荐两本教材,一本是谭教授的C程序设计,还有一本是C Primer Plus最新版。
一、C程序设计
这本书很适合完全不懂C语言的初学者入门,但是一些基本的计算机概念还是要知道的,比如CPU、内存、文件、计算机原理等。
C程序设计这本书用词上通俗易懂,没有什么晦涩难懂的东西,只要你认字基本上理解不会有啥问题。
整本书结构安排也很合理,从最简单的C语言介绍,到基本数据结构,到C程序三大控制结构,函数等,一直到最后的文件操作,一步步的由浅入深。
C程序设计每章的课后习题也很有针对性,针对章节中的知识点。建议把习题做一遍,这样会加深对C语言知识点的理解。
二、C Primer Plus
看完C程序设计这本教材后可以再看看C Primer Plus这本书。这本书是老外写的。
老外写教材有一个最大的特点,就是比较啰嗦。对一个知识点会用较多的篇幅来讲,而且语言也比较口语化。所以需要学习的同学有点耐心看完全书。
书中会有大量的C程序代码案例,随着知识点不断的深入,会把不完善的C程序代码不断的完善,你要特别注意在完善C程序代码中的知识点。
这本书课后的习题也很有特色,比较偏应用。建议把习题都做一遍,边做边总结,加深C语言的知识点。
上面是推荐的两本C程序设计的书。后续可根据自己的实际情况选择其他的C程序的书籍。
谭浩强教授的《c程序设计》虽然在网上被很多人讴病语法错误,排版不合理等等。但是却多年来一直被各大高校选为计算机及相关专业的c语言首选教材,自然有他的道理,这里不作解释。仅作为c语言的入门读物我觉得是够的,毕竟这本书还是挺通俗易懂的。除此之外,还有一本最最经典的c语言教科书就是c语言之父Dennis M.Ritchie作为作者之一所写的《c程序设计语言》。他老人家一生最伟大的两个贡献就是开发了c语言和unix系统,这足以流芳百世。虽然这本书只有短短的两百多页,却把c的核心都浓缩成精华了。毕竟人家老外发明的东西,再由人家老外写的解释说明自然再权威不过。不过此书适合有一定c基础的人学,c建议先把谭浩强教授那本看过5 6遍,题目刷过几遍就差不多可以看c之父那本了。祝好运!
看***的效果不错,边看***,边敲代码,印象也会更加深刻,在学习的过程中做好笔记,方便以后复习;
以前学习C语言看的是 “ 如鹏网 ”的《C语言也能干大事》系列***教程,还挺有意思的额,通过开发超级玛丽,吃金币,飞机大战等经典小游戏,用C语言来开发网站来讲解C语言的知识点,没想到C语言还能这么学,做出来的东西也蛮有成就感的;
具体的可以到如鹏网***上去了解一下,有问题随时提问,老师实时在线答疑,口碑不错,基本上都是慕名而去的;
我们看图就知道这本书的评分很高了,很多人将这本书比喻成C语言的圣经,科尼汉(本书作者)的书简洁明了的把所有的知识点表现到了极致。很多人看到这本书都有质疑的心态,因为是一本小书,但每个把这本书看完人都感到很震撼,真正的好书就是可以做减法。本书体现了C语言实际的用法,也让人明白C语言的编程风格。每一个习题和例子都是关于数据结构和算法的联系。最后的语法和函数的附录也可以让你作为一本工具书来使用。哪个知识点忘记了就可以翻开找到。所以这本有关C语言的书,是首推的。
上面这本书,在很多学校作为教材来学习。如果自学的话也是值得一看的,首先因为每一节课后都有配套***。我们都知道C语言的入门不是很容易,因为光是看书的话,指针和函数是很大的难关。然而这本书课后的配套***都是针对知识点所讲解的课程。帮助我们可以更好的理解文字内容。并且非常负责的是,每个知识点后面都有课后习题。如果我来比喻的话,这本书就类似于高考的五三练习。
上面这本书的内容当中展示了各种优秀的C程序员对编程的技巧。并且专门的开辟了一章对C++的基础知识介绍。可以说书中很少有什么废话。但是入手这本书之前你还是需要一些C语言的基础,起码要学过编译原理,虽然不需要警用,但是至少一些概念要理解。否则里面内存分配的部分还是会感到吃力。实体书似乎已经绝版了,但是还好有电子版。
上述这本书是由世界级的C语言专家编写的C标准库经典著作。英文的版本已经重印了十多次,影响了很多的程序员。如果你是一个小白的话,可能会被后面的库函数弄晕。那么建议整个粗略的浏览一边,对标准库有一个整体的了解。本书就是对于C语言库函数完全描述了一边,还有很多源代码,如果有时间学习的话还是可以参考看一些。不过在机器上面搞一套CRT源码的话,剩余的时间把本书作为参考更有效率。
以上就是给学习C语言的小伙伴的一个参考资料。首先要说的是,第一本书和第二本书都是入门很好的选择。一本书《The C programming language 》精简的内容,还有简单和高效的习题,可以带你更好的学习C语言。第二本书《C语言程序设计教程》科学分方式带你学习C语言,更适合零基础的小白。后面的两本书,就是在学完了前两本书之后的作为提升用的。一个是带你学习C语言的编程技巧,最后一本书是高效的使用库函数。所以这四本书是推荐给要入门的小伙伴们的。大家可以参考书评找到自己适合的。
C语言学习可以先看一下入门基础***,比如下面这一整个系列的全套***,讲解的知识点很全面,也很详细。适合初学者。
课程一共有9天,每天3-11个课时不等,你就按照这个进度学习就行了,9天帮助你轻松掌握C语言。
以下是部分***内容及各个课时的时长:
这是第01课 必备Linux命令和C语言基础里面的几个课时。
00 : 23 : 57
00 : 27 : 23
00 : 45 : 44
00 : 16 : 44
到此,以上就是小编对于学c语言出路的问题就介绍到这了,希望介绍关于学c语言出路的4点解答对大家有用。