当前位置:首页 » 编程语言 » c语言不好吗
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言不好吗

发布时间: 2022-10-24 05:14:02

1. 如果现在学一门编程语言,是学java还是c/c++。c语言现在真的不行了吗

对于计算机相关专业的同学来说,建议从C语言开始学起,原因有三点,其一是C语言简单易学,实验场景也比较好搭建,其二是C语言对于学习后续的专业课有较大的帮助,比如操作系统、编译原理、数据结构等,其三是C语言依然有大量的应用场景,而且一部分学校在考研时也会考察C语言。
对于计算机相关专业的同学来说,学习一门编程语言是远远不够的,在大一期间还应该再学习一门全场景编程语言,比如Java语言就应该重点学习一下,目前Java语言在大数据开发领域也有广泛的应用。
对于非计算机相关专业的同学来说,可以从Python语言开始学起,原因同样有三点,其一是Python语言是最容易入门的编程语言之一,语法简洁明了,很容易在学习初期就建立起学习成就感,其二是Python语言在数据分析领域有大量的应用,未来更多的专业都需要进行数据分析操作,其三是Python语言的行业覆盖面更广,不像Java语言主要应用在IT互联网行业。
学习编程语言一定要重视三件事,其一是重视实验,编程语言说到底仅仅是一种工具,只有多使用才能逐渐熟悉,其二是重视规划,学习编程语言要有一个合理的学习路线,这对于能否持续深入学习有非常大的影响,其三是重视交流和总结,这对于形成自己的编程思想有重要的影响。

2. 学不好c语言对身心健康有什么影响

这个对身心健康没什么大的影响,C语言是一项知识,并不是人生中必需的东西,学不好是很正常的。
人总有自己学不会的东西,这个不要过分在意,你的一生还有更重要的事情。
身心健康不是一项C语言就可以影响到的,唯一的影响可能只是在你学不好时给你带来困扰。但是它对身心健康的影响微乎其微,人的身心健康是受到他的成长经历和环境的影响的。

3. 学c语言有前途吗

没有。
首先要看你的需求,学C语言的,基本有这么几类吧。
大学基础课有C语言这门课的,基本就是电子类专业,电气类专业,IT类专业。这几类的又有所不同了,电子类的基本上就只用和大量使用C语言的,这部分人基本上是玩单片机的,目的是用来代替汇编语言的,写些跑不了操作系统的一类的控制程序,电气基本上也和电子类是一样的,基本用来玩单片机的,IT类是因为基础课里有,也是几乎最早的高级语言,但是他们基本不用C语言来写程序,这部分人基本上是要写在操作系统上跑的软件,C语言的功能根本不够他们用的,有部分可能会用C语言,可能是因为接口一类的问题,才会使用。
综上所述,学C语言,没有前途,如果你的目的是转IT类的,直接从C++的书学起,C++里很多基础的知识是和C语言高度重合的,但是C++还有一部分C语言不具备的功能,完全不用先从C开始学,至于说学了C之后,学C++更容易的这种观点,我是不认同的,网上很多认为C++ Primer是本入门C++的神书,我也读过,不过我认为这本书是烂书,尤其是第一张,就算学过C语言的,看第一章,都是痛苦的,而且整本书,我认为编排都不好,所以别以为学了C语言,再去看C++ Primer的所谓入门C++神书,会对你有很大帮助,所以你的目标是写软件,直接学C++就好了,会不会C,对学C++没有太大帮助,反而在浪费时间,因为C++里很多基础的,C语言都有一样的,你等于看了两遍,没有必要,而C++里独有的,你第一次看,一定是发蒙的,很正常,再看一遍不懂的,多学着写点代码,马上就懂了。如果你是学单片机这种的,C语言可以学,因为C语言作为高级语言,编程效率是很高的(前提是要有编译器,否则只能用汇编),但是我个人还是觉得,学之前,先学汇编,有的人汇编一点不懂,用C语言写单片机,其实也就是照着书本的写,很多都不明白为什么,尤其是单片机里的中断概念,即便有些书上有写,但是却写明白,中断里CPU是怎么运行的,这种原理,在汇编语言里,一定是有的,看完汇编,会对C语言里,很难懂的中断和中断处理程序的理解,非常深,有助于你的学习,汇编学一本,就够了,基本都是从51开始学的,所以买本51汇编语言的,就够了,其他高级单片机的中断和51基本上是一回事,但是从目前看,国内的单片机,嵌入式,没什么太大的希望,尤其是‘钱途’方面的,跟国外不是一个档次,普通学校出来的,都是炮灰。
最后总结一下,学C语言,对IT编程的来说,没有必要,对搞嵌入式的来说,只是一个很重要的工具,往嵌入式方向的小白,建议还是先从汇编开始,深入了解单片机的原理,再用强大的工具来写,C语言是嵌入式的刚需,但是想嵌入式,赚大钱的话,国内的嵌入式,没什么前途,所以C语言没前途········

