C语言和C++语言在语法上面的部分区别:
一、C语言的定义必须在最前面,C++能够在任何地方定义,好比
for(int i=0;i<100;i++) s+=i;
在C++中是正确的,可是在C语言中是错误的
二、类型强制转换,C语言必须将类型括起来,C++能够将变量括起来。好比int(a)在C++中是正确的,可是在C语言中是错误的,必须写为(int)a
三、在VC中,int是32位的;在tc中,int是16位的。VC支持C++语法
共享群里面的上机手册中创建的文件test.cpp.
各位老师在具体做的时候能够创建.C文件取代.cpp文件。
这样子能够避免不少C和C++的区别。例如:
变量声明的位置等都和TC中的语法同样了。html
C++是C语言的超集,虽然C++兼容C,可是C++中也有与C语言中不兼容的地方。
1、变量声明的位置
C中变量声明和代码是分开的,必须在函数开始处声明;
C++中,变量能够在任意处声明,只要保证先声名后使用的原则就能够。
2、struct结构体方面
一、用struct定义变量
struct mystruct
{ int i;
float x;
}
在c中声明struct变量要这么写:struct mystruct a;
在C++中前面不用加struct:mystruct a;
一种兼容的用法是:
typedef struct _mystruct
{
int i;
float x;
} mystruct;
而后用mystruct 定义变量。枚举型(enum),联合体类型(union)也是一样。
二、在C++中,struct结构体支持成员函数的定义,C中不行。另外要注意的是,C++中成员函数的默认访问说明符为public,这一点和类不一样,类的默认访问说明符为private.
3、bool类型值
C++中有bool(或boolean类型);C中可没有这样的bool类型,均为数值类型!须要注意的是真为非零(如:1,52,-5,-2等),假的数值为0。
4、注释的不一样
C中的注释至有一种 ;
C++中的注释包含两种和//。
5、强制数据类型装换
C中的强制转化形式为:(类型)变量;
C++中还可使用:类型(变量)的形式。
6、赋值
C语言中的赋值只有一中即:=;
C++中除了使用=外,还可使用()。例如:int x(5);就等于: int x=5;我想这种写法是给C++中对象初始化时初始化属性是对象时使用的,那么对于基本类型也可使用了。
7、函数
一、C语言中函数没有参数默认值,在C++中函数有参数默认值的概念,注意参数默认值与函数重载的区别。
二、C语言中函数的定义又两种形式,经典形式和标准形式,C++中只支持标准形式。
标准形式:int string(int x,float y){......}
经典形式: int string(x,y)int x;float y;{......}
三、C++的函数必须先声名原型或定义才能使用,由于C++是强数据类型语言,在C语言中,未声名和定义函数以前调用函数是容许的.
8、运算符&和关键字const
&运算符最基本的含义是取地址,C和C++中都支持这一语法。但在C++中&还能够表示引用。有了引用的概念后函数调用能够做为左值。例如:
int &rtux()
{
......
}
rtux()=5;
以上表达式在C++中彻底正确,但在C语言中是非法的。
const关键字要注意一点不一样的就是在C++的类函数中,函数能够声名是能够用const,表示这个函数没有改变类中的任何属性。如:void unchange()const;C不能有这样的生明。
9、extern说明符
在C语言的某些版本中,能够在程序中屡次使用一个全局变量而无需使用extern说明符。但在C++中除定义全局变量外,在其余模块使用应先用extern生明。
10、void指针
在C语言中void指针能够赋给任何类型的指针,但在C++中,却不行,但能够先进行强制数据类型转换,在赋值。
ide