free pascal 中的数据类型及每种类型所占的字节

作者&投稿:宜宙 (若有异议请与网页底部的电邮联系)
free pascal 语言中,字符型、布尔型的占字节数和格式~

字符型:
var s:string;
占256个字节,最多允许存放255个字符。
如:s:='give me the score';

var ch:char;
占1个字节,最多允许放1个字符。
如:ch:='t';

布尔型:
var a:boolean;
占1个字节,值只能是false和true。
如:a:=false;

整型:标准型 integer -32768~32767
长整型 longint -2147483648~2147483647
int64
字节型 byte 0~255
实型:标准型 real
字符型: 字符型 char
字符串 string
布尔型: boolean(false,true)

Free pascal标准数据类型、内置函数等必备知识
一、实型整型

实型:数值范围:占字节数:有效位数
real:2.9e-39..1.7e38:6:11..12
single:1.5e-45..3.4e38:4:7..8
double:5.0e-324..1.7e308:8:15..16
extended:3.4e-4951..1.1e4932:10:19..20
comp:-2**63+1..2**63-1:8:19..20

整型:数值范围:占字节数:格式
shortint:-128..127:1:带符号8位
integer:-32768..32767:2:带符号16位
longint:-2147483648..2147483647:4:带符号32位
byte:0..255:1:无符号8位
word:0..65535:2:无符号16位
longword:0..4294967295:4
Cardinal:either word, longword or qword:size 2/4/8
Int64:-9223372036854775808..9223372036854775807:8
QWord:0..18446744073709551615:8

二、常用的pascal内置函数和过程

标准常量False,Maxint,True,Maxlongint,Pi
标准类型Boolean,Char,Real,Integer,Longint,等等
标准函数Abs,Arctan,Chr,Cos,Eof,Eoln,Exp,Ln,Odd,Ord,Pred,Round,Sin,Sqr,Sqrt,Succ,Trunc
标准过程Dispose,Get,New,Pack,Page,Put,Read,Readln,Reset,Rewrite,Unpack,Write,Writeln
标准文件Input,Output

(1)自变量必须为整型的标准函数:
(A)前趋函数:Pred(x),函数结果类型为整型,如:Pred(4)=3
(B)后继函数:Succ(x),函数结果类型为整型,如:Succ(4)=5
(C)奇函数:odd(x),结果为布尔型。如:Odd(13)=True
(D)字符函数:Chr(x)其中x为ASCII码,函数结果为字符型。如:Chr(65)='A'
(2)自变量为整型(或实型),但函数值类型为实型的标准函数;
(A)平方根函数:Sqrt(x)
(B)整数函数:Int(x) 取整数部分,如:INT(3.85)= 3.0
(C)小数函数:Frac(x)
(D)正弦函数:Sin(x)
(E)余弦函数:Cos(x)
(F)反正切函数:Arctan(x),单位为弧度
Pascal中无正切函数,用Sin(x)/ Cos(x)代替
(G)指数函数:Exp(x),即求ex
(H)对数函数:Ln(X),即求x的自然对数logex
幂运算 ∵ xy=eylnx , ∴ xy =Exp(y*ln(x)
注意:在FreePascal中,幂的表示: xy==power(x,y) 或 xy=x**y
(I)随机函数:Random(x:word),无x时,函数值取[0,1)之间的随机小数;有x 且为Word类型时,函数值取[0,x)之间的随机整数。前面加上:Randomize语句。
(J)圆周率函数PI=3.1415926536
(3)自变量为整型(或实型),但函数值类型与x一致的标准函数
(A)Abs(x):绝对值函数,如:Abs(-2)=2 Abs(-2.0)=2.0000000000E+00
(B)Sqr(x):平方函数如,如:Sqr(4)=16 Sqr(4.0)= 1.6000000000E+01
(4)自变量为整型(或实型),但函数值类型为整型的标准函数
(A)Trunc(x):取整数部分,如:Trunc(3.85)=3
(B)Round(x):四舍五入,如:Round(2.8)=3 Round(-2.8)=-3
(5)加1函数:inc(x) 如:inc(5)=6,inc(5,8)=13
(6)减1函数 dec(x) 如:dec(5)=4 dec 5,3)=2

文件函数:
(1) Eof(f)或 Seekeof(f)未读到文件结束符“Chr(26) ”或 “Ctrl+Z”时,函数值为false; 读到文件结束符时,函数值为true;
(2) Eoln(f)或SeekEolf(f)未读到行结束符“Chr(13) ”时,函数值为false; 读到行结束符或文件结束符时,函数值为true;

字符函数
(1)小写字母转为大写字母Upcase('x') ,如:Upcase ('a')='A'
(2)前趋函数:Pred('x'),函数结果为字符型,如:Pred('4')='3'
(3)后继函数:Succ('x'),函数结果为字符型,如:Succ('A')='B'
(4) 序数函数:Ord('x'), 函数结果为整型,求字符对应的ASCII码,如:Ord('A')=65
(5)字符函数:Chr(x) ,x为整型,函数结果为字符型,,求ASCII码对应得字符,如:Chr(65)='A'

