PASCAL精要学习笔记之与C/C++的异同(入门)

来源:互联网 发布:多源数据融合技术 编辑:程序博客网 时间:2024/06/06 16:36

一个完全的Pascal程序结构
program 程序名;
 uses
  已知单元说明;
 label
  标号说明;
 const
  常量说明;
 type
  类型说明;
 var
  变量说明;
 function
  函数说明;
 procedure
  过程说明;
begin
 语句;
 语句;
 ……
 语句
end.

1. 注释不同

一般有三种注释的方法:
{this is a comment}
(* this is another comment *)
// this is a comment up to the end of the line

一般嵌套注释的方法:
{  ... code
//this comment is OK
... code }

2. 大小写不敏感
因此标识符
Myname、 MyName、 myname、 myName、 和MYNAME
是完全相同的

然而大小写不敏感也有不便之处:
第一,你必须注意大小写不一致的标识符实际上是相同的,以避免把他们当成不同的元素使用;
第二,你必须尽量保持大写使用的一致性,以提高代码的可读性。

3. 运算符及优先级
与大多数编程语言相反,Pascal语言中and和or运算符的优先级比关系运算符高。因此,如果你的代码为a < b and c < d,编译器首先会编译and运算符,由此导致编译出错。为此你应该把每个 < 表达式用小括号括起来: (a < b) and (c < d)。

同一种运算符用于不同数据类型时它的作用不同。例如,运算符 + 可以计算两个数字的和、连接两个字符串、求两个集合的并集、甚至给PChar 指针加一个偏移量。然而,你不能象在C语言中那样将两个字符相加。

另一个特殊的运算符是 div。在Pascal 中,你能用 / 计算两个数字(实数或整数)的商,而且你总能得到一个实型结果。如果计算两个整数的商并想要一个整型结果,那么就需要用 div 运算符。

4. 集合运算符

集合运算符包括并(+)、差(-)、交(*)、成员检测(in),及一些关系运算符。要把一个元素添加到集合中,你可以采用集合并运算。下面是一个选择字体的Delphi 例子:

Style := Style + [fsBold];
Style := Style + [fsBold, fsItalic] - [fsUnderline];

另一种方法是利用标准过程Include 和Exclude,它们效率更高(但不能用于控件的集合类型属性,因为只能操纵一个元素):

Include (Style, fsBold);

5. 关于变量

Pascal 变量在使用前必须声明,声明变量时必须指定一种数据类型。下面是变量声明的例子:

var
  Value: Integer;
  IsCorrect: Boolean;
  A, B: Char;

变量赋值用:= 如:
Value := 10;
IsCorrect := True;

6. 关于常量

const
  Thousand = 1000;
  Pi = 3.14;
  AuthorName = 'Marco Cantù';

Delphi 根据常量的值来决定它的数据类型。上例中的Thousand 变量,Delphi会选用SmallInt数据类型 (短整型--能容纳Thousand变量的最小整数类型)。如果你想告诉Delphi 采用特定的类型,你可在声明中加入类型名,方法如下:

const
  Thousand: Integer = 1000;

对于声名的常量,编译器有两种编译选择:第一种为常量分配内存,并把常量的值放入内存;第二种在常量每次使用时复制常量值。第二种方法比较适合简单常量。

字符串常量:
const
  AuthorName = 'Marco Cantù';
resourcestring
  AuthorName = 'Marco Cantù';

常用的特殊字符:

#9 跳格 (Tab 键)
#10 换行
#13 回车 (Enter 键)

7. 关于函数

函数说明形式如下:
 function 函数名(形式参数表):函数类型;
  说明部分,如定义变量;
 begin
  语句1;
  语句2;
  ……
  语句n
 end

 

文章只列出入门级的一些异同点,

希望可以帮助新手的学习