• pascal中的xor,shr,shl,Int(),ArcTan(),copy,delete,pos和leftstr,RightStr等详解


    数学函数:Inc(i)使I:=I+1;Inc(I,b)使I:=I+b;Abs(x)求x的绝对值例:abs(-3)=3Chr(x)求编号x对应的字符。

    例:Chr(65)=’A’chr(97)=’a’chr(48)=’0’Ord(x)求字符x对应的编号。例:ord(‘A’)=65ord(‘a’)=97另外:ord(false)=0ord(true)=1Sqr(x)求x的平方。

    例:sqr(4)=16Sqrt(x)求x的开方.例:sqrt(16)=4round(x)求x的四舍五入

    delphi中的copy,delete,pos和leftstr,RightStr的用法

    copy举个例子:str:=“123456”;str1:=Copy(Str,2,3);结果就是str1等于234。

    Copy有3个参数,第一个是你要处理的字符串,第二个是你要截取的开始位置,第3个是截取位数。

    当你的第3个参数大于字符长度,那么效果就是取开始位置后的所有字符。

    str1:=Copy(Str,2,10);结果就是str1等于23456。leftstr和pos假设字符串是S:=’Del

    leftstr和pos

    假设字符串是 S := ’Delphi is the BEST’, 那么 
    LeftStr(S, 5) := ’Delph’ //即S前5位字符
    MidStr(S, 6, 7) := ’i-is-th’// 即s的第六位开始后面7个字符(-:=空格)
    RightStr(S, 6) := ’e-BEST’//即S后面的字符(-:=空格)

    取出子串在父串中第一次出现的位置 
    例如 
    pos('b','abcd'); 
    返回结果是2//pos就是显示B在整个字符中排第几位

    delete

    列子:

    var
    S: string;
    begin
    S := '12345';
    Delete(S, 2, 2);
    ShowMessage(S);//显示 145 即删除 23.即是删掉S的第二位开始的2个字符。
    end;

    一、数学函数: 
    
    Inc(i) 使I:=I+1; 
    Inc(I,b) 使I:=I+b; 
    Abs(x) 求x的绝对值 例:abs(-3)=3 
    Chr(x) 求编号x对应的字符。例:Chr(65)=’A’ chr(97)=’a’ chr(48)=’0’ 
    Ord(x) 求字符x对应的编号。例:ord(‘A’)=65 ord(‘a’)=97 另外:ord(false)=0 ord(true)=1 
    Sqr(x) 求x的平方。 例:sqr(4)=16 
    Sqrt(x)求x的开方. 例:sqrt(16)=4 
    round(x) 求x的四舍五入 例:round(4.5)=5 
    trunc(x) 求x的整数部分 例:trunc(5.6)=5 结果是integer型 
    int(x) 求x的整数部分 例int(5.6)=5.0 结果是real型 
    frac (x)求x的小数部分 例 frac(5.6)=0.6 
    pred(x) 求x的前导 pred(‘b’)=’a’ pred(5)=4 pred(true)=false 
    succ(x) 求x的后继 succ(‘b’)=’c’ succ(5)=6 succ(false)=true 
    odd(x) 判断x是否为奇数。如果是值为true,反之值为false. Odd(2)=false odd(5)=true 
    power(a,n) 求a的n次方 power(2,3)=8 
    random 取0~1之间的随机数(不能取到1) 
    randomize 随机数的种子函数,在每次设置随机数时都要把这个函数放在最前面. 
    Fillchar(a,size(a),0) 数组初始化,即把数组a的值全部置为0 
    SHR: x SHR n 把x换成二进制后向右移n位,相当于 把x 除以 2n 
    SHL: x SHL n把x换成二进制后向左移n位,相当于 把x 乘以 2n 


    二、字符串函数 
    1. 连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn. 
    例:concat(‘11’,’aa’)=’11aa’; 
    2. 求子串。 Copy(s,I,L) 从字符串s中截取第I个字符开始后的长度为l的子串。 
    例:copy(‘abdag’,2,3)=’bda’ 
    3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。 
    例:s:=’abcde’;delete(s,2,3);结果s:=’ae’ 
    4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置 
    例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’ 
    5. 求字符串长度 length(s) 例:length(‘12abc’)=5 
    6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串 ,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0. 
    例:pos(‘ab’,’12abcd’)=3 
    7. 字符的大写转换。Upcase(ch) 求字符ch的大写体。 
    例:upcase(‘a’)=’A’ 
    8. 数值转换为数串。 过程 Str(x,s) 把数值x化为数串s. 
    例:str(12345,s); 结果s=’12345’ 
    9. 数串转换为数值。 过程val(s,x,I) 把数串s转化为数值x,如果成功则i=0,不成功则I为无效字符的序数 
    例:val(‘1234’,x,I);结果 x:=1234
  • 相关阅读:
    POJ 3255 Roadblocks
    KMP算法的前缀next数组最通俗的解释
    HDU 1829 A Bug's Life
    HDU 1879 继续畅通工程
    课程设计:学生管理系统(c++)
    HDU 1016 Prime Ring Problem
    HDU 4310 Hero
    素数筛选法<单向链表实现>
    【未完】训练赛20190304:KMP+树状数组+线段树+优先队列
    畅通工程:并查集入门裸题
  • 原文地址:https://www.cnblogs.com/Master-Qi/p/10185275.html
Copyright © 2020-2023  润新知