这是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; 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; b := 10 mod 3;
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 Writeln('=== 学生成绩管理 ==='); for i := 0 to MAX_STUDENT-1 do begin Write('姓名:'); Readln(Students[i].Name); Write('分数:'); Readln(Students[i].Score); end; 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 完整语法
- 全部关键字
- 变量、常量、类型
- 判断、循环、数组、结构体
- 函数、过程、异常、字符串