什麼是邏輯運算子,請問,VB中的邏輯運算子都是什麼意思?

2021-05-17 07:14:10 字數 5892 閱讀 6433

1樓:四舍**入

邏輯運算子用來表示日常交流中的「並且」,「或者」,「除非」等思想。

邏輯運算子:在形式邏輯中,邏輯運算子或邏輯連線詞將語句連線成更復雜的語句。例如,假設有兩個邏輯命題,即「下雨了」和「我在屋裡」。

可以把它們變成複雜的命題:「下雨了,我在屋裡」或「沒下雨」或「如果下雨了,我在屋裡」。由兩個語句組成的新語句或命題稱為複合語句或複合命題。

「與」和「或」有兩種不同形式運算子的原因是它們運算的優先順序不同。運算子用於執行程式**運算,會針對一個以上運算元專案來進行運算。

2樓:匿名使用者

1、!是邏輯非運算,就是把後面的表示式的值取反;

2、在形式邏輯中,邏輯運算子或邏輯聯結詞把語句連線成更復雜的複雜語句;

3、在形式邏輯中,邏輯運算子或邏輯聯結詞把語句連線成更復雜的複雜語句。

3樓:匿名使用者

邏輯運算又稱布林運算 布林用數學方法研究邏輯問題,成功地建立了邏輯演算。他用等式表示判斷,把推理看作等式的變換。這種變換的有效性不依賴人們對符號的解釋,只依賴於符號的組合規律 。

這一邏輯理論人們常稱它為布林代數。20世紀30年代,邏輯代數在電路系統上獲得應用,隨後,由於電子技術與計算機的發展,出現各種複雜的大系統,它們的變換規律也遵守布林所揭示的規律。邏輯運算 (logical operators) 通常用來測試真假值。

最常見到的邏輯運算就是迴圈的處理,用來判斷是否該離開迴圈或繼續執行迴圈內的指令。

請問,vb中的邏輯運算子都是什麼意思?

4樓:人設不能崩無限

在形式邏輯中,邏輯運算子或邏輯聯結詞把語句連線成更復雜的複雜語句。

「邏輯異或」運算子,符號:xor,用法:a xor b,釋義:如果a或b同位相異,則結果為true,否則為false。

「邏輯非」運算子,符號:not,用法:not a ,釋義:如果a不為 true,則結果為true,否則為false。

「邏輯非」運算子,符號:!,用法:!a,釋義:如果a不為 true,則結果為true,否則為false。

5樓:仁昌居士

1、「邏輯與」運算子,符號:and,用法:a and b,釋義:如果a與b都為true,則結果為true,否則為false。

2、「邏輯與」運算子,符號:&&,用法:a && b,釋義:如果a與b都為true,則結果為true,否則為false。

3、「邏輯或」運算子,符號:|| ,用法:a || b,釋義:如果a或b任一為true,則結果為true,否則為false。

4、「邏輯異或」運算子,符號:xor,用法:a xor b,釋義:如果a或b同位相異,則結果為true,否則為false。

5、「邏輯非」運算子,符號:not,用法:not a ,釋義:如果a不為 true,則結果為true,否則為false。

6、「邏輯非」運算子,符號:!,用法:!a,釋義:如果a不為 true,則結果為true,否則為false。

6樓:匿名使用者

邏輯運算子包括6個。

and 運算子

eqv 運算子

imp 運算子

not 運算子

or 運算子

xor 運算子

===========

〔and〕

如果兩個表示式的值都是 true,則 result 是 true。如果其中一個表示式的值是 false,則 result 是 false。下列**說明如何確定 result:

如果 expression1 為 且 expression2 為 則 result 為

true true true

true false false

true null null

false true false

false false false

false null false

null true null

null false false

null null null

and 運算子還對兩個數值表示式中位置相同的位進行逐位比較,並根據下表對 result 中相應的位進行設定:

如果在 expression1 的位為 且在 expression2 中的位為 result 為

0 0 0

0 1 0

1 0 0

1 1 1

============

〔eqv〕

如果有一個表示式是 null,則 result 也是 null。如果表示式都不是 null,則根據下表來確定 result:

如果 expression1 為 且 expression2 為 則 result 為

true true true

true false false

false true false

false false true

eqv 運算子對兩個數值表示式中位置相同的位進行逐位比較,並根據下表對 result 中相應的位進行設定:

如果在 expression1 的位為 且在 expression2 中的位為 result 為

0 0 1

0 1 0

1 0 0

1 1 1

===============

〔imp〕

如果 expression1 為 且 expression2 為 則 result 為

true true true

true false false

true null null

false true true

false false true

false null true

null true true

null false null

null null null

imp 運算子對兩個數值表示式中位置相同的位進行逐位比較,並根據下表對 result 中相應的位進行設定:

如果在 expression1 的位為 且在 expression2 中的位為 result 為

0 0 1

0 1 1

1 0 0

1 1 1

==========

〔not〕

如果 expression 為 則 result 為

true false

false true

null null

此外,not 運算子改變任何變數的位值,並根據下表設定 result 中相應的位:

如果在 expression 的位為 則在 result 中的位為

0 11 0=========

〔or〕

如果兩個表示式中至少有一個為 true,則 result 為 true。下列**說明如何確定 result:

