- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
pascal基础编程
1.结构化程序设计的基本概念
请不要用GOTO。一个死循环的例子是:
while true do;
2.输入/输出
几点提示:
1.输入如果很复杂,可以考虑作为字符串输入,再处理这个字符串
2.文件大的时候注意一次尽量读较多的字节,这样会比较快的。
请建立一个1M的文件自己比较:
var
f:text;
c:char;
s:string;
(以下文件均已打开)
while not eof(f) do
read(f,c);
和
while not eof(f) do
read(f,s);
3.变量,数据类型
记住,使用全局变量要小心!因为作用域宽,任何地方都有可能改变它们。
在使用数组的时候要尤其小心。建议打开范围检查来检测是否有下标超界。
变量的类型是一个难点。应该记住重要的类型(如integer,longint,string,real)占用的字节数和表示的数的范围。前者用来计算空间是否足够,后者考虑范围是否可能超过。
注意常见的数据类型表示的范围和占用字节数。
下面介绍extended类型。是一种实型,但有效位数比较多(19-20位有效数字),可以作为大整数存储(1.1e4932范围内),可以避免一些高精度运算。如:
var e:extended;
begin
e:=123456789123456789.0
writeln(e:0:0);
end.
e:=xxx.0的.0是必须的,因为e是实数。
writeln(e:0:0)是输出e的整数部分
一个extended占用10个字节。
下面介绍Int6类型。是一种整形,占用8个字节。
范围:-9223372036854775808 ~ 9223372036854775807=2-1,
4.运算:算术运算,逻辑运算,表达式
注意优先级,如果拿不准,请加括号。
还有一点,是逻辑运算的计算问题,默认方式是从左往右计算,到可以确定值时停止。如:
if a and b and c then ...
则一旦发现b=false立刻停止计算,所以如果c的计算可能导致错误,将不会被发现。
5.选择结构:IF和CASE
IF有一个需要注意的地方,是与ELSE的匹配问题。如果拿不准,请在每一个IF,ELSE处用begin ... end
6.循环结构:FOR,WHILE和UNTIL
有一个地方,有关FOR的,不同的编译器可能产生不同的代码!例如:
i:=0;
for i:=a to b do
halt;
writeln(i);
如果a=3, b=2
那么有的编译器输出3,有的输出0。请大家不要写这样的程序。
7.字符及字符串:+, 函数和存储方式
注意string的长度默认是255,不要超出了。
长度储存在s[0]。
看下面的代码:
s:=;
s[1]:=a;
s[2]:=b;
writeln(s);
程序输出空串。知道为什么吗?原因刚刚已经说了。长度在s[0]。所以...
8.数组,多维数组
数组定义时下标可以多样,如:
array[char] of integer;
array[A..Z] of integer;
array[-5..5] of integer;
注意下标不要越界,否则变量无辜改变,或者死机。
9.文件操作
注意要关闭文件。
10.子程序,过程和函数,参数和返回值,变量的作用域
子程序的使用是很重要的,注意一个子程序尽量做一个独立的工作,尽量少用
全局变量。测试的时候也便于充分的测试每一个子程序。
注意变量的作用域,尽量避免用全局变量。
11.PASCAL特殊类型:子界,枚举和集合类型
要多用子界类型,因为可以利用它来检查是否越界,更快的查出错误。
12.指针
慎用!
一般在以下情况用得多:
特定的数据结构:树,图的邻接表,链表
大数组等占空间较多的数据结构
如:
type
ptype=^arrtype;
arrtype=array[1..400] of byte;
var
a:array[1..400] of ptype;
定义了一个400*400的数组。
但必须先:
for i:=1 to 400 do new(a);
这样引用:a[i]^[j];
记得把指针初始化为nil,使用之前要先new
13. 常用数据类型
名称 大小 范围 最大数常量
Shortint 1b -128~127
Integer 2b -32768~32767 MaxInt
Longint 4b -2147483648~2147483647 MaxLongint
Byte
您可能关注的文档
最近下载
- 【大单元教学】初中物理九年级全一册第二十章《电与磁》大单元整体设计(人教版).doc VIP
- 2025人教版初中英语九年级全一册单词默写表(汉译英) .pdf VIP
- GB50457-2019_医药工业洁净厂房设计标准.docx VIP
- 苏教版(2024)新教材小学二年级数学上册第一单元《练习二》习题课件.pptx VIP
- GB50457-2019医药工业洁净厂房设计标准.pdf VIP
- 平板玻璃低碳产品评价方法及要求.pdf VIP
- 人教版物理九年级全册《第二十章 电与磁》大单元整体教学设计[2022课标].docx
- 学籍基本信息表.doc VIP
- CB-T 422-93液流观察器-船舶行业标准.pdf VIP
- 企业职工基本养老保险重复缴费退款申请表(空表).doc VIP
文档评论(0)