C(区分大小写) Delphi(不区分大小写) PHP(区分大小写)
整型变量的定义
1
2
3
4
5
6
7
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位无符号*/
1
2
3
4
5
6
7
I: ShortInt{ 8位有符号}
I: Byte;      { 8位无符号}
I: SmallInt{ 16位有符号}
I: Word;      { 16位无符号}
I: Integer;   { 32位有符号}
I: Cardinal{ 32位无符号}
I: Int64;     { 64位有符号}
1
$i = 10;  /* 变量以$开头*/
实型变量的定义
1
2
3
float a = 1.0;         /* 4字节*/
double a = 1.0;        /* 8字节*/
long double a = 1.0;   /* 10字节*/
1
2
3
4
a: Single;    { 4字节}
b: Real48;    { 6字节}
c: Double;    { 8字节}
d: Extended{ 10字节}
1
$a = 3.14;
字符变量的定义
1
char a = 'a';          /*1字节*/
1
2
a: Char;      { 1字节}
a: WideChar{ 2字节}
1
$a = 'a';
固定长度字符串
1
a: ShortString;
1
$a = 'a';
动态字符串
1
a: AnsiString;{ 一般为String}
1
$a = 'Hello!';
以NULL结束的字符串
1
char a[] = "Hello!";
1
a: PChar;
1字节布尔变量 任何1字节数
1
a: Boolean;
任何变量都可以
加,减,乘,浮点除 +,-,*,/ +,-,*,/ +,-,*,/
整除
1
a = 3 / 2;  /*运算符两边都是整型*/
1
a := a div b; { a,b都是整型}
1
$a = 3 / 2;
取模
1
a = a % b;
1
a := a mod b;
1
$a = $a % $b;
赋值
1
a = b;
1
a := b;
1
$a = $b;
比较
1
if (a == 12) ...;
1
if a = 23 then ...;
1
if ($a == 23) ...;
不等于
1
if (a != 23) ...;
1
if a <> 23 then ...;
1
if ($a != 23) ...;
小于,大于,小于等于,大于等于 <,>,<=,>= <,>,<=,>= <,>,<=,>=
逻辑与
1
if (a && b) ...;
1
if (a = 2) and (b = 3) then ...;
1
if ($a && $b) ...;
逻辑或
1
if (a || b) ...;
1
if (a = 2) or (b = 2) then ...;
1
if ($a || $b) ...;
逻辑非
1
if (!a) ...;
1
if not (a = 2) then ...;
1
if (!$a) ...;
数组定义
1
int a[10] = {0};
1
a: array[0..10] of Integer;
1
$MyArray = array(1,2,3,4);
记录类型
1
2
3
4
typedef struct{
  int i;
  double d;
}MyRes;
1
2
3
4
5
Type
  MyRec = record
    i: Integer;
    d: Double;
  end;
 
指针
1
int *a;
1
a: ^Integer;
 
判断语句
1
2
3
4
5
6
if (a == 2)
{
  /* 为真执行*/
}else{
  /* 为假执行*/
};
1
2
3
4
5
6
if a = 2 then
begin
  { 为真执行}
end else begin
  { 为假执行}
end;
1
2
3
4
5
6
if ($a == 2)
{
  /* 为真执行*/
}else{
  /* 为假执行*/
};
多重判断
1
2
3
4
5
6
7
8
9
10
11
12
switch (expr){
  case expr1:
    DoSomething;
    break;
  case expr2:
    DoSomething;
    Break;
  case expr3:
    DoSomething;
    Break;
  default: exprN;
}
1
2
3
4
5
6
7
8
case Variable of
  101: DoSomething;
  102:
    begin
    end;
  103: DoAnotherthing;
  else DoTheDefault;
end;
1
2
3
4
5
6
7
switch (expr){
  case expr1:
    DoSomething;
    break;
  case expr2:
  default: exprN;
}
for循环
1
2
3
for(expr1;expr2;expr3){
  DoSomething;
}
1
2
3
4
5
6
7
for i := 10 to 20 do
begin
end;
 
for i := 20 downto 10 do
begin
end;
1
2
3
for(expr1;expr2;expr3){
  DoSomething;
}
while循环(先判断)
1
2
3
while(expr1)
{
}
1
2
3
while(a = 30) do
begin
end;
1
2
3
while(expr1)
{
}
while循环(后判断)
1
2
3
do
{
}while(expr1);
1
2
3
repeat
  inc(c);
until c > 100;
1
2
3
do
{
}while(expr1);
跳出循环
1
2
break;    /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/
1
2
break;    /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/
1
2
break;    /* 跳出循环*/
continue; /* 跳出本次进入下一循环*/

