第1个回答 2012-11-29
从编程思想的角度:C过程化的编程语言,
而C++则是通过api函数的调用中的参量的赋值,或api函数的返回值等等来
实现c++程序面向对象的编程。
概括的说:C是面向对象,C++是面向过程
什么是api?api简单来说就是提供给编程者以实现基本功能的函数的集合。
从二者的使用形势来看: 二者在使用时的绝大部份是完全一样或者基本一样,这点主要是由语
言的基本方法决定的,因为C++就是根据C发展的。例如:二者在引用
头文件时都是#include “***.h”,在定义宏的时候都是#define ***** @@@
、在定义变量都是类似int a、char ch....
说了这么多相同,不同点也是很多的,这主要表现在C++中为了实现统
编程而新加了很多内容,诸如新的类型,典型代表:类(class)句柄
(handle),以及大量的对原C语言的类型和对新加的类型的起“小
名”等再深说就太复杂,不利于新手对C++的理解。
总之,C++是对C的继承和深化。
造成二者不同的根源:学过C++的都一致认为其很难学:入手很难,即使C语言学的不错,依然
有 障碍!这一点毋庸置疑!为什么C++难学,如何才能学会C++?我个人
认为想学好C++首先就要认清C++和C之间的造成区别的原因。
形势主要表现在头文件上:C的头文件对没有像C++那样对标准函数库的
大量的、密集的集成,这注定了,学习C语言的时候,不用记住太多函数
,只要掌握编程思想就可以编写出程序。而c++则不同,
因为你光知道编程思想是不够的,是不能写出windows程序的,因为写
windows程序需要大量的windows api函数封装,构造出程序等,同时
C++编程新手可能根本不知道有哪些api函数可以实现自己想要的功能。
这也造成了C++的学习困难。。。。。。
说太多了,提问者看到了肯定会烦!
在这里我指明重点:C++和C在对基础类库的集成程度上的差异造成了
二者差异的主要原因。也是难度差异的主要因素。
以上为本人根据自己的实践经验和对二者的认识总结出来的观点和认识,
如果有某位大神认为我说的不对,完全可以指出,但不要乱喷,
我相信能掌握C++的人的素质不会低,毕竟都是程序猿了,作为高级知识分子没必要自降身份。
纯手打,谢谢支持!如果还有不明白的可以问我。
第2个回答 2023-04-03
c++和c语言的区别:1、关键字蓝色标注为C语言关键字,C++继承了C语言的所有关键字,以下红色标注为C++中含有但C语言没有的关键字(根据c++98中提出C++包含63个关键字)。2、源文件区别C语言文件后缀为c,c++原文件名后缀为.cpp。如果在创建源文件时什么都不给,默认是.cpp。3、返回值不同C语言中,如果一个函数没有指定返回值类型,默认为int类型,并返回一个随机数,一般为0XCCCCCCCC。在C++中,如果函数没有返回值则必须指定为void型,否则编译不能通过。4、参数列表在C语言中,函数没有指定的参数列表时,默认可接收任意多个参数。在C++中,有严格的参数类型检测,没有参数列表的函数,默认为void,不接收任何参数。5、C++支持函数重载,C语言不支持在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。
例如希望交换两个变量的值,这两个变量有多种类型,可以是int、float、char、bool等,我们需要通过参数把变量的地址传入函数内部。
在C语言中,程序员往往需要分别设计出三个不同名的函数,其函数原型与下面类似:
void swap1(int*a,int*b);//交换int变量的值。void swap2(float*a,float*b);//交换float变量的值。void swap3(char*a,char*b);//交换char变量的值。void swap4(bool*a,bool*b);//交换bool变量的值。但在C++中,这完全没有必要。C++允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。6、指针和引用C语言中函数传参方式有两种:传值和传址。
以传值方式,在函数调用过程中会生成一份临时变量用形参代替,最终把实参的值传递给新分配的临时形参。它的优点是避免了函数调用的副作用,却无法改变形参的值。如果要改变实参的值,只能通过指针传递。指针可以解决问题,但是不安全,因此在C++中引入了引用。7、命名空间在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或者名字污染,namespace关键字的出现就是解决这种问题。而C语言中没有。
8、输入与输出
cout代表c++的输出流。
cin代表c++的输入流。
它们都是在头文件“iostream”中定义。
“cout”必须与”<<”一起使用,“<<”起到插入的作用。
在一条语句中可以多次使用“<<”输出多个数据。