第三章 perl.ppt_第1頁
第三章 perl.ppt_第2頁
第三章 perl.ppt_第3頁
第三章 perl.ppt_第4頁
第三章 perl.ppt_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第3章 perl運算符,3.1 運算符,perl和其它高級語言一樣,也有著各種各樣的運算符,perl中的運算符有: 數字運算符,比較運算符,布爾運算符,邏輯運算符和二進制運算符等; 在perl中間,運算符有如下的特點: 具有上下文的相關性; 具有優(yōu)先級;,3.2 數字運算符,3.2.1 賦值運算符 perl中的賦值運算符和其它語言的一樣,也是采用 “=” 最簡單的賦值語句是: 變量=表達式; 其中,等號左邊的是一個標量變量名,等號右邊是一個值或表達式;賦值表達式和普通數學運算中等號不同。,3.2.2 基本數字運算符 +,-,*,/,*(乘冪),%(取余)等 注意的事項: 冥的基數不能為負數;

2、乘冥的結果不能超出計算機表示的限制; 取余的操作數如不是整數,則四舍五入為整數,且右側不為0; 減號做為單目運算符時可用于變量(如-2),3.2.3 復合賦值運算符 += -= *= /= *= %= .= 等,詳見47頁表3-2,它的語法形式一般是: 變量 運算符=表達式 它等價于一個簡單的賦值語句,即: 變量=變量 運算符 表達式 如: $total+=5 $total=$total+5,3.2.3 自增和自減運算符 + 自增 - 自減 +和-的位置代表不同的含義,+或-變量右邊時,表示先運算再使變量的值加1或減1 在左邊時,表示先使變量的值加(減)1后,再參加運算。,如 $a=$a+1

3、等價于 $a+; $b=1+$a+ 等價于 $b=1+$a; $a=$a+1;,變量的兩邊不能同時使用自增或自減運算符 如:+$ab-; 變量自增或自減后不應當在同一個表達式中再次應用; +可以用于字符串的操作,但-則不宜用在字符串中。,例3-4 當結尾字符是“z”,“Z”,“9”時,用+表示進位。 #!/usr/bin/perl $stringvar=abc; print the value of $stringvar is:$stringvarn; $stringvar+;#stringvar contains abdnow print The value of $stringvar+ i

4、s :$stringvarn; $stringvar=aBC; print the value of $stringvar is:$stringvarn; $stringvar+;#stringvar contains aBDnow print The value of $stringvar+ is :$stringvarn; $stringvar=abz; print the value of $stringvar is:$stringvarn; $stringvar+;#stringvar contains acanow print The value of $stringvar+ is

5、:$stringvarn;,$stringvar=AGZZZ; print the value of $stringvar is:$stringvarn; $stringvar+;#stringvar contains AHAAAnow print The value of $stringvar+ is :$stringvarn; $stringvar=ab4; print the value of $stringvar is:$stringvarn; $stringvar+;#stringvar contains ab5now print The value of $stringvar+ i

6、s :$stringvarn; $stringvar=bc999; print the value of $stringvar is:$stringvarn; $stringvar+;#stringvar contains bd000now print The value of $stringvar+ is :$stringvarn;,例3.5如果在字符串中使用-,則perl先把字符串換成數字后再-.,#!/usr/bin/perl $stringvar=abc; print the value of $stringvar is:; print $stringvarn; $stringvar-

7、; print the value of $stringvar- is:; print $stringvarn; $stringvar=5abc; print the value of $stringvar is :; print $stringvarn; $stringvar-; print the value of $stringvar- is:; print $stringvarn;,當字符中含有非字母、非數字的字符或數字字符位于字母中間時,這時字符串的值為0,經過+運算后值變?yōu)?.,#!/usr/bin/perl $stringvar=“ab*c”; #非字母、非數字的 字符在字符串中

8、 print stringvar=$stringvarn; $stringvar+; print the value of $stringvar+ is:; print $stringvarn; $stringvar=“ab5c”; #數字字符位于字符串中 print stringvar=$stringvarn; $stringvar+; print the value of $stringvar+ is:; print $stringvarn;,3.3條件運算符 條件運算符分成兩種:一是整數比較運算符,一是字符串比較運算符,它們返回的都是布爾值,在perl中,用1表示真,用0表示假。,3.3

9、.1整數比較運算符 大于,如:$a5 = 大于或等于,如:$a=5 大于時返回1,小于時返回-1,相同時返回0,例3-7 整數比較運算符 #!/usr/bin/perl $boolean=(5=5); print the boolean result of 5=5 is; print $booleann; $boolean=(3=5); print the boolean result of 3=5 is; print $booleann; $boolean=(3!=5); print the boolean result of 3!=5 is; print $booleann; $boole

