1. 程式人生 > >C程序設計導引(2)

C程序設計導引(2)

類型 使用 結果 邏輯或 滿足 default 邏輯與 及其 !=

3

3.1 關系運算符和邏輯運算符

關系運算符

<<=>>= 左端小於、小於等於、大於、大於等於右端時返回值為1,否則為0

==!= 左端等於、不等於右端時返回值為1,否則為0

運算符亦具有優先級,第一行中的運算符優先級大於第二行。同一行中的運算符具有相同的優先級。

例子

名稱

結果

$a and $b

And(邏輯與)

TRUE,如果 $a $b 都為 TRUE

$a or $b

Or(邏輯或)

TRUE,如果 $a $b 任一為 TRUE

$a xor $b

Xor(邏輯異或)

TRUE,如果 $a $b 同位相異。

! $a

Not(邏輯非)

TRUE,如果 $a 不為 TRUE

$a && $b

And(邏輯與)

TRUE,如果 $a $b 都為 TRUE

$a || $b

Or(邏輯或)

TRUE,如果 $a $b 任一為 TRUE

(本表來源於百度百科,C語言中異或的寫法為“^”)

3.2 運算符的優先級

四則運算符>關系運算符>邏輯運算符

邏輯運算符中,優先級為“非”>“與”>“異或”>“或”(之後出一個專門的表來說優先級)

3.3 條件語句

1)條件語句有兩種,第一種是if語句,第二種是if else語句。

句法格式如下:

if (<表達式>) <語句>

在這個語句中,表達式描述後面的語句可以執行的條件。括號內表達式非0時,條件為真,否則為假。如果為真則執行語句,否則不執行。

一個例子:

if (a%2==0)

  printf(“%d是偶數\n”,a);

if  (<表達式>)  <語句1>  else  <語句2>

if (a%2==0)

  printf(“%d是偶數\n”,a);

else

  printf(“%d是奇數\n”,a);

2)如果一個語句不滿足我們的需要,我們就要使用復合語句。

下面是一個例子:

{

  double a,b;

  a=x+y; b=x-y;

  z=a*a+b*b;

}

之前例子中的<語句><語句1><語句2>都可以使單條語句,也可以是復合語句。

不僅如此,我們還可以對條件語句進行嵌套(不再舉例)和級聯:

if (表達式1) 語句1

else if (表達式2) 語句2

…

else 語句n+1

(3)還有一類運算符叫做條件運算符,即形如?:”的三元運算符。由條件運算符及其運算對象構成的表達式被稱為條件表達式。語法格式如下:

<表達式1><表達式二>:<表達式3>

當表達式1為真時計算表達式2的值作為條件表達式的值,否則計算表達式3的值作為條件表達式的值。

3.5 switch語句

switch語句是一種多路選擇的分支結構,語法格式如下:

switch(<控制表達式>){

case <常量表達式1>:語句序列1

case <常量表達式2>:語句序列2

...

case <常量表達式n>:語句序列n

default:<語句序列n+1>

}

default及其所對應的語句序列是可選項,任何一個case所對應的語句序列也可以為空,每個常量表達式的類型必須是整形且各不相同。default後面的語句會在控制表達式的值未在任何一個case中出現時執行。

C程序設計導引(2)