C 中的基本關鍵詞及語法(邏輯部分)

2021-08-22 08:46:32 字數 1634 閱讀 6014

#include 

using

namespace

std;

int main()

b. 邏輯位或|,相當於電路裡的邏輯非門,其真值表如下:

同樣地,|=表示某變數與某數的按邏輯位或得到的值再賦給該變數,例如:通過邏輯位或將整形數3變成整形數15,**如下:

#include 

using

namespace

std;

int main()

c. ~邏輯位非,與邏輯位與和或不同的是,邏輯電路非門只有乙個輸入口,其真值表如下:

值得注意的是,~=是錯誤的語法,但例如 a = ~a是成立的。例如將整形數3通過邏輯非變為-4,**如下:

#include 

using

namespace

std;

int main()

2. 邏輯與&&、邏輯或||,邏輯非!

a. 邏輯與&&,此符號與&的區別為&表示按位取與,而&&則為整體的與,輸出的結果為真或假,也即只要兩個數字都不是非零數,則為真(true(1)),否則為假(false(0));同理||表示只要兩個變數均為0,則結果為假(false(0)),否則為真(true(1)),要注意的是,邏輯非也只能針對變數本身,例如以下**片段:

bool a = 3 && 5;   //這裡a為true(1),因為3和5均為非零數

bool b = 'a' && 0; //這裡b為false(0),因為字元a為非零,但和0作邏輯與

bool c = 0 || 1; //這裡c為true(1)

bool d = 0 || 0; //這裡c為false(0)

int e = 3;

bool f = !e; //這裡f為false(0)

3. <>(位右移)

位左或右移幾把整個數的二進位制形式向左或右移動固定的位數,同時該數的右或左將用0補充。同樣地,>>=與<<=也存在,含義類推,例如下面的**:

#include 

using

namespace

std;

int main()

下面就可以寫一些簡單的與邏輯有關的程式了;

例:寫乙個程式,要求能夠提取某一數的第五位,清空某一數的第五位以及將某一數的第五位置為1(例如:24提取第五位 -> 0,62清空第五位 -> 30,24第五位置1 -> 56)。以下為**:

#include 

using

namespace

std;

int main()

C 中const關鍵詞總結

下午在調程式時,遇到error passing class name as this argument of class function discards qualifiers的編譯的錯誤,錯誤的意思是 this指標在作為引數傳入class function時限定符被取消了 google一下,是這...

C 中const關鍵詞總結

下午在調程式時,遇到 error passing class name as this argument of class function discards qualifiers的編譯的錯誤,錯誤的意思是 this指標在作為引數傳入class function時限定符被取消了 google一下,是...

C 中的const關鍵詞用法

cont int i 5 i 8 此處會產生編譯錯誤,因為i被const修飾,因此i的值不能再改變 同樣地,const除了可以修飾基本型別資料外,還可以用來修飾指標和引用,但修飾指標的時候會有常量指標和指標常量之分 const int p 此處是乙個常量指標,從左往右讀,先是常量再是指標。對於對於常...