这是Lazarus完整的Pascal语言入门教程知识要点,包含全部关键字、语法及简单示例,最后用一个实例综合各个知识点。
📘 Lazarus / Free Pascal 零基础入门纲要
官方标准语法 + 全部关键字 + 全示例 + 最终综合项目,可以直接用这份教程学会 Pascal,适配 Lazarus、Windows、Linux 全平台。
1:Pascal 基础结构
1.1 最简单的程序
pascal
program HelloWorld; // 程序开头
uses SysUtils; // 引用系统单元
begin // 程序开始
Writeln('Hello Pascal!');
Readln; // 等待回车
end. // 程序结束
1.2 程序结构固定格式
pascal
program 程序名; uses 单元列表; const 常量定义; var 变量定义; procedure 过程; function 函数; begin 代码; end.
2:Pascal 全部关键字(必须掌握)
2.1 最常用关键字
plaintext
program, uses, begin, end, var, const, type if, then, else, case, for, to, downto, while, repeat, until break, continue, exit procedure, function, result and, or, not, xor, in, is nil, true, false integer, string, boolean, char, real, double array, record, class try, except, finally, raise
2.2 不常用但必须知道
plaintext
absolute, asm, assembler, cdecl, export, external, far, forward, inline, library, overload, override, private, protected, public, published, static, virtual
3:变量与数据类型
3.1 变量定义
pascal
var age: Integer; // 整数 name: string; // 字符串 price: Double; // 小数 isOK: Boolean; // true/false c: Char; // 单个字符
3.2 赋值
pascal
age := 18; name := '张三'; price := 19.9; isOK := True;
3.3 常量
pascal
const VERSION = '1.0.0'; MAX_COUNT = 100;
4:运算符
4.1 算术
plaintext
+ - * / div mod
pascal
a := 10 div 3; // 3 b := 10 mod 3; // 1
4.2 比较
plaintext
= <> > < >= <=
4.3 逻辑
plaintext
and or not
5:流程控制(核心)
5.1 if 判断
pascal
if age >= 18 then
Writeln('成年')
else
Writeln('未成年');
5.2 case 多条件
pascal
case score of
90..100: Writeln('优秀');
60..89: Writeln('及格');
else
Writeln('不及格');
end;
5.3 for 循环
pascal
for i := 1 to 10 do Writeln(i);
5.4 while 循环
pascal
i := 1; while i <= 5 do begin Writeln(i); i := i + 1; end;
5.5 repeat 循环
pascal
repeat Writeln(i); i := i + 1; until i > 5;
5.6 break / continue
pascal
for i := 1 to 10 do begin if i = 3 then Continue; // 跳过 if i = 6 then Break; // 退出 Writeln(i); end;
6:过程与函数
6.1 过程(无返回值)
pascal
procedure SayHello(msg: string);
begin
Writeln('你好:', msg);
end;
6.2 函数(有返回值)
pascal
function Add(a, b: Integer): Integer; begin Result := a + b; end;
6:字符串处理
pascal
var
s: string;
len: Integer;
begin
s := 'abc123';
len := Length(s); // 长度
s := UpperCase(s); // 大写
s := LowerCase(s); // 小写
s := Copy(s, 1, 3); // 截取
s := IntToStr(123); // 数字转字符串
i := StrToInt('123'); // 字符串转数字
end;
8:数组
pascal
var arr: array[0..4] of Integer; i: Integer; begin arr[0] := 10; for i := 0 to 4 do Writeln(arr[i]); end;
9:结构体 Record
pascal
type TUser = record Name: string; Age: Integer; end; var user: TUser; begin user.Name := '李四'; user.Age := 20; end;
10:异常处理
pascal
try
i := StrToInt('abc');
except
on E: Exception do
Writeln('错误:', E.Message);
end;
11:输入输出(控制台)
pascal
var
name: string;
begin
Write('请输入名字:');
Readln(name);
Writeln('你好,', name);
end;
12:综合实战项目
✅ 包含所有知识点:
变量、常量、判断、循环、数组、函数、字符串、异常、输入输出
【综合项目】学生成绩管理系统(控制台版)
pascal
program StudentManager;
uses
SysUtils;
const
MAX_STUDENT = 3;
type
TStudent = record
Name: string;
Score: Double;
end;
var
Students: array[0..MAX_STUDENT-1] of TStudent;
i: Integer;
avg: Double;
choice: Integer;
// 计算平均分
function GetAvgScore: Double;
var
sum: Double;
j: Integer;
begin
sum := 0;
for j := 0 to MAX_STUDENT-1 do
sum := sum + Students[j].Score;
Result := sum / MAX_STUDENT;
end;
begin
// 1. 输入学生信息
Writeln('=== 学生成绩管理 ===');
for i := 0 to MAX_STUDENT-1 do
begin
Write('姓名:');
Readln(Students[i].Name);
Write('分数:');
Readln(Students[i].Score);
end;
// 2. 菜单
repeat
Writeln(#10#13'1=查看 2=平均分 3=退出');
try
Readln(choice);
except
choice := 0;
end;
case choice of
1:
begin
Writeln('--- 学生列表 ---');
for i := 0 to MAX_STUDENT-1 do
Writeln(Students[i].Name, ' ', Students[i].Score);
end;
2:
begin
avg := GetAvgScore;
Writeln('平均分:', avg:0:2);
end;
3: Writeln('退出');
else
Writeln('输入错误');
end;
until choice = 3;
Writeln('结束');
Readln;
end.
知识要点小结
- Pascal 完整语法
- 全部关键字
- 变量、常量、类型
- 判断、循环、数组、结构体
- 函数、过程、异常、字符串