10、an=(55); print the boolean result of 55 is; print $booleann; $boolean=(35); print the boolean result of 35 is; print $booleann;,$boolean=(6=5); print the boolean result of 5=5 is; print $booleann; $boolean=(3=5); print the boolean result of 3=5 is; print $booleann; $boolean=(6=5); print the boolean

11、result of 6=5 is; print $booleann; $boolean=(5=5); print the boolean result of 5=5 is; print $booleann;,$boolean=(35); print the boolean result of 55 is; print $booleann; $boolean=(35); print the boolean result of 35 is; print $booleann;,3.3.2 字符串比較運算符 字符串由單個字符聯接而成,它的運算符包括: 字符串聯接運算符:. 字符串重復運算符:x(請注意

12、是小寫的x) 聯接且賦值(類似+=):.=x,例3.8 字符串運算符 #!/usr/bin/perl $stringvar1=potato,$stringvar2=shop; $stringvar=$stringvar1.$stringvar2; print the value of $stringvar is:; print $stringvarn; $newstring=photox5; #注意這里不能用*號 print the value of $newstring is:; print $newstringn; $a=be; $a.=witched; # $a is now bewit

13、ched print The value of $a is:; print $an;,字符串比較運算符 lt 小于 “string” lt “teacher” gt 大于 “teacher” gt “string” eq 等于 “test” eq “test” le 小于等于 “test” le “test1” ge 大于等于 “test1” ge “test” ne 不等于 “a” ne “b” cmp 小于時返回-1,等于時返回0,大于時返回1,#!/usr/bin/perl $header=*x40; print $headern; $boolean=(bird eq bird); pr

14、int the boolean result of bird eq bird is :; print $booleann; $boolean=(Bird eq bird); print the boolean result of Bird eq bird is :; print $booleann; print $headern; $boolean=(bird ne bird); print the boolean result of bird ne bird is :; print $booleann; $boolean=(Bird ne bird); print the boolean r

15、esult of Bird ne bird is :; print $booleann; print $headern;,$boolean=(bird lt Bird); print the boolean result of bird lt bird is :; print $booleann; $boolean=(Bird lt bird); print the boolean result of Bird lt bird is :; print $booleann; print $headern; $boolean=(bird gt Bird); print the boolean re

16、sult of bird gt Bird is :; print $booleann; $boolean=(Bird gt bird); print the boolean result of Bird gt bird is :; print $booleann; print $headern; $boolean=(bird le Bird); print the boolean result of bird le Bird is :; print $booleann; $boolean=(Bird le bird); print the boolean result of Bird le b

17、ird is :; print $booleann; print $headern;,$boolean=(Bird ge bird); print the boolean result of Bird ge bird is :; print $booleann; $boolean=(bird ge Bird); print the boolean result of bird ge Bird is :; print $booleann; print $headern; $boolean=(bird cmp Bird); print the boolean result of bird cmp

18、Bird is :; print $booleann; $boolean=(Bird cmp bird); print the boolean result of Bird cmp bird is :; print $booleann; print $headern;,3.4 邏輯運算符,邏輯與: 運行的結果可以發(fā)現b的值還是3,而不是2.,3.4.2 或運算符 或運算符真值表,同樣,這里也存在邏輯短路問題: 在與或運算符(|)進行運算時,遇到一個返回值為真的值時,對余下的表達式就不再運算。,$a =1; $b=2; $c=($a0) | ($b+) print “$b”; print “$c

19、”; 程序運行的結果可以發(fā)現,$b的值不變,還是2,而不是3.,3.4.3 邏輯非運算符 對運算的結果求反,原值為真,取反為假,原值為假,取反為真。,例3.10 #!/usr/bin/perl $header=*x40; print $headern; $boolean=21 ,if($boolean) print 21 and 31 and 31 | 31 or 31 or 32 is false!n; print $headern;,3.5二進制運算符,和C語言一樣,二進制運算符的作用是用來對位進行操作,不論被操作的數是什么形式的(十進制,二進制,八進制),它的操作都是對二進制位進行操作。,二進制運符符有6種,與,或,非,異或,右移,左移。,3.5.1 二進制的運或非運算 與運算規(guī)則,或運算規(guī)則,異或算規(guī)則 兩者不同時為真(1),兩者為同一值時為假(0),非運算 0變成1 1變成0,3.5.2 移位運算 右移運算符,表示除以2的操作; 左移運算符,表示乘以2的操作。 遇到超出時,可以將超出的部份舍棄。,例3.11 移位運算,3.6 其它運算符,3.6.1 區(qū)塊運算符 形式:(.) 它是perl中特有的運算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論