Lazarus / Free Pascal 零基础完整入门教程知识要点小结

Pascal/Delphi wes 4 days ago (2026-04-07) 123 views
        这是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 完整语法
  • 全部关键字
  • 变量、常量、类型
  • 判断、循环、数组、结构体
  • 函数、过程、异常、字符串