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) 编辑 收藏 举报