这是学习c和c++最需要注意的,不要把两者搞混了,我们先开始就来看一下c和c++有什么联系,这两者可以这样说:C++是C的超集,兼容大部分C的语法的结构,其实任何语言之间都没有明显的界限,C语言是基础; 所以c++是比c更高级一些吧,他们都是编程语言。但是他们的用法很多都是有不一样的,来听一一道来:
首先不同之处一:他们的应用场合是不一样的
C语言:C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性。
C++:正是因为有大规模的程序需要去处理,C++就应运而生了。C++是由C发展而来的,与C语言兼容。C++既可用于面向过程的结构化程序设计,也可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。
接下来不同之处二:语法的不同
1、输入/输出函数
C语言:用一个例子说明一下:
int a=1;
double d=3.1415926;
printf("%d\n",a);
printf("a=%d\n",a);
printf("b=%6.3f, b=%6.2f, b=%.3f\n",b,b,b);
scanf("%d",&a);//取地址,输入a的值
%d和%f称为格式说明符,表示以此格式输出对应表达式的值,\n表示换行。%6.3f 中的6表示占六列,.3 表示输出对应浮点表达式值时只输出三位小数。
C++:也是用一个例子说明:
int a=5;
float b;
cout << "a="<
cin >>b;
cout必须要和”<<“一起使用,cin必须要和”>>“一起使用。我觉得C++中的输入输出流是很强大的,它不像C里面还要指定格式。endl表示换行。
2、字符串
另外一个我觉得C++里面另外一个特别好用的用来存放字符串的就是string,它是在C++标准库中声明的一个字符串类。
C语言:char a[20]="hangzhou";
char *p="hangzhou";
C++: string s1="abcd";
string s2="hello world";
string s3=s1+s2;
s1=s2;
c++比c更方便许多。
3、头文件
C语言中所有的头文件都带后缀 .h(比如stdio.h)
C++中有系统提供的头文件不带后缀 .h,用户自己编制的头文件可以有后缀 .h。
4、结构体和类
C语言:结构体
struct Student //声明了一个名为Student的结构体类型
{ int num;
char name[20];
char sex;
} ;
Student stud1,stud2; //定义了两个结构体变量 ,默认情况下为public类型。
C++:类
class Student
{ private:
int num;
char name[20];
char sex;
public:
void display()
{ cout<<"num="<
cout<<"name="<
cout<<"sex="<
};
Student stud1,stud2;//定义了两个Student类的对象
C++中的类将数据和操作封装在一起,并且指定了访问权限。如果不指定public,也不指定private,则系统就默认为私有的,这一点和C语言中的结构体是不一样的。
其实总的来说,C语言和c++,他们除了表现在使用场合不同,还有更多的是语法的不同,C语言更加注重过程,c++比C语言更高一级,对c和c++应该有大致的了解了吧。