程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++編程中的或||、與&&、非!邏輯運算符根本用法整頓

C++編程中的或||、與&&、非!邏輯運算符根本用法整頓

編輯:關於C++

C++編程中的或||、與&&、非!邏輯運算符根本用法整頓。本站提示廣大學習愛好者:(C++編程中的或||、與&&、非!邏輯運算符根本用法整頓)文章只能為提供參考,不一定能成為您想要的結果。以下是C++編程中的或||、與&&、非!邏輯運算符根本用法整頓正文


邏輯或運算符:||
 
語法

logical-or-expression 
||
 logical-and-expression

備注
假如任一操作數或兩個操作數為 true,則邏輯“或”運算符 (||) 前往布爾值 true;不然前往 false。操作數在盤算之前隱式轉換為類型 bool,成果的類型為 bool。邏輯“或”具有從左向右的聯系關系性。
邏輯“或”運算符的操作數不須要是統一類型,然則它們必需是整型或指針類型。操作數平日為關系或相等表達式。
第一個操作數將完整盤算,而且在持續盤算邏輯“或”表達式之前將完成一切反作用。
僅當第一個操作數的盤算成果為 false (0) 時盤算第二個操作數。在邏輯“或”表達式為 true 時,這將清除對第二個操作數的不用要的盤算。


printf( "%d" , (x == w || x == y || x == z) );


在下面的示例中,假如 x 與 w、y 或 z 相等,則 printf 函數的第二個參數的盤算成果將為 true,並打印值 1。不然,它的盤算成果將為 false,並打印值 0。只需個中一個前提的盤算成果為 true,盤算便會停滯。
|| 的運算符症結字
or 運算符是 || 的等效文本。在您的法式中有兩種拜訪 or 運算符的辦法:包含頭文件 iso646.h 或應用 /Za(禁用說話擴大)編譯器選項停止編譯。

// expre_Logical_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate logical OR
#include <iostream>
using namespace std;
int main() {
  int a = 5, b = 10, c = 15;
  cout << boolalpha
     << "The true expression "
     << "a < b || b > c yields "
     << (a < b || b > c) << endl
     << "The false expression "
     << "a > b || b > c yields "
     << (a > b || b > c) << endl;
}

邏輯與運算符:&& 
語法

expression 
&&
 expression

備注
假如操作數為 true,則邏輯“與”運算符 (&&) 前往布爾值 true,不然前往 false。操作數在盤算之前隱式轉換為類型 bool,成果的類型為 bool。邏輯“與”具有從左到右的聯系關系性。
邏輯“與”運算符的操作數不須要具有雷同的類型,但它們必需是整數或指針類型。操作數平日為關系或相等表達式。
第一個操作數將完整盤算,在持續對邏輯“與”表達式停止盤算前將完成一切反作用。
假如第一個操作數的盤算成果為 true(非零),則盤算第二個操作數。當邏輯“與”表達式為 false 時,這類盤算方法可清除不用要的對第二個操作數的盤算。可使用此短路盤算避免 null 指針撤消援用,如以下示例所示:

char *pch = 0;
...
(pch) && (*pch = 'a');

假如 pch 為 null (0),則從不盤算表達式的右邊。是以,沒法經由過程 null 指針停止賦值。
&& 的運算符症結字
and 運算符是 && 的文本等效項。您的法式中有兩種拜訪 and 運算符的辦法:包括標頭文件 iso646.h,或應用 /Za(禁用說話擴大)編譯器選項停止編譯。

// expre_Logical_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate logical AND
#include <iostream>

using namespace std;

int main() {
 int a = 5, b = 10, c = 15;
 cout << boolalpha
   << "The true expression "
   << "a < b && b < c yields "
   << (a < b && b < c) << endl
   << "The false expression "
   << "a > b && b < c yields "
   << (a > b && b < c) << endl;
}

邏輯非運算符:!
 
語法

! cast-expression


備注
邏輯求反運算符 (!) 反轉其操作數的寄義。操作數必需是算法或指針類型(或盤算成果為算法或指針類型的表達式)。操作數將隱式轉換為類型 bool。假如已轉換的操作數是 false,則成果是 true;假如已轉換的操作數是 true,則成果是 false。成果為 bool 類型。
關於表達式 e,一元運算符表達式 !e 與該表達式 (e == 0) 等效,觸及重載運算符的情形除外。
! 的運算符症結字
not 運算符是與 ! 等效文本。在您的法式中,可經由過程兩種辦法拜訪 not 運算符:包括頭文件 iso646.h,或應用 /Za(禁用說話擴大)編譯器選項停止編譯。

// expre_Logical_NOT_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main() {
 int i = 0;
 if (!i)
  cout << "i is zero" << endl;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved