Pascal语法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Pascal语法
第一章、Pascal介绍
一、Pascal的基本语法单位
1、基本符号
A——Z;a——z;0——9;+,-,*,/,=,<>,<=,>=,<,>,(,),[,],{,},:=,,,;,.,:,..,',^
注意:Pascal语言除了能使用以上规定的基本符号外,不得使用任何其它符号。
2、保留字
AND,ARRAY,BEGIN,CASE,CONST,DIV,DO,DIWNTO,ELSE,END,FILE,FOR,FUNTION,GOTO,IF,LABEL,MOD,NIL,OF,OR,PACKED,PROCEDURE,PROGRAM,RECORD,REPEAT,SET,THEN,TO,TYPE,UNTIL,VAR,WHILE,WITH。
注意:所起的文件名不能与保留字相同。
3、标识符
以字母打头的字母数字串,长度小于等于8。
标准标识符(共三十九个):
标准常量:
false,true,maxint
标准类型:
integer,real,char,boolean,text
标准文件:
input,output
标准函数:
abs,arctan,chr,cos,eof,eoln,exp,ln,odd,ord,ored,round,sin,
sqr,sqrt,succ,trunc
标准过程:
get,new,pack,page,put,read,readln,reset,rewrite,unpack,wri te,writeln
二、程序结构
1、由三大部分组成:程序首部,说明部分,语句部分。
PROGRAM程序名(input,output);
{……}解释
CONST
pi=3.14159;
VAR
r,l,s:real;
BEGIN
write('input r:');
read(r);
l:=2*pi*r;
write('l=',l,'s=',s);
END;
2、大量使用标点符号,保留字后不加标点符号(END除外)。
第二章、顺序结构程序设计
一、标准数据类型
1、实型(real)
小数表示法、指数表示法
2、整型(integer)
正、负整数和零
maxint=32767
pred:前导;succ:后继
[例]:pred(3)=2;succ(3)=4;
pred(true)=false;
succ(false)=true
3、字符型(char)
是指在两个单引号中的一个字符。
ord:取序数
[例]:ord('A')=65
4、布尔型(boolean)
false;true
用于布尔型的运算:NOT、AND、OR
ord(true)=1;ord(false)=0
二、常量和变量的定义
常量的定义:CONST
pi=3.14159;
blank='';
变量的定义:VAR
r,l,s:read;
cl:char;
三、表达式及赋值语句
[例]:b2-4ac写成:sqt(b)-4*a*c
赋值:<变量>:=<表达式>
四、输入输出语句
1、输入语句:read(<变量表>);readln(<变量表>)
注:表达式里面变量与变量之间用逗号隔开;
readln表示下一个语句将从下一行开始操作;
输入时,整型或实型用空格或回车隔开,字符型之间无需分隔,一个接一个输入。
2、输出语句:write(<输出表>);writeln(<输出表>)
注:对real或integer限定场宽:write('a=',a:2:0){a为real型}
第三章、选择结构程序设计
一、if语句
格式:IF<条件>
THEN<语句1>
ESLE<语句2>
注:1、ELSE与最近的并且未被配对的ELSE配对;
2、复合,如果THEN或ELSE带有多个语句,则要用BEGIN——END括起来。
二、CASE语句
格式:CASE<表达式>OF
<值表1>:<语句1>
<值表2>:<语句2>
……
<值表n>:<语句n>
[ELSE<语句>]
END
注:1、值表的三种表达方式:“1:”;“2,4,6:”;“10..100:”
2、CHAR,INTEGER,BOOLEAN有序
第四章、循环结构程序设计
一、FOR语句
格式:1、FOR<循环变量>:=<初值>TO<终值>DO<语句>;
2、FOR<循环变量>:=<终值>DOWNTO<初值>DO<语句>。
[例1]:输入10个数,求最大值、最小值、和、及平均值。
PROGRAM ten(input,output);
VAR
a,s,max,min,avg:real;
i:integer;
BEGIN
write('please input:');
read(a);
s:=a;
max:=a;
min:=a;
FOR i:=2TO10DO
BEGIN
read(a);
s:=s+a;
IF a>max THEN
max:=a
ELSE