转载请注明来源

作者: 时时彩平台-编程  发布:2019-09-21

  这次是一个基本语法的第一部分,包括变量、变量初始化、常量、运算符、字符串等内容。

{        本程序演示 Delphi Pascal 的基本语法1、变量及变量的初始化2、常量3、运算符3、4、}program Syntax;{$APPTYPE CONSOLE}uses  SysUtils,Windows,StrUtils;{       变量1、Delphi中变量必须在固定的地方进行定义2、Delphi中通过关键字 var 来定义变量3、语法格式为:                var  变量名标识符列表 : 变量类型 ;    变量名列表中的各个变量名之间用逗号隔开4、初始化格式为                var  变量名标识符列表 : 变量类型 = 初始化值;5、注意三个符号的位置 冒号  等于号 和 分号}var    //第一种形式的变量定义    greetWord:string;    //第二种形式的变量定义    nAdd,nAddFactor:integer;    //变量的初始化    rad : single = 5.0 ;    //宽字符字符串    chinaName:WideString;    //ansichar 类型单字节字符串    englishName:AnsiString;    //定义一个没有初始化的字符串    noInitString:string;    //定义一个与win32兼容的字符串    dirWideString:widestring;    dirString:ansistring;{       常量1、Delphi中预定义了一部分常量        true   Boolean 类型的true        false  Boolean 类型的false2、在Delphi中利用 const 关键字定义常量3、语法格式为                const  常量名标识符 : 常量的数据类型 = 初始化值。4、初始化值必须有,常量的数据类型可以省略,Delphi会根据初始化值自动确定    常量的数据类型,进而分配相应的内存空间。 但是对于整数型的常量,内存    空间的分配遵循能容纳初始化值的最小空间数据类型确定。    例如:            10 会确定为 shortint类型5、常量还有一种常量字面值,就是和C语言中一样的字面值,例如    10    整数常量    2.06  实数常量    'Hello world' 字符串常量    'a' 字符常量}const    pi:single=3.1415926;{       要点1、Delphi中允许在定义变量和常量的时候使用编译期函数来初始化变量。2、常见的编译期函数有:        Sizeof()        Ord()        Chr()        Trunc()        Round()        High()        Low()    这里就不举例啦,一般不太会用到,}begin    //赋值运算符 :=    greetWord := 'Hello, Wellcome to Delphi world!';    //比较运算符 = 判断是否相等    nAdd := 10;    nAddFactor := 1;    if nAdd = nAddFactor then    begin        writeln('Equal.');    end;    //比较运算符  <> 不等于运算符, 如果不相等则返回TRUE    if nAdd <> nAddFactor then    begin        writeln('Not Equal.');    end;    //逻辑运算符  and 与 ,注意Delphi中逻辑运算符的优先级要高于比较运算符    if (1 = nAdd) and (2 <> nAddFactor )then    begin        writeln('The judge is ture.');    end;    //逻辑或   or  非 , 注意Delphi中逻辑运算符的优先级要高于比较运算符    if (1 = nAdd) or (2 <> nAddFactor )then    begin        writeln('The judge is ture.');    end;    //逻辑非  not 非, 注意Delphi中逻辑运算符的优先级要高于比较运算符    if not (1 = nAdd) then    begin        writeln('1 is not equal nAdd.');    end;    {       数学运算符    1、数学运算符基本与C语言类似,但是有几个特殊的需要说明一下    2、mod  求模运算符    3、div  整数除法, 得到的结果是整数    4、/    浮点数除法,得到的结果是浮点数    }    writeln('整数除法 3 div 2 的结果是:');    writeln(3 div 2);    writeln('浮点数除法 3 / 2 的结果是:');    writeln(3 / 2);    writeln('求余数 3 mod 2 的结果是:');    writeln(3 mod 2);    {       按位运算符    1、Delphi也提供了按位运算的运算符    2、and  按位与    3、or   按位或    4、not  按位非    5、xor  按位异或    6、shl  按位左移    7、shr  按位右移    }    writeln('2 and 5 按位与的结果是:');    writeln(2 and 5);    writeln('2 or 5 按位或的结果是:');    writeln(2 or 5);    writeln('not 2 按位非的结果是:');    writeln(not 2);    writeln('2 xor 5 按位异或的结果是:');    writeln(2 xor 5);    writeln('2 shl 5 按位左移的结果是:');    writeln(2 shl 5);    writeln('2 shr 5 按位右移的结果是:');    writeln(2 shr 5);    {       增量运算符    1、inc 增加    2、dec 减小    3、有两种形式   inc; 得到的结果是 a := a + 1                    inc; 得到的结果是 a := a + b    }    writeln('nAdd is:');    writeln;    writeln('Inc is:');    Inc;    writeln;    Dec;    writeln('Dec is:');    writeln;    {       数据类型    1、整数 8位、16位、32位有符号无符号整数,64位有符号整数    2、4位、6位、8位、10位浮点型,64位货币类型    3、1字节字符、2字节字符    4、定长字符串、变长字符串    5、NULL结尾字符串、NULL结尾宽字符串    6、动态两字节字符串    7、1字节、2字节、4字节boolean类型    }    //ansichar 具有标准一字节大小    if sizeof=sizeof then    begin        writeln('char and ansichar have the same size.');    end;    //char 具有和widechar一样的有两字节大小    if sizeof=sizeof then    begin        writeln('char and widechar have the same size.');    end;    {       字符串    1、shortstring  具有256字节长度的字符串,ansichar字符串    2、ansistring 顾名思义就是由 ansichar 构成的字符串    3、widestring 顾名思义就是由 widechar 构成的字符串    4、pchar  以NULL结尾的字符串的指针,兼容C语言的char*    5、pansichar 以NULL结尾的ansichar字符串指针    6、pwidechar 以NULL结尾的 widechar 字符串指针    7、默认情况下 string 定义的是 ansichar 类型    }    (*    1、需要特别注意 {$H+} 和 {$H-} 编译开关对string类型的影响       {$H+} 则表示 string 为 ansichar       {$H-} 则表示 string 为 shortchar    2、数值型数据类型不做过多的介绍    *)    writeln(sizeof(shortstring));    //给宽字符字符串赋值    chinaName := '中国';    //给单字节字符串赋值    englishName := 'England';    writeln(chinaName);    writeln(englishName);    {       ansistring的细节    1、string定义的时候没有分配内存    2、赋值或者初始化后string变量就分配内存    3、通过SetLength()函数可以申请内存    4、可以通过索引访问字符串    5、string类型具有垃圾自动回收机制,当生命周期结束后,由系统自动回收       系统分配给string的内存    6、字符串类型支持 + 连接运算    }    //  下面的用法错误    //noInitString[0] := 'a';    // 但是利用下面的方法则是正确的,通过 SetLength() 函数申请内存空间。    SetLength(noInitString,1);    noInitString := 'a' ;    //当进行 + 连接字符串运算时,系统会自动分配足够的内存    noInitString := noInitString + ' apple';    writeln(noInitString);    {       ansistring与 Win32 接口具有兼容性    1、因为 ansistring 是以 NULL 结束的字符串,因此可以与Win32字符串兼容    }    SetLength(dirString,256);    //SysAllocStringLen(dirWideString,256);    //获取windows目录    //GetWindowsDirectory(PWideChar(dirWideString),256);    dirString := dirWideString;    writeln(dirString);    readln;end.

  欢迎转载,转载请注明来源。

本文由时时彩平台发布于时时彩平台-编程,转载请注明出处:转载请注明来源

关键词:

上一篇:10.自定义响应结构
下一篇:没有了