4. 学c语言有前途吗

C语言是基础,作用不太大。不过学会了C语言,学C++不会那么困难,C语言主要是面向底层的语言,C++才是面向对象的语言,C++用于编写计算机程序很比较容易和方便的,C语言很 麻烦,你几乎找不到用C语言编写的应用程序,C语言对于写驱动和嵌入式相当好,比汇编语言好记。看你是要学来干什么了。而且现在几乎工科的学生都会学习C语言,所以会C语言并不会有什么优势,像电气的学生基本都会学,计算机的学生C语言更是基础课,专科更是了,专科里,电气方向也是学的,电子方向的也要学,计算机也要学,很普遍的课程。对C语言有要求的公司,基本都是嵌入式的公司,即做手机啊,无人机啊,或者工控硬件的,需要写驱动都需要掌握C语言,另外普遍也要会汇编语言,VB,C++等,C++主要是有些玩具,或者工控设备需要电脑界面控制的,编写这类软件需要会C++,大一点的公司会把硬件驱动和软件分开,小的公司就需要你都会,这样就能节约成本。计算机程序员的话,C语言是基础,但是基本不以C语言会不会,好不好作为评判标准,基本都是以C++,JAVA等能直接快速编写应用程序的语言为主,如果很6的话,工资当然就高啦。

5. C语言编程技术的优势和劣势

随着互联网编程技术的不断发展,现在大多数的软件开发都是通过编程语言来实现的,今天我们就一起来了解一下C语言编程开发技术都有哪些优势和劣势。



C语言的一些好的体验


一次通过阅读POV-Ray源代码学会如何在C语言中实现面向对象编程。


通过阅读GTK+源代码了解C语言代码的清晰、干净和可维护性。


通过阅读SIOD和Guile的源代码,知道如何使用C语言实现Scheme解析器。


使用C语言写出GNOMEEye的初始版本,并对MicroTile渲染进行调优。


C语言的一些不好的体验


在Evolution团队时,很多东西老是崩溃。那个时候还没有Valgrind,为了得到Purify这个软件,需要购买一台Solaris机器。


调试gnome-vfs线程死锁问题。


调试Mesa,却无果。


接手Nautilus-share的初始版本,却发现代码里面居然没有使用free()。


想要重构代码,却不知道该如何管理好内存。


想要打包代码,却发现到处是全局变量,而且没有静态函数。


但不管怎样,还是来说说那些Rust里有但C语言里没有的东西吧。


自动资源管理


Rust从C++那里借鉴了一些想法,如RAII(,资源获取即初始化)和智能指针,并加入了值的单一所有权原则,还提供了自动化的决策性资源管理机制。


自动化:不需要手动调用free()。内存使用完后会自动释放,文件使用完后会自动关闭,互斥锁在作用域之外会自动释放。如果要封装外部资源,基本上只要实现Drop这个trait就可以了。封装过的资源就像是编程语言的一部分,因为你不需要去管理它的生命周期。


决策性:资源被创建(内存分配、初始化、打开文件等),然后在作用域之外被销毁。根本不存在垃圾收集这回事:代码执行完就都结束了。程序数据的生命周期看起来就像是函数调用树。


如果在写代码时老是忘记调用这些方法(free/close/destroy),或者发现以前写的代码已经忘记调用,甚至错误地调用,那么以后我再也不想使用这些方法了。


泛型


Vec真的就是元素T的vector,而不只是对象指针的数组。在经过编译之后,它只能用来存放类型T的对象。


在C语言里需要些很多代码才能实现类似的功能,所以我不想再这么干了。


trait不只是interface


Rust并不是一门类似那样的面向对象编程语言,它有trait,看起来就像是里的interface——可以用来实现动态绑定。如果一个对象实现了Drawable,那么就可以肯定该对象带有draw()方法。


不过不管怎样,trait的威力可不止这些。


依赖管理


以前实现依赖管理需要:


手动调用或通过自动化工具宏来调用g-config。


指定头文件和库文件路径。


基本上需要人为确保安装了正确版本的库文件。


而在Rust里,只需要编写一个Cargo.toml文件,然后在文件里指明依赖库的版本。这些依赖库会被自动下载下来,或者从某个指定的地方获取。


测试


C语言的单元测试非常困难,原因如下:


内部函数通常都是静态的。也就是说,它们无法被外部文件调用。测试程序需要使用#include指令把源文件包含进来,或者使用#ifdefs在测试过程中移除这些静态函数。


需要编写Makefile文件将测试程序链接到其中的部分依赖库或部分代码。


需要使用测试框架,并把测试用例注册到框架上,还要学会如何使用这些框架。


卫生宏(HygienicMacro)


Rust的卫生宏避免了C语言宏可能存在的问题,比如宏中的一些东西会掩盖掉代码里的标识符。Rust并不要求宏中所有的符号都必须使用括号,比如max(5+3,4)。


没有自动转型


在C语言里,昆明北大青鸟http://www.kmbdqn.cn/发现很多bug都是因为在无意中将int转成short或char而导致,而在Rust里就不会出现这种情况,因为它要求显示转型。


不会出现整型溢出


这个就不用再多作解释了。


6. 到底学C语言好不好

好,c语言是编程语言的基础,它里面的知识点是其他语言的基础,学完c再学其他的,是很有帮助的,而且c也很灵活,学吧,很有用的,你不会后悔

7. 有人说:C语言不行啊!太差了啦。

c语言只能作为基础课了,不是说它不好而是说现在能完全掌握的人少,建议楼主学习c#或者vb.net
前途很好,而且上手快

8. C语言有什么优点什么缺点有什么特别之处

c语言的优点就是它的性能极佳,其它编程语言几乎没有它的性能,因此它被用为linux操作系统设计语言。

c语言的缺点是太灵活,没有垃圾回收,代码不好编写。

c语言特别之处就是它的指针和结构体,这两个东西的存在让c语言变得异常强大,很多复杂的业务设计,都可以通过它们两个来实现,也可以说,只有掌握了指针和结构体,你才算入门c语言。

9. c语言为什么这么难学,我为什么老是学不会

对初学者来说,C语言确实有一定的难点,但是C语言是基础的语言,并不是最难的所以学不好的主要还是自身的问题。依据本人这么多年的经验,这尝试分析下为何这么多人学不好C语言?

C语言本身存在一定难度
C语言主要应用于操作系统、嵌入式底层开发等,在这些领域C语言一直都咱局主导位置,但是在入门上现在比较热门的php、python、java等语言比C语言稍微容易一些。所以很多人学习到C语言的时候,理解起来很抽象,使用时变化莫测,觉得很难,自己就失去了兴趣,慢慢地放弃了。特别是在指针的学习上,是一个槛,很多人就是倒在指针上的。
当然除了指针,C语言里面还有一些回调、递归、函数指针、指针函数也有一定的难点,所以总的来讲C语言还是有一定的难度 的,学习C语言一定要多练,不能光看书,多做一些项目慢慢地就好了。

意志力不够没有耐心,倒在黎明前夕
学习编程主要挺过去前两年的积累经验阶段,后面就好多了,有些人就是迷迷糊糊的进入技术岗位了不知道到底做的是什么,会有一天发现自己突然明白过来很多的事情,以前有些不明白的事情,突然觉得啥都明白了,看似是一件很神奇的事情,本质上来讲都是日积月累构造成的。
很多人觉得自己学了这么长时间还是很多不明白,就会产生厌倦心里,自己都想要放弃,没有了激情,慢慢地自己就放弃了,其实有时候默默地再坚持一会自己就会慢慢地掌握C语言的精髓,对C语言产生兴趣。

C语言没有别的语言好就业
这涉及一个很现实的问题,学习了编程语言就得找工作,如果学了不好找工作,肯定学习起来的动力就不足,毕竟C语言的工作岗位绝对数量并不少,但是相比java,php,python等语言还是没法比,而且对入门者的要求相对更高点,薪资上也不一定有多大的优势,所以对于初学者没有多大的吸引力。目前这也是当前的市场实际情况。
C语言是不是就不值得学习了?其实这种说法是不对的,其实php,python等底层语言还不是一样用C语言来实现,所以C语言的重要性不言而喻。不要听信C语言已经过时之类的谣言,C语言一直都在默默无闻、踏踏实实地做着底层很重要的事情,经久不衰。想要在软件行业立足发展,C语言还是很值得学习的。

10. c语言好用吗

c语言是很热门的学科,很多大型程序都是c语言编写的!当然,其实也不能说是c语言,应该叫做c++,就是比c语言多了一些东西,更适合用于编写大型程序。c语言确切的说是一种基础,对于初学者来说,c最大的作用就是能为你建立一个初步的编程思想,并不是好不好用的问题。是一个入门,一个基础。只要把它学了,会对以后的进一步学习提供很多方便!