C和C#和C++有什么不同?另外如果想学编程应该学那种编程语言?JAVA C C# C++哪个更好?有什么书好?

2024-12-01 05:51:24
推荐回答(5个)
回答1:

C是一门古老的编程语言,但被广泛的应用,可以说是C++和C#的祖先,拥有最高的效率和简洁的语法,虽然不适合开发大型应用程序,但是作为入门学习还是很好的,因为C语言的语法是当前最流行的语法风格。C语言的书用机械工业的《C程序设计》入门,配一本《ANSI C》作为参考即可。但要了解,用好C需要汇编和编译程序方面的知识。
C++是对C的扩展,完全兼容C语法,而且可以面向对象,而且是目前应用最广泛的高级语言,没有之一,不过其复杂度广为诟病,是最能忠实显示程序员功力的语言,所以大公司面试都喜欢用C++。一个写得好的C++性能可以与C比肩,同时具备开发大型应用程序的能力,有丰富的库可以使用(不过有些库的学习曲线也是很陡的),总之C++是一门十分强大的语言,但是无法速成。推荐书籍当然是《C++ Primer》虽然叫Primer可是读完这本书的人纷纷表示不需要Senior了:)。然后就是《Thinking in C++》可以作为延伸阅读。然后就是根据你主要使用的库购买专门介绍该库的数书籍。http://www.cplusplus.com/reference/里面有C++和标准库的完整参考所以就不用另买书了,不过是英文的。
与C和C++不同,C#的代码不是由你的CPU直接执行的,而是用一个软件中间件,叫.NET Framework,语法与C和C++一脉相承,但不完全兼容(没有指针)。C#是一门新兴的语言,因为运行在中间件上所以可以提供比CPU更多的服务,使得编程异常简单和高效但运行效率降低(这点和Java一样)。C#也有丰富的库,并且提供运行时的错误处理能力。由于这门技术还在发展中,所以参考资料不稳定,一本《C#高级编程》可以满足从入门到精通的所有知识,然后就是随着.NET新版本的发布去补充新知识,目前.NET的最高版本是4.5。C#隐藏和很多底层实现,又有内存管理,是个很适合速成的语言,很快就可以独立开发应用,但是要精通花费的功夫也是很闷唤大的。

VC指的是VC++原本是一个C++IDE,微软用它来方便MFC(一个C++库)程序的开发用的,所以其本质也是C++。后来被整合进VisualStudio集成明罩型IDE中,激猜如今它也具备编译.NET程序的能力。
VB是微软对于没有C语言基础的人开发的使用Basic语法的编程环境(Basic是个和C同样古老的语言,曾经是编程入门语言,很多老程序员都是从Basic学起的),最初用于提升Office系列的性能,后来功能逐渐加强成为了一款独立的编程语言,同样被整合进VisualStudio中,也有编译.NET程序的能力。

我说的参考书基本都有电子版下载。

按照你的情况我建议你可以先学一下C基础再学C#,或者直接学C#。不过只会C#的程序员对于程序的理解,优化和排错能力往往要比C和C++程序员低一个层次。

回答2:

