C、Delphi和PHP的基本语法对照表

这篇文章之前发表在我的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; /* 跳出本次进入下一循环*/

posted on 2011-12-13 11:22  pchmonster  阅读(2526)  评论(1编辑  收藏  举报

导航