官术网_书友最值得收藏!

  • C程序設計語言
  • 魏東平 朱連章 于廣斌編著
  • 676字
  • 2018-12-29 14:37:47

4.2.2 邏輯表達式

用邏輯運算符將表達式連接起來的式子叫邏輯表達式,其中的表達式可以是邏輯表達式、關系表達式、算術表達式、賦值表達式等。

邏輯表達式的結果只能是“真”或“假”。邏輯表達式成立,即為“真”;邏輯表達式不成立,即為“假”。需要注意,C語言規定在判斷一個運算量是“真”或“假”時,以“0”代表假,以“非0”代表真。也就是說,只要該運算量的值不為0 就可以看做“真”。

例如,若a=10,則!a的值為“假”(用0表示);若a=10,b=15,則a&&b的值為“真”(用1表示),a||b的值為“真”,!a&&b的值為“假”。進行邏輯運算時,應注意:

① 邏輯運算符的操作數可以是任意類型,只要能表示為0或非0值即可。

例如:

'a'&&'\0' 結果為“假”

10||'a'+'b' 結果為“真”

!10結果為“假”

② 邏輯運算符&&和||運算時強調由左到右按序進行,但求解時不一定對邏輯運算符兩邊的表達式都求值,如果前面的運算已經可以確定整個表達式的計算結果,則后面的計算就不是必要的了,稱為運算截斷。

例如,對于&&運算:

            表達式1 && 表達式2

當表達式1的值為“假”時,該邏輯表達式的結果肯定為“假”,表達式2的計算就被忽略了。例如,假設n1、n2、n3、n4、x、y的值分別為1、2、3、4、1、1,則求解表達式(x=n1>n2)&&(y=n3>n4)后,x的值變為0,而y的值不變,仍等于1。

同理,對于||運算:

            表達式1 || 表達式2

當表達式1的值為“真”時,該邏輯表達式的結果肯定為“真”,因此表達式2的計算也不再需要了。

③ 在一個邏輯表達式中,如果有多個運算符,則要按照它們的優先級進行運算。

例如:

            10>3&&10||0

首先處理“10>3”,結果為“真”,用1 表示;再處理“1&&10”,結果為“真”,用1表示;接著再處理“1||0”,結果為“真”。

主站蜘蛛池模板: 西峡县| 环江| 乌拉特后旗| 西盟| 平顺县| 霍山县| 三门县| 思茅市| 昌都县| 盐津县| 临澧县| 灵台县| 柞水县| 宣威市| 宣汉县| 云南省| 钦州市| 高安市| 高平市| 通江县| 宣恩县| 泗阳县| 石楼县| 固原市| 巫山县| 阳春市| 林口县| 曲松县| 广昌县| 永德县| 河津市| 噶尔县| 沈丘县| 股票| 徐汇区| 中牟县| 潞西市| 民乐县| 微博| 新乡市| 郯城县|