C语言是基础哦..
C++和C#都是别人先给你写好了很多模板..你只需要了解用法就行了..(但是你还是要有C语言基础才看的懂..)
但是如果要编写很好的程序..C语言是不可不学习的裤耐..
还有语言不在于谁好谁坏..只有适或纯兄合不适合你的语言..
无论C++,C#..核心还是C语言..所以先学什么..懂了不?
java等你学好C..并且掌握C++后再看会比较轻松点..(如果怕难..就先学pascal..不要小看这个语言哦..她可是有delphi这个软件照着..所以可以做到很多事)
书..楼主先要确定学什么..然后在网上找关于XX的推荐书就行了.按照书的顺序慢慢学就会懂的..
编程不需要你有什么英语基础哦..所以你不用担心..
楼主想找强大的语言?
任何语言都很强大哦..比如pascal..你掌握了pascal,再学oop pascal..然后加上delphi这个软件..你也可以很无敌哦..又比如c语言..你掌握了c,再学c++,再学c#,然后加上vc这款软件..你一样很强大哦..很多人不推荐学c而直接学c++,这样不好..很多c++的书只是很简单的介绍c语言的基础..但是如果你对c没有很好的掌握(尤其是她的精华--指针)..学c++就会一头雾水(c++和c#的出现就是因为大家都想偷懒..不想每次实现一个很重的东西都要去编写一个复杂的c代码..所以..他们就把那些最要的东西全部模板化了..让编程更有效率..这也是语言的特性之一..就算如此..他们也没有说因为有了这么方便的模板..你就不用学习基础了吧?)..而且模板永远只是模板..适合普遍而不是特殊..当你开发自己的东西时..有些模板并不适合你..所以你得自己写自己的模板..那时你又回到了最基础的C语言了..
咳咳..
vc和vb是集成软件哈..前者支持C,C++,C#等于C相关的语言的编译和连接..后者支持与basic语言相关的编译和连接..同理delphi哈..此外..他们还提供很多超级强大的功能..让你编程更有效率!
PS:
其实还有一个一种语言叫汇编..这种语言编写十分麻烦.但是它还是有模板..这还是衫袭需要了解的..比如关于植入任务管理器程序实现后台运行而不被查杀..咳咳..汇编只需要短短10左右就可以完成..但是C语言..估计会写到头大..但是可以实现.只是编写效率问题..

回答3:

C是C++的一个子集,而C#用某一个网络达人总结的比较到位的话来讲就是带有VB味道的VC++。之所以这么说是因为大家公认的VB比较容易学,而裤戚VC++对不起这个V,虽然很强大,但是确实不怎么可视化(VC,VB中的V都是Visual可视化的简称,VB和VC准确说是两种编程环境,它们的基础语言一个是c++,一胡亮陵个是basic),C#应该说是取了一个功能性和易用性之间的一个平衡,易上手,功能又很强大,它也是微软主推的.NET平台的主要开发语言,是和JAVA用处差不多的一种语言,这里面个人主观的认为C++最难学啊,VC++这个编程环境更要人命,虽然功能强大无比,这玩键并意没个几年玩不明白的。
至于学习那个,就c#吧,因为我们干活能接触到的能用到的,上面这些都够用了,那个好学学那个吧,学习最好的办法是结合实践来,光看书本没用,书本看得再明白,遇上活照样发蒙,在了解一门语言基本语法以后,尽快利用这门语言做些东西,等通过实践对这门语言有一定体会了,再找一本有深度的书静下心来看,那时候你的收获会更大。

回答4:

建议你学C或者C++,这两个很重要,学会的话非常的强大。
最好不要学C#,不是我歧视,如果你想成为一位大牛,最好从基础搞起。
其实这就是一个语言的发展过颤桐程C ---> C++ --->JAVA/C#(等等)
学会C的话C++就不再话下了,学会C++的话java什么的也就轻松很多,毕竟语言只是一种工具,你要学习编程的思想(面向过程&面向对象),其他的就很好办了。
如果你想深入肯定还要学很多东西,数据结构,算法,最好还要学汇编。至于还有深入理解计算机操作系统,编译原理之类云云是进阶必备。
IT方面水太深了,涉及太广,不过大神们的粗码待遇一般都很好。
C语言看书看C Primer Plus,其实找书很容易的,普遍国外的质量比国内的好,随便茄凳坦问问就知道了

回答5:

c和c++的区别就是c是面向过程的,c++是面向对象的。面向过程最小的单位是函数。c面向对象最小的单位就是类。其实类就是把一些问题的进行抽象封装。
你要是想学c++一定要先学习c因为c++就是c为了适应大型编程进行升级。
要是不知道你是学生还是什么身份?如果是学生的话,基本学习路线vb--c --c++--java。现在找工作的很多都是要java语言的。c主要是进行底层的开发。java还能扩展成j2ee(网页开发)j2se(移动手机的开发)。这槐手搏个就业面比较好。
如果你已经工作的话,那你就直接进薯戚入培训公司,培训两个月,就能当程序员了。
编程语言的学习:看书,多动手,自己敲代码。书:深入浅出java,像数据库和算法,数据铅祥结构都要学会。