字符串函数
(1)求长度length
定义:function Length(S: String): Integer;
(2)复制子串copy
定义: function Copy(S: String; Index: Integer; Count: Integer): String;
注意:S 是字符串类型的表达式。Index和Count是整型表达式。Copy 返回S中从Index开始,Count个字符长的一个子串。
(3)插入子串insert
定义:procedure Insert(Source: String; var S: String; Index: Integer);
注意:Source 是字符串类型的表达式。 S 是任意长度字符串类型变量。Index 是整型表达式。Insert 把 Source插在S中Index处。如果结果字符串的长度大于255,那么255之后的字符将被删除。
(4)删除子串delete
定义:procedure Delete(var S: String; Index: Integer; Count:Integer);
注意:S 是字符串类型变量。 Index和Countare是整型表达式。Delete 删除S中从Index开始的Count个字符。如果Index大于S的长度,则不删除任何字符;如果Count大于S中从Index开始的实际字符数,则删除实际的字符数。
(5)字符串转为数值val
定义: procedure Val(S; var V; var Code: Integer);
在这里:S 是由一系列数字字符构成的字符串类型变量;。V 是整型或实型变量;Code 是Integer型变量
注意:Val将S转为它的数值形式。
(6)数值转为字符串str
定义: procedure Str(X [: Width [: Decimals ]]; var S:string);注意:将数值X转成字符串形式。
(7)求子串起始位置pos
定义:function Pos(Substr: String; S: String): Byte;
注意:Substr和S字符串类型表达式。Pos在S中搜索Substr并返回一个integer值。这个值是Substr的第一个字符在S中的位置。如果在S中没有找到Substr,则Pos返回0。
(8)字符完全串连+联
定义:操作符加号+把两个字符串联在一起。
(9)字符串压缩空格串连-
定义:操作符减号-去掉第一个字符串最后的空格后,将两个字符串联在一起。
(10) 将数组批量填入初值,Fillchar(x,sizeof(x),0),将0填入到x数组中,sizeof(x)表示填入的个数

三、3个重要的退出语句
HALT 结束程序,返回操作系统
EXIT 结束过程或函数,返回调用处(在主程序中同HALT)
BREAK 是用来退出其所在的循环语句(CONTINUE是继续当前循环)


平昌县19181789854: FREE PASCAL 数据类型 有哪些?
薄逄橘红: 可能不是很全... integer 整型 longint 长整型 byte 字节 char 字符 string 字符串 int64 怎么说呢..加长型得longint shortint 短整型(没用过——) qword 比int64还大得那种 real 实数用的 很大 但一定大小后不精准 dword(我同学发现得......

平昌县19181789854: free pascal里的数据类型:word 和qword是怎么回事,有什么区别????有多大的数可以储存?? -
薄逄橘红: word是integer的无符号形式,2个字节 qword是int64的无符号形式,8个字节 分别能存储0~2^16-1和0~2^64-1 的非负整数.

平昌县19181789854: 什么是int64?这种数据类型有什么优点?什么时候用?在pascal 中int64怎么用? -
薄逄橘红: Int64 值类型表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数.Int64 为比较此类型的实例、将实例的值转换为它的字符串表示形式以及将数字的字符串表示形式转换为此类型的实例提供了相应的方法.警告 ...

平昌县19181789854: 求高手讲解下Free Pascal的一维数组!! -
薄逄橘红: 一维数组其实就是一组拥有同一名字、不同下标的变量,它们的名字是 数组名(如:a)【下标】(如:1、2、3、4、5、6、7、8、9、10......tp中不要开得太大,fp没关系) 一位数组的定义:数组名:array【x..y】 of 类型; 例如:a:array【1..5...

平昌县19181789854: free pascal 高精度计算 -
薄逄橘红: 运算因子超出了整型、实型能表示的范围,肯定不能直接用一个数的形式来表示.在Pascal中,能表示多个数的数据类型有两种:数组和字符串.数组:每个数组元素存储1位(在优化时,这里是一个重点!),有多少位就需要多少个数组元素...

平昌县19181789854: free pascal 宽字符 -
薄逄橘红: 运行fp之前先建立一个bat,让代码页变成中文..chcp 437 >nul graftabl 936 >nul pause fp.exe 然后再运行程序.保存的.pas在notepad下存为unicode格式,并写入中文.打开fp编辑的时候不要管乱码.试试看运行出来的能不能是中文.如果不行只能用graph单元来模拟了.. (不要bs我..)

平昌县19181789854: 如何自定义Free Pascal单元 -
薄逄橘红: 单元的结构为:unit uses......interface{接口部分}......implementation{实现部分}......end.1、在接口部分定义largenum,在其他程序中就可以用uses使用了;2、单元需要编译,编译后的单元文件放在lib目录中,以后项目文件在哪个目录都不会出错.

平昌县19181789854: free pascal中 记录类型有什么好处,一般什么题目用? -
薄逄橘红: 记录类型优点是直观,例如:type human=record x,y:longint; end; var john:human; 定义human有两个属性:x和y,john是一个human类型.是不是觉得很好玩呢?调用的时候也很好懂,例如:john.x:=john.x+2; 表示john的x属性+=2,这里把小数...

平昌县19181789854: FREE PASCAL&TURBO PASCAL -
薄逄橘红: [转载]虽然Free Pascal尽量设计得和Turbo Pascal接近,但是由于以下的两个原因,两者之间还是有一些区别的: 1.Free Pascal是一个32位的编译器,而Turbo Pascal只是16位编译器; 2.Free Pascal是一个跨平台的编译器,而Turbo Pascal只在...

平昌县19181789854: free pascal -
薄逄橘红: 虽然Free Pascal尽量设计得和Turbo Pascal接近,但是由于以下的两个原因,两者之间还是有一些区别的: 1.Free Pascal是一个32位的编译器,而Turbo Pascal只是16位编译器; 2.Free Pascal是一个跨平台的编译器,而Turbo Pascal只在...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网