C++难学么?还是C好学呢?
回答这个问题答案很明确,就一个字:难!而且非常难!
为什么难?为什么有很多人却说不难?比如有一期微软公司总裁来作客什么节目谈及软件开发对初学者说软件开发只有加加减减,非常有意思。吸引众多人对学软件趋之若鹜...
我只想说:这些说法都是不负责任的人在对你说的忽悠,仅此而已,他们根本没写过一行代码没学过一天C++编程语言,就大言不惭,实在让人为他们脸红?
软件开发难吗?这和学武术差不多,谁都喜欢动作电影里的动作明星潇洒的动作招式,谁都想要一身好身手。那你问一问格斗家说学武难吗?你想他们会跟你说武术一点也有不难,只要有悟性即可...
软件开发也一样,难度丝毫不比学武术低,即不有趣,也不好玩。而且需要一定的智商悟性,智商不足怎么办?只有比人家付出十倍百倍的努力来学习获得经验了,所以说这行的难度跟其他行业比起来就是一个天上一个地上,网吧收银员可以看着电影混过一天,一个有经验的老中医懂了家传绝活之后可以吃一辈子。但软件开发不行,入门写个helloworld可能简单点,但稍一深入,你就会发现它的深奥费解之处了。
做不做软件开发,关键看你喜不喜欢这行了,软件开发非常有魅力,就像天堂来的天使一样吸引着很多求知的年轻人,工资很高回报极其丰厚,但学习和开发的难度和工作压力跟其他行业相比不可同日而语,那可不是闹着玩的。如果热爱软件开发就坚持下去吧,不过没完没了的环境搭建,各种天书一样的疑难BUG,内存泄漏和近乎无解的三天两头学习新技术新工具新SDK,上google,baidu和英文网站搜解决方案在等着你,那可不是什么只有加加减减,你解决不了问题随时会被公司开除,公司老板不懂开发不了解开发难度,他们只想要什么问题都能瞬间秒解的高手,所以软件开发需要智商的。同时更需要坚持,没有圣斗士星矢的执著是坚持不下去的。
C++是面向对象的语言,C是面向过程的语言,C++是C语言的扩展和超集,所以C++是包含C的。故你的问题很容易回答,C++当然比C难学,C++比C多了个对象。有对象就是麻烦,是吧....
c语言好学一些c++是c的增强版,比c增加了面向对象的概念,增加很多库,学起来会复杂一些,所以会难一些,下面是一些详细的介绍:
在很大程度上,标准C++是标准C的超集.实际上,所有C程序也是C++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别.
在C++中,民,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,请注意,C99标准中取消了这种限制.
在C中,按如下方式声明的函数没有对函数变元进行任何说明;
int func();
也就是说,如果没有在函数后面的括孤内指定任何变元,这在C中就意味着对函数变元未做任何声明,该函数可能有变元,也可能没有变元,然而,在C++中,这样的函数声明意味着该函数没有变元,也就是说,在C++中,下面这两个函数声明具有同样的作用:
int func();
int func(void);
在C++中,变元列表中的void是任选的.许多C++程序员使用它们是为了表明函数没有任何变元的,以便于他人理解程序.但是,从技术上说,void不是必须的.
在C++中,所有函数均必须被设计成原型,但这在C中只是一种选择.编程经验表明,在程序中也应该给函数采用原型设计方法.在C与C++之间还存在一个重要而又细微的差别,即字符常数在C中被自动作为整形来处理,但在C++中则不然.
在C中,多次声明一个全局变量虽然不可取,但不算错.在C++中,多次声明同一个全局变量会引发错误.
在C中,一个标识符可以至少31个有效的组成字符.在C++中,一个标识符的所有组成字符均是有效的.可是,从实用角度看,过长的标识符没有太大的用处,不仅不便于记忆,而且还会增加出现打字错误的可能性.
在C中,在程序内部调用main()函数的情形不常见,但这种做法是容许的,在C++中,这种做法是不容许的.
在C中,无法获得register型的地址,在C++中则可以获得这种地址.
在C中,如果类型声明语句中没有指定类型名,该类型被假定成int,这种隐式转型在C99与C++中是不允许的.
#include <iostream>
using namespace std;
为什么没有.h后缀名?
名称iostream没有扩展名.h,原因是<iostream>是标准C++所定义的新式头部文件之一,新式C++头部文件不再使用.h扩展名.
第二行告诉编译程序使用std名称空间,名称空间是最近才添加到C++中,一个名称空间建立一个声明范围,在该范围内可以放置各种程序元素.名称空间用来帮助组织大型程序的结构.这条using语句通知编译程序,程序员需要使用std名称空间,这是整个标准C++库声明所使用的名称空间.通过使用sdt名称空间,程序可以简化对标准库的访问.普通C程序仅使用C子集,不需要名称空间语句,因为C的库函数在默认的全局名称空间中是可使用的.
类与结构体的区别:类与结构体是相互关联的
结构是C的一部分,C++从C中继承了结构,在语法上,类与结构十分相似,在关系上,这两者也很接近,在C++中,结构的作用被拓宽了,进而使结构成为了类的一种替代方法.实际上,类与结构的惟一区别在于:在默认状态下,结构的所有成员均是公有的,而类的所有成员是私有的.除此之外,类与结构是等价的,也就是说,一个结构定义了一个类的类型.
C++同时包含这两个等价的关键字struct与class基于3个方面的原因.第一,加强结构的能力.在C中,结构提供了一种数据分组方法,因而让结构包含成员函数是一个小小的改进.第二,由于类与结构是相互关联的,所有现有C代码到C++的移植变得更容易.第三,由于类与结构的等价性,提供两个不同的关键字可以使类定义自由发展,为了保持C++与C的兼容性,结构定义必须始终受它的C定义的结束.
即使在有些地方可以使用结构来代替类,但尽量不要这么做,为了清楚起见,该用类的地方就用class关键字,该用C结构的地方就用struct关键字.
类与联合是相互关联的
联合也可以用来定义类.在C++中,联合包含成员函数,变量以及构造与析构函数.C++联合保留了C联合的全部特征,其中最重要的特征是所有数据元素共享内存的相同地址.与结构类似,联合的成员在默认状态下也是公有的,并且完全兼容于C.与结构一样,C++中的联合声明定义了一种特殊的类,进而意味着保持了类的封装原则.
C++的联合有几个必须遵守的使用限制.第一,联合不能继承其他任何类型的类.第二,联合不能是基类,不能包含有虚函数成员.静态变量不能是联合的成员. 联合不能使用引用成员,而且不能有任何作为成员的重载赋值运算符的对象.第三,如果一个对象包含明确的构造或析构函数,该对象不能成为联合的成员.
C++有一个叫做匿名联合的特殊联合.匿名联合没有类型名,也不声明任何变量,只是告诉编译程序它的成员变量共享一个内存地址.但是,变量本身无需要使用常规的点运算符语法即可直接引用.
上述联合的使用限制也适用于匿名联合,但下面这两个限制除外,第一,匿名联合所包含的元素只能是数据,不能包含成员函数,也不能包含私有或受保护元素;第二,全局匿名联合必须声明成静态的.
学习C++应该由易至难,循序渐进。以前经常有人说学习C++之前应该学习C语言。事实上那不是必须的,C++和C语言虽然有关系,但仍然是两种不同的语言。当然,在学习C++之前学习过其他编程语言是很有好处的。那会使学习C++的速度更快,毕竟很多计算机语言的概念都是相通的。而对于零基础的初学者来说,则是应该静下心来,不要急躁。要成为C++的高手,不是那么容易的,必须要花很大的努力。 你想用来做什么?如果想开发大的程序只有你一个人是不可以的,如果开发小程序自己玩玩还可以,再说现在C++还要配合其他的语言!
学习C++应该由易至难,循序渐进。以前经常有人说学习C++之前应该学习C语言。事实上那不是必须的,C++和C语言虽然有关系,但仍然是两种不同的语言。当然,在学习C++之前学习过其他编程语言是很有好处的。那会使学习C++的速度更快,毕竟很多计算机语言的概念都是相通的。而对于零基础的初学者来说,则是应该静下心来,不要急躁。要成为C++的高手,不是那么容易的,必须要花很大的努力。
c++是c的发展版本,其实c++是面向对象化来开发的,学好c语言学好汇编,从根本上可以大步的推进你学习别的语言,就像是在你身上装了一个加速器,还是那句古话:磨刀不误砍柴工
C语言它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。而C++语言是高级程序汇编语言,只用于程序制作。至于难度嘛,C语言是基础语言当然比C++语言更容易学懂!
不好讲;C是基础,C++是C的升华!
c语言和c 哪个难学
C语言比C难学。解释如下:C语言的复杂性 C语言是一种面向过程的语言,它具有强大的底层操作能力,可以直接操作内存。这使得C语言在处理底层硬件操作、系统编程等方面有着独特的优势。但同时,这也使得C语言相对较为复杂,需要理解内存管理、指针等抽象概念,初学者往往感到难以理解和把握。C与C语言的区别...
c语言很难吗
C不难学,但是要学精比较难难。要有决心才能学好。1)相比较其他的编程语言(像C++,JAVA),C语言是个低级语言。从总体上来说,低级的编程语言可以让你更好的了解计算机。 2)设备驱动程序和操作系统只能用C语言来编写。现在,你可能还从来没有编写过一个设备驱动程序或者一个操作系统,但是如果你需...
C语言难还是java语言难?
就学习难度上来说,C语言的难度是要大一些的。因为C语言比较晦涩难懂,基本的知识点学起来就很不容易了,单单一个指针就能让很多同学嗑掉很多脑细胞的。况且C属于底层代码,是面向过程的、抽象化的通用程序设计语言,支持多种编程范式,如面向对象编程、泛型编程和过程化编程,因而它的逻辑要求、指针、类...
C语言难学还是JAVA难学啊
C语言比较难,JAVA是比较容易的,这个答案已经明朗了,网上大家都这样说。而且,C语言比较难之外,你要做具体事务,比如单片机编程,你还得学单片机相关的知识,什么寄存器什么的还有其他软硬件基础,比如数字电路模拟电路,等等,感觉就像进入了一个深深的大坑,学的东西都学不完。所以你不光要问学哪个语言...
C语言真的那么难学吗?
的确,有些人可能会采取投机取巧的方式应对考试,但这并不能真正提升编程技能。当涉及到实际项目开发时,C语言的简单语法背后隐藏着复杂的逻辑构建,这是真正的难点所在。C语言的考试难度并不算高,挂科往往反映出学习态度和实际应用能力的缺失。对于任何阶段的学习者,尤其是计算机专业的大学生,从零基础...
c语言难学吗
作为过来人告诉你,其实C语言并不是很难,不过对于刚接触C语言的人来说,会感觉很难,而且无法理解学的这些是什么玩意,而且编程语言让人感觉很“虚”,跟教学也有一定的关系,因为老师一上来就跟你内容、讲语法,懵懵懂懂完全不知道讲的是什么,慢慢地就会对C语言失去了兴趣,上课要么逃课、要么打瞌睡...
c和java哪个难学
C语言相对Java更难学。解释:语言特性方面。C语言是一种过程式语言,它提供了对计算机底层操作的直接控制,因此具有更高的灵活性。但这种灵活性也意味着需要更多的编程细节管理,比如内存管理、指针操作等,这些都增加了学习难度。对于初学者来说,理解内存分配、指针等概念较为抽象,容易出错。而Java作为一...
c语言难学吗
c语言学习起来还是有些难度的。C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。简单的说C语言是所有想从事it这行必须掌握的语言,就像你...
c语言与java哪个难学?
从学习的角度来看,C语言和Java都有各自的特点和难点。但从整体上来说,C语言相对于Java更加基础和简单,Java则更为高级和具有更丰富的功能。C语言是一种面向过程的编程语言,其特点是高效、简洁和跨平台。C语言的主要应用领域是底层开发,例如操作系统、嵌入式系统等。C语言的学习难点主要在于其对底层...
c和Java哪个难学
Java相对较难学。解释一:语言特性的复杂性 Java是一种面向对象的编程语言,相对于C来说,其语言特性更为复杂。Java拥有更为丰富的库和框架,这意味着开发者需要掌握更多的概念和技术栈。例如,Java中的内存管理和垃圾回收机制,虽然为开发者提供了自动管理的便利,但同时也增加了学习的难度。此外,Java...
查维勒通: 其实没什么容易与更容易,只要你系统的学就更容易.c只是面向过程,c++就面向对象,但在初学的时候,C++也是先学过程编程,如果没学到类(class)跟c没区别,C++只不过头文件、一些函数有点变化.有人说先学C后学C++就容易些,但...
长阳土家族自治县19434878151: C好学还是C++好学? - ?
查维勒通: 都比较好学,建议先学C再学C++.如果觉得难可以先学BASIC.如果你想学好编程,建议多上一些网站上查查,另外一定要多动手,多动脑,编程是练出来的.
长阳土家族自治县19434878151: C++难学么?还是C好学呢? - ?
查维勒通: 指针是C系列的精髓,也是C++的难点,重点,如果你就是单纯的考级,那么弄好指针,别的都简单了,如果想深入学习,那么设计路程、算法什么的就是难点的,C语言比较难些,要学好它,得花些时间琢磨,初期入门最好的学习方法就是抄程序,然后研究,超得多了,自然而然的也掌握书写格式了,然后指针的学习就得花些精力了,虽然难些不过C++学好了再学其他语言就容易点了~~~~祝你成功!!!
长阳土家族自治县19434878151: c++是否是比c要难学呢??
查维勒通: C语言是面向进程的开发语言,C++是面向对象的开发语言,如果没有其他编程经验,建议学C++,由于从面向进程的开发向面向对象转思路比较困难,1开始就学C++,比较好以下,但C++入门容易,提高难.
长阳土家族自治县19434878151: C语言和c++哪个容易学?
查维勒通: 首先几应该去接触和学好C语言,因为C语言是其他语言的基础,学好C语言很重要.同样C语言也是最容易学的. hh
长阳土家族自治县19434878151: 学C 语言难,还是C++难 ?? - ?
查维勒通: C语言在所有编程软件中算最很难的了,不过多看书还是很容易过的,努力呀
长阳土家族自治县19434878151: C 和C++学哪个好 - ?
查维勒通: 见意去学C,C + +前C很少接触 它不是一个纯粹的面向对象的编程语言!最好不要两个一起学习,你也没有这种能力. 从最基础的开始上学,慢慢了解,一步一步地学习, 不要想一步登天,我会产生相反的结果! 初学者的“C语言程序设计”谭浩强的可以! 完成学业后,以了解数据结构,如果你想学习编程,你必须了解它,它是灵魂的程序. 我祝你成功!
长阳土家族自治县19434878151: c语言好学还还是C++好学? - ?
查维勒通: 建议你先学c,有了c的一定基础后再去学习c++,现有一本我用过的入门书籍推荐给你:《21天学会c语言》.此书在国内各大书店均有销售,用心去学好此书可以给你的c语言打下很好的基础.但是你要是想直接学习c++也可以,还是一本我用过的书:《c++面向对象程序设计》(第七版)当然要是有新的版本就买它. 此书是美国c++权威教授Walter Savitch 的c++入门经典教材,本书结构严、清晰,行文幽默.最重要的是本书不像国内的教材一般全书大部分都是概念而没有实例,而是使用几个实例贯穿全书,让你很有代入感.每章后面都有相应的习题.很适合你
长阳土家族自治县19434878151: 学C++简单还是C语言简单,我是电脑白痴,想自学点,学哪个好点? - ?
查维勒通: c语言是c++和java的基础,这两种语言都是用c开发的,就像数学里函数什么的都是从1+1=2过来的一样,所以想学好编程的话,c是必不可少的,当然要说编程简单来说,c++觉得比c简单,就像函数能解决的问题,为什么要从1+1=2开始来解决呢
长阳土家族自治县19434878151: c++比C难吗? - ?
查维勒通: C++学习有两个难点,首先是C++语法本身,这是最基础的东西,C++ Primer是一本很好的书,你可以看两遍,这时候你第一个难点一个克服了.第二个难点就是面向对象的编程思想,这个东西需要多看看一个面向对象设计方法的书,关键是看一些实际的设计系统,这样会有助于你的理解.说着是简单,其实学起来还是比较费时间的.