在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Java/ LISP - 運算符
LISP - 樹
LISP - 錯誤處理
LISP - 謂詞
LISP - 決策
LISP - 變量
LISP - 數組
LISP - 對象系統(tǒng)(CLOS)
LISP - 輸入和輸出
Lisp教程
LISP - 數字
LISP - 循環(huán)
LISP - 常量
LISP - 集合
LISP - 字符
LISP - 程序結構
LISP - 文件I/O
LISP - 哈希表
LISP - 宏
LISP - 數據類型
LISP - 包
LISP - 符號
LISP - 運算符
LISP - 基本語法
LISP - 函數
LISP - 向量
LISP - 結構
LISP - 概述介紹

LISP - 運算符

運算符是一個符號,它告訴編譯器執(zhí)行特定的數學或邏輯操作。 LISP允許在眾多的數據業(yè)務,通過各種函數,宏和其他結構的支持。

允許對數據的操作都可以歸類為:

  • 算術運算

  • 比較操作

  • 邏輯運算

  • 位運算

算術運算

下表列出了所有支持的LISP算術運算符。假設變量A=10和變量B=20則:

運算符 描述 Example
+ 增加了兩個操作數 (+ A B) = 30
- 從第一數減去第二個操作數 (- A B)= -10
* 乘兩個操作數 (* A B) = 200
/ 通過取消分子除以分子 (/ B A) = 2
mod,rem 模運算符和其余整數除法后 (mod B A ) = 0
incf 遞增運算符,所指定的第二個參數增加整數值 (incf A 3) = 13
decf 遞減操作符,通過指定的第二個參數減小整數值 (decf A 4) = 9

例子

創(chuàng)建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a 10)
(setq b 20)
(format t "~% A + B = ~d" (+ a b))
(format t "~% A - B = ~d" (- a b))
(format t "~% A x B = ~d" (* a b))
(format t "~% B / A = ~d" (/ b a))
(format t "~% Increment A by 3 = ~d" (incf a 3))
(format t "~% Decrement A by 4 = ~d" (decf a 4))

當您單擊Execute按鈕,或按下Ctrl+ E,LISP立即執(zhí)行它,返回的結果是:

A + B = 30
A - B = -10
A x B = 200
B / A = 2
Increment A by 3 = 13
Decrement A by 4 = 9

比較操作

下表列出了所有支持的LISP關系運算符的數字之間進行比較。然而不像其他語言的關系運算符,LISP的比較操作符可能需要超過兩個操作數,他們在只有數字工作。

假設變量A=10和變量B=20,則:

Operator 描述 Example
= 檢查如果操作數的值都相等與否,如果是的話那么條件為真。 (= A B)= true.
/= 檢查如果操作數的值都不同,或沒有,如果值不相等,則條件為真。 (/= A B) =true.
> 檢查如果操作數的值單調遞減。 (> A B) !=true.
< 檢查如果操作數的值單調遞增。 (< A B) = true.
>= 如有左操作數的值大于或等于下一個右操作數的值,如果是則條件檢查為真。 (>= A B) !=true.
<= 如有左操作數的值小于或等于其右操作數的值,如果是,則條件檢查為真。 (<= A B) = true.
max 它比較兩個或多個參數,并返回最大值。 (max A B) 返回20
min 它比較兩個或多個參數,并返回最小值。 (min A B) 返回 20

示例

創(chuàng)建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a 10)
(setq b 20)
(format t "~% A = B is ~a" (= a b))
(format t "~% A /= B is ~a" (/= a b))
(format t "~% A > B is ~a" (> a b))
(format t "~% A < B is ~a" (< a b))
(format t "~% A >= B is ~a" (>= a b))
(format t "~% A <= B is ~a" (<= a b))
(format t "~% Max of A and B is ~d" (max a b))
(format t "~% Min of A and B is ~d" (min a b))

當您單擊Execute按鈕,或按下Ctrl+ E,LISP立即執(zhí)行它,返回的結果是:

A = B is NIL
A /= B is T
A > B is NIL
A < B is T
A >= B is NIL
A <= B is T
Max of A and B is 20
Min of A and B is 10

布爾值邏輯操作

Common Lisp中提供了三種邏輯運算符:AND,OR,而不是運算符的布爾值。假定A=nil,B=5,那么

運算符 描述 示例
and 這需要任意數量的參數。該參數是從左向右計算。如果所有參數的計算結果為非零,那么最后一個參數的值返回。否則就返回nil。 (and A B) = NIL.
or 這需要任意數量的參數。該參數是從左向右計算的,直到一個計算結果為非零,則此情況下返回參數值,否則返回nil。 (or A B) = 5.
not 它接受一個參數,并返回t,如果參數的計算結果為nil。 (not A) = T.

示例

創(chuàng)建一個名為main.lisp一個新的源代碼文件,并在其中輸入如下代碼:

(setq a 10)
(setq b 20)
(format t "~% A and B is ~a" (and a b))
(format t "~% A or B is ~a" (or a b))
(format t "~% not A is ~a" (not a))
(terpri)
(setq a nil)
(setq b 5)
(
            
下一篇:LISP - 數字