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

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