如果 expression1 為 且 expression2 為 則 result 為

true true true

true false true

true null true

false true true

false false false

false null null

null true true

null false null

null null null

or 運算子也對兩個數值表示式中位置相同的位進行逐位比較,並根據下表對 result 中相應的位進行設定:

如果在 expression1 的位為 且在 expression2 中的位為 result 為

0 0 0

0 1 1

1 0 1

1 1 1

==========

〔xor〕

如果表示式中有一個而且只有一個值為 true,則 result 為 true。但是,如果表示式中有一個為 null,則 result 也為 null。當兩個表示式都不為 null,則根據下表來確定 result:

如果 expression1 為 且 expression2 為 則 result 為

true true false

true false true

false true true

false false false

xor 運算子既可作為邏輯運算子,也可作為位運算子。使用互斥或的邏輯進行的兩個表示式的逐位比較,其結果通過下表說明:

如果 expression1 為 且 expression2 為 則 result 為

0 0 0

0 1 1

1 0 1

1 1 0

7樓:匿名使用者

^布林邏輯運算子有

& 邏輯與 | 邏輯或 ^ 異或 || 短路或 && 短路與! 邏輯反 &= 邏輯與賦值(賦值的簡寫形式)|= 邏輯或賦值(賦值的簡寫形式)

^= 異或賦值(賦值的簡寫形式) == 相等 != 不相等?: 三元運算子(if-then-else)布林邏輯運算子「&」、「 |」、「 ^」,對布林值的運算和它們對整數位的運算一樣。

邏輯運算子「!」的結果表示布林值的相反狀態:!true == false 和!

false == true

8樓:匿名使用者

ture 條件是真的

false 條件是假的

c語言邏輯運算子順序是什麼?

9樓:匿名使用者

ls,貌似&&的優先順序比||大 = 賦值語句結合性 自右相左

a=b=c=1;等價於 c = 1;b = c; a = b;

-------------------------

對以上回答進行一點補充

首先宣告 ||和&&運算子均屬於短路運算子;

什麼是短路運算子舉個簡單例子

若 a = 1; a||a++;執行後結果是什麼,變數a值為多少?

||邏輯或對第一項a進行判斷是否為0,若不為零則返回值為1;且不在進行後面的a++運算,這就是短路運算子的特性,這樣一來,a的值還是1沒有改變,同理 a =0; 0&&a++;的執行結果為a=0;

舉個形象點的例子:

a=1 a就是真

b=0 b就是假

a||a-- 真||a++,既然已經有真的了就沒必要再判斷a--是否為真 1||a++;肯定是真的;

同理 b&&b++ ,假&&b--既然已經有假的了就沒有必要判斷b++真假,同時b++也就不會被執行

++a||++b&&++c;這個語句根據算數運算子的優先順序關係 &&的優先順序比||大 『可以這樣理解』

所以先執行對++a||++b 和 ++c進行邏輯與(&&)運算,並先判斷++a||++b是否為假若假則不進行++c;在判斷 ++a||++b 是否為真的過程中,進行了++a和++b的||(邏輯或)運算,在邏輯或運算中先判斷++a是否為零,這個過程中相當於 先a=a+1;再if (a!=0) 因為前面a=1,再執行++a,a這時等於2所以在if (a!=0) 成立則,不會執行++b;

所以執行結果為a =2 ,b=c=1;

再程式執行++a||++b&&++c;這條語句的過程中只有a變數的值發生改變,而不是樓下說的那樣

「在執行「++a||++b&&++c;」語句之前完成自加運算」 這是錯的·

上述方法只是為了幫助你理解這個++a||++b&&++c;語句的意思

若我寫個a=b=c=1; ++a||++b&&++c||++a||++b&&++c||++a||++b&&++c;你說該怎麼理解?

挨個分析優先順序,?

那不得瘋了

所以那樣也沒必要++a||++b&&++c||++a||++b&&++c||++a||++b&&++c;只要由左到右依次執行這樣來判斷就好了就是(++a )語句1|| (++b&&++c||++a||++b&&++c||++a||++b&&++c)語句2

(++a)==2!=0所以嘛,語句2就不執行了 這樣判斷也符合 該語句的執行順序

c語言邏輯運算子與自增自減運算子的雜糅運算

走 這涉及一個執行流程的問題,當執行到if的時候,一個合理的做法是先選擇走 回的哪條路,然後才是答計算涉及的表示式,這是提高效率的方法,隨之也會帶來所謂的 如果把式子改為b c a 結果如你所願,3,0,1。但以書中的例子,a b c 把a 計算完成後,發現為真,直接跳轉到後面 了,導致b和c都沒有...

在C語言中邏輯運算子是如何表達的?

邏輯運算子是根據表示式的值來返回真值或是假值。其實在c語言中沒有所謂的真值和假值,只是認為非0為真值,0為假值。符號 功能 邏輯與 1 邏輯或 邏輯非 例如 5 3 011 2 5 當表示式進行 運算時,只要有一個為假,總的表示式就為假,只有當所有都為真時,總的式子才為真。當表示式進行日運算時,只要...

C語言中的邏輯運算子按優先順序別是

優先順序運算子名稱或含義使用形式結合方向說明1陣列下標陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運算子 自減運...