c++和C语言的区别?

c++和C语言的区别?,第1张

C语言与C++的区别有很多:

1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。

2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。

3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。

4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。

4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。

5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。

6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。

7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。

8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。

9,调试功能强大,并且方法多样

C语言是面向过程的,而C++是面向对象的

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

我现在正要学习,但不知应该学哪个好,请大家给点意见

解析:

C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言。C++语言是C语言的超集,也就是说学会了C++,你其实已经把C语言学会了。至于说有什么区别,应该说是编程思想的区别吧,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。具体说来话长。建议你学习C++的时候,学会用面向对象的方式思考和编程。现在在开发大项目的时候,都是应用面向对象的分析和设计的技术。

C和C++的区别有什么

今天在网易上看到有人问C和C++的区别有什么,在这里简略说点

其他的东西都不需要多说,就象类,继承,引用等,大家都知道

这里讲的是调用编译的区别大家看WIN32 SDK的头文件,总是可以看到

ifdef __cplusplus

extern "C"

endif

ifdef __cplusplus

endif

这个就是直接能够体现实际编程时区别的地方 在WIN系列下所有的WIN32 SDK提供的LIB都是以C的形式存在的当然,C和C++同样都支持C,STDCALL,FASTCALL调用为什么系统提供C编译器编译的LIB而不是C++编译的LIB呢这里其实就是C和C++编译器不同的地方

所有的函数名称只有在汇编编译器下才最清楚因为经汇编编译器编译的函数不经过任何修饰

C 的编译器编译出来的函数名称如果在汇编编译器看来一个C调用将在函数名前家下划线('_')而一个STDCALL的函数将是_FUNC@NUMBER的形式如FUNC(void)经过编译器后成为_FUNC@0一个FASTCALL调用的函数被编译成@FUNC@0顺便提一下在WIN32的编译器里不再需要PASCALL调用VC6已经取消了对PASCALL的支持

光看C的编译还不够,看一下C++编译器是怎么干的在缺省情况下一个C++的函数经过C++编译器后编译出的函数名包括函数名,所属的类,参数类型,调用约定,返回类型而且更要命的是这么多的信息,只有函数名和类名在编译后还依稀可见其他就是一长串的ABCD字母,根本就是无法辨认其意义的我们在VC手册里可以看到

一个例子:

void __stdcall b::c(float); -----------> c@b@@QAGXM@Z

一个函数被编译得连名字也不知道怎么样了这么一来如果SDK提供的是C++编译器提供了LIB那么可以说就无法编译任何一个完整的WIN程序更加不用说什么混合语言编程

现在,VC编译器提供了个extern语句当出现extern 'C'语句,括号里的函数将以C方式经过编译器从而使提供库程序方便那么点

C语言与C++的区别有很多:

1,全新的程序程序思维,C语言是面向过程的,而C++是面向对象的。

2,C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。但你也可能单独调用API。

3,特别是C++中的图形处理,它和语言的图形有很大的区别。C语言中的图形处理函数基本上是不能用在中C++中的。C语言标准中不包括图形处理。

4,C和C++中都有结构的概念,但是在C语言中结构只有成员变量,而没成员方法,而在C++中结构中,它可以有自己的成员变量和成员函数。但是在C语言中结构的成员是公共的,什么想访问它的都可以访问;而在VC++中它没有加限定符的为私有的。

4,C语言可以写很多方面的程序,但是C++可以写得更多更好,C++可以写基于DOSr程序,写DLL,写控件,写系统。

5,C语言对程序的文件的组织是松散的,几乎是全要程序处理;而c++对文件的组织是以工程,各文件分类明确。

6,C++中的IDE很智能,和VB一样,有的功能可能比VB还强。

7,C++对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入MFC中的类的时候,加入变量的时候等等。

8,C++中的附加工具也有很多,可以进行系统的分析,可以查看API;可以查看控件。

9,调试功能强大,并且方法多样。

关键字通俗的说就是命令。例如int关键字是定义int类型变量的命令。 函数是封装了一些代码可以完成某项任务。例如printf()函数,是封装了输出代码,至于里边有什么代码不必知道,知道函数是干什么的就成。函数可以自定义,你也可以把自己常用的一段代码封装起来,最为一个函数,下次用就不用再写这段代码了,直接调用函数就ok了。

1、函数就是一系列C语句的集合,为了完成某个会重复使用的特定功能。需要该功能的时候,直接调用该函数即可,不用每次都堆叠一大堆的代码。需要修改该功能的时候,也只要修改和维护这一个函数即可。

2、C语言中,数学函数是函数的一种。指专门进行数学运算的函数,一般都在<mathh>头文件下,数学函数列表:

1)int abs(int i); 求整数的绝对值。

2)long labs(long n); 求长整型数的绝对值。

3)double fabs(double x); 求实数的绝对值。

4)double floor(double x); 求不大于x的最大整数,它相当于数学函数[x]。

5)double ceil(double x); 求不小于x的最小整数。

6)double sqrt(double x); 求x的平方根。

7)double log10(double x); 求x的常用对数。

8)double log(double x); 求x的自然对数。

9)double exp(double x); 求欧拉常数e的x次方。

10)double pow10(int p); 求10的p次方。

11)double pow(double x, double y); 求x的y次方。

12)double sin(double x); 正弦函数。

13)double cos(double x); 余弦函数。

14)double tan(double x); 正切函数。

15)double asin(double x); 反正弦函数。

16)double acos(double x); 反余弦函数。

17)double atan(double x); 反正切函数。

18)double atan2(double x); 反正切函数2。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11666494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存