这篇文章之前发表在我的CSDN的博客中,现在贴到博客园来。。。
由于目前学习工作的不同,导致要用很多的语言进行工作和开发,因此经常弄混各个之间的差别。
今天有空,就将其做了出来,如下表,希望可以大家的工作和学习有所帮助!
如果有什么不严谨的地方,欢迎提出!
说明 | C(区分大小写) | Delphi(不区分大小写) | PHP(区分大小写) |
整型变量的定义 | char a = 'a'; /* 8位有符号*/
int a=10; /* 16位有符号*/
unsigned int a = 10; /* 16位无符号*/
short a = 10; /* 16位有符号*/
unsigned short a = 10;/* 16位无符号*/
long a = 10; /* 32位有符号*/
unsigned long a = 10; /* 32位无符号*/
| I: ShortInt; { 8位有符号}
I: Byte; { 8位无符号}
I: SmallInt; { 16位有符号}
I: Word; { 16位无符号}
I: Integer; { 32位有符号}
I: Cardinal; { 32位无符号}
I: Int64; { 64位有符号}
| $i = 10; /* 变量以$开头*/
|
实型变量的定义 | float a = 1.0; /* 4字节*/
double a = 1.0; /* 8字节*/
long double a = 1.0; /* 10字节*/
| a: Single; { 4字节}
b: Real48; { 6字节}
c: Double; { 8字节}
d: Extended; { 10字节}
| $a = 3.14;
|
字符变量的定义 | char a = 'a'; /*1字节*/
| a: Char; { 1字节}
a: WideChar; { 2字节}
| $a = 'a';
|
固定长度字符串 | 无 | a: ShortString;
| $a = 'a';
|
动态字符串 | 无 | a: AnsiString;{ 一般为String}
| $a = 'Hello!';
|
以NULL结束的字符串 | char a[] = "Hello!";
| a: PChar;
| 无 |
1字节布尔变量 | 任何1字节数 | a: Boolean;
| 任何变量都可以 |
加,减,乘,浮点除 | +,-,*,/ | +,-,*,/ | +,-,*,/ |
整除 | a = 3 / 2; /*运算符两边都是整型*/
| a := a div b; { a,b都是整型}
| $a = 3 / 2;
|
取模 | a = a % b;
| a := a mod b;
| $a = $a % $b;
|
赋值 | a = b;
| a := b;
| $a = $b;
|
比较 | if (a == 12) ...;
| if a = 23 then ...;
| if ($a == 23) ...;
|
不等于 | if (a != 23) ...;
| if a <> 23 then ...;
| if ($a != 23) ...;
|
小于,大于,小于等于,大于等于 | <,>,<=,>= | <,>,<=,>= | <,>,<=,>= |
逻辑与 | if (a && b) ...;
| if (a = 2) and (b = 3) then ...;
| if ($a && $b) ...;
|
逻辑或 | if (a || b) ...;
| if (a = 2) or (b = 2) then ...;
| if ($a || $b) ...;
|
逻辑非 | if (!a) ...;
| if not (a = 2) then ...;
| if (!$a) ...;
|
数组定义 | int a[10] = {0};
| a: array[0..10] of Integer;
| $MyArray = array(1,2,3,4);
|
记录类型 | typedef struct{
int i;
double d;
}MyRes;
| Type
MyRec = record
i: Integer;
d: Double;
end;
| |
指针 | int *a;
| a: ^Integer;
| |
判断语句 | if (a == 2)
{
/* 为真执行*/
}else{
/* 为假执行*/
};
| if a = 2 then
begin
{ 为真执行}
end else begin
{ 为假执行}
end;
| if ($a == 2)
{
/* 为真执行*/
}else{
/* 为假执行*/
};
|
多重判断 | switch (expr){
case expr1:
DoSomething;
break;
case expr2:
DoSomething;
Break;
case expr3:
DoSomething;
Break;
default: exprN;
}
| case Variable of
101: DoSomething;
102:
begin
end;
103: DoAnotherthing;
else DoTheDefault;
end;
| switch (expr){
case expr1:
DoSomething;
break;
case expr2:
default: exprN;
}
|
for循环 | for(expr1;expr2;expr3){
DoSomething;
}
| for i := 10 to 20 do
begin
end;
for i := 20 downto 10 do
begin
end;
| for(expr1;expr2;expr3){
DoSomething;
}
|
while循环(先判断) | while(expr1)
{
}
| while(a = 30) do
begin
end;
| while(expr1)
{
}
|
while循环(后判断) | do
{
}while(expr1);
| repeat
inc(c);
until c > 100;
| do
{
}while(expr1);
|
跳出循环 | break; /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/
| break; /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/
| break; /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/
|