pascal基础学习笔记

pascal程序的基本结构
program title;
begin
     statement;
     statement;
end.
注释符为{}
数据类型:char,integer(-32768~32767占两个byte的内存),longint(-2147483648~2147483647占4个byte内存),real,boolean
算术操作:+加法-减法×乘法DIV取被除数MOD取余数<>不等于
逻辑操作:AND,OR,NOT
               如:(A) AND (B),(A) OR (B),NOT(A)
优先级:(),functions,*,/,DIV,MOD,+,-
常量:const
write(' ': 显示数据的宽度(数据靠右对齐):小数点位置参数(仅适用于要显示的实数))
它将圆括号内的内容显示在屏幕上,且光标显示在屏幕上最后一个字符后,下一次的字符写入将显示在上一次字符的最后一位字符后。可显示数字,文本或存储在内存中的数据,文本须用单引号括起来。
writeln()同write()显示完后,光标移在下一行的开始处。
var定义变量
如:
var
   a,b:integer;
:=赋值
如:
a:=2;
read(),readln()接受用户输入,read以空格分隔输入,readln以“ENTER”键分隔输入。
trunc(real)抽取实数的整数部分,忽略小数部分,结果是一个整数
round(real)通过四舍五入法,将一个实数转化为与它的最相近的整数
int(real)像trunc()函数一样,int(real)仍只抽取实数的整数部分,其结果却是一个实数值。
frac(real)抽取实数的小数部分
conv(integer)将一个整数转化成实数;这个函数在Turbo Pascal中不存在,在其中如果需要的话,整数就会自动替换成实数
for循环:
for变量:=初始值to终止值do
语句或语句块;
每次循环变量自动 1
begin...end 块作用同C语言中的{};(同封装整个程序时的区别是,整个程序的end表示完全停止,而语句块的结束是以分号来标识的)
for...downto...do
同for...to...do的区别为每次循环变量自动 1
chr(n)将一个数转换成对应的字符
ord(c)将一个字符转换成对应的ASCII码
repeat...until...
repeat
    语句(语句集)(repeat就像作用于块的封装括号所以不用begin...end)
until 存在条件;
until done与until num=0功能相同
while(条件)do statement;
if 测试 then 语句(语句块);
if ...then...else

case运算
case变量of
         值:语句
         。。。
else
end;

数组
数组名字:array[数组长度]of 数组元素类型
使用数组前需自定义数组类型
字符串的存储
Pascal  不提供一个字符串类型,以一个特殊的数组来存储字符,以关键字packed来标识。
原因:
        计算机中的最小数据单元一般认为是byte,但实际中,内存分配给数据最小单元往往是用一个字(word)来表示,而字的大小往往取决于系统,在一个16位的系统中通常是两个byte,但在32的系统中是4个byte
Turbo Pascal支持字符串变量
固定长度:surname:string[20];
不定长度:surname:string;
集合set人(仅可用基本数据类型来构造集合,集合还可被定义为const放在程序开始的地方:常量名=·[集合值])
一个集合被定义为用方括号括起来的元素集。这些元素是一个个单一的项,每项之间以逗号隔开,也可定义为值的上下界间以两点分开,或二者结合的形式。
如:
['n','N','y','Y']
[0..99]
用法示例:if(not(reply in['n','N']))
关键词in将reply的值与集合中的各元素相比较
自定义类型:
放在程序的首部--在const保留字和var定义之前
如:
type
   string2=packed arry[1..80]of char;
集合类型相当于C中的枚举类型
过程(没有返回值的函数)
procedure 过程名称(参数;参数)(如n:char的为常值参数即过程运行中不许更改,而var n:char为变量参数,过程运行中可以更改)

你可能感兴趣的:(Pascal)