PHP & Delphi 語法的更多相关文章

  1. Delphi APP 開發入門(六)Object Pascal 語法初探

    Delphi APP 開發入門(六)Object Pascal 語法初探 分享: Share on facebookShare on twitterShare on google_plusone_sh ...

  2. 用Razor語法寫範本-RazorEngine組件介紹【转——非常好,可以用它来代替NVelocity】

    RazorEngine 官網網址:http://razorengine.codeplex.com 在找到RazorEngine之前曾經想過其他的方案,如T4與V8 Engine載jquery.temp ...

  3. 開賣!下集 -- ASP.NET 4.5 專題實務(II)-範例應用與 4.5新功能【VB/C# 雙語法】

    開賣!下集 -- ASP.NET 4.5 專題實務(II)-範例應用與 4.5新功能[VB/C# 雙語法] 我.....作者都沒拿到書呢! 全台灣最專業的電腦書店 -- 天瓏書局 已經開賣了! 感謝天 ...

  4. vue起步和模板語法

    vue構造器里有哪些內容: var a=new Vue({}) 模板語法: 文本插值: html: html的屬性里的值應該使用v-bind: 表達式: 指令; 參數:v-bind,v-on 雙向用戶 ...

  5. 用Razor語法寫範本-RazorEngine組件介紹

    最近剛好有要寫寄Email的程式,在代碼中寫HTML覺得很呆,抽出代碼外寫到txt或html檔當範本,由程式執行時在載入檔案時用Regex換關鍵字又覺得不夠好用,而且因為有時會有要判斷一些條件,就會寫 ...

  6. 查看LINQ Expression編譯後的SQL語法(转)

    在用了LINQ語法之後的一個月,我幾乎把SQL語法全部拋到腦後了,不過 LINQ好用歸好用,但是實際上操作資料庫的還是SQL語法,如果不知道LINQ語法 編譯過後產生怎樣的SQL語法,一不小心效能就會 ...

  7. Java學習筆記(基本語法)

    本文件是以學習筆記的概念為基礎,用於自我的複習紀錄,不過也開放各位的概念指證.畢竟學習過程中難免會出現觀念錯誤的問題.也感謝各位的觀念指證. 安裝JDK 在Oracle網站中找自己系統的JDK下載位置 ...

  8. sql server存儲過程語法

    -- 变量的声明,sql里面声明变量时必须在变量前加@符号    DECLARE @I INT -- 变量的赋值,变量赋值时变量前必须加set    SET @I = 30 -- 声明多个变量    ...

  9. C#常用語法糖(Csharp Syntactic sugar)

    首先需要声明的是“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕不已,呵呵. 1.  ...

随机推荐

  1. sqlite3 not found问题解决方法

    测试发现,有些Android手机自带sqlite3命令,有些不带.对于不带sqlite3的手机,我们可以手动将sqlite3加入系统. 执行如下命令 adb remount adb push 路径/s ...

  2. iOS 单例传值遇见问题

    单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 1.单例模式的要点: 显然单例模式的要点有三个:一是某个类只能有一个实例: ...

  3. GCD的深入理解

    GCD 深入理解(一) 本文由@nixzhu翻译至raywenderlich的<grand-central-dispatch-in-depth-part-1> 虽然 GCD 已经出现过一段 ...

  4. git 错误:

    git  错误: $ git commit -afatal: Unable to create 'e:/git/Android/XXXXXX/.git/index.lock': File exists ...

  5. Hierarchyid 常用操作

        ---------内置函数------------ select hierarchyid::GetRoot()--0x select hierarchyid::Parse('/1/1/') - ...

  6. MySQL主主双机负载均衡

    MySQL双机主主架构,其上辅以负载均衡设备,可以实现mysql数据库的负载均衡高性能和高可用性,负载均衡设备可以根据算法将数据库操作的负 载平均分到两台MySQL服务器上,这样对于每台服务器来说工作 ...

  7. git之三

    1.status命令与diff命令 前面我们已经成功地添加并提交了一个readme.txt文件,修改readme.txt如下: echo "Git is a distributed vers ...

  8. NuGet学习笔记2——使用图形化界面打包自己的类库

    NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通过NuGet轻松下载自己需要的类库,下面来说一说如何将自己的项 ...

  9. mysql metadata lock(一)

    想必玩过mysql的人对Waiting for table metadata lock肯定不会陌生,一般都是进行alter操作时被堵住了,导致了我们在show processlist 时,看到线程的状 ...

  10. spring listener监听器

    1.Listener的定义与作用 监听器Listener就是在application,session,request三个对象创建.销毁或者往其中添加修改删除属性时自动执行代码的功能组件. Listen ...