亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C語言中的運(yùn)算符

時(shí)間:2024-10-05 23:52:22 C語言 我要投稿
  • 相關(guān)推薦

C語言中的運(yùn)算符

  簡單賦值運(yùn)算符記為“=”,由“= ”連接的式子稱為賦值表達(dá)式。歡迎大家閱讀!更多相關(guān)信息請關(guān)注相關(guān)欄目!

  無論是加減乘除還是大于小于,都需要用到運(yùn)算符,在C語言中的運(yùn)算符和我們平時(shí)用的基本上都差不多。運(yùn)算符包括賦值運(yùn)算符、算術(shù)運(yùn)算符、邏輯運(yùn)算符、位邏輯運(yùn)算符、位移運(yùn)算符、關(guān)系運(yùn)算符、自增自減運(yùn)算符。大多數(shù)運(yùn)算符都是二目運(yùn)算符,即運(yùn)算符位于兩個(gè)表達(dá)式之間。單目運(yùn)算符的意思是運(yùn)算符作用于單個(gè)表達(dá)式。(具體什么是表達(dá)式下一節(jié)再說)

  C語言中的運(yùn)算符

  無論是加減乘除還是大于小于,都需要用到運(yùn)算符,在C語言中的運(yùn)算符和我們平時(shí)用的基本上都差不多。運(yùn)算符包括賦值運(yùn)算符、算術(shù)運(yùn)算符、邏輯運(yùn)算符、位邏輯運(yùn)算符、位移運(yùn)算符、關(guān)系運(yùn)算符、自增自減運(yùn)算符。大多數(shù)運(yùn)算符都是二目運(yùn)算符,即運(yùn)算符位于兩個(gè)表達(dá)式之間。單目運(yùn)算符的意思是運(yùn)算符作用于單個(gè)表達(dá)式。(具體什么是表達(dá)式下一節(jié)再說)

  一、賦值運(yùn)算符

  賦值語句的作用是把某個(gè)常量或變量或表達(dá)式的值賦值給另一個(gè)變量。符號(hào)為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。

  注意:賦值語句左邊的變量在程序的其他地方必須要聲明。

  得已賦值的變量我們稱為左值,因?yàn)樗鼈兂霈F(xiàn)在賦值語句的左邊;產(chǎn)生值的表達(dá)式我們稱為右值,因?yàn)樗鼈兂霈F(xiàn)在賦值語句的右邊。常數(shù)只能作為右值。

  例如:

  count=5;

  total1=total2=0;

  第一個(gè)賦值語句大家都能理解。

  第二個(gè)賦值語句的意思是把0同時(shí)賦值給兩個(gè)變量。這是因?yàn)橘x值語句是從右向左運(yùn)算的,也就是說從右端開始計(jì)算。這樣它先total2=0;然后total1=total2;那么我們這樣行不行呢?

  (total1=total2)=0;

  這樣是不可以的,因?yàn)橄纫憷ㄌ?hào)里面的,這時(shí)total1=total2是一個(gè)表達(dá)式,而賦值語句的左邊是不允許表達(dá)式存在的。

  二、算術(shù)運(yùn)算符

  在C語言中有兩個(gè)單目和五個(gè)雙目運(yùn)算符。

  符號(hào)

  功能

  單目正

  單目負(fù)

  乘法

  除法

  取模

  加法

  減法

  下面是一些賦值語句的例子,

  在賦值運(yùn)算符右側(cè)的表達(dá)式中就使用了上面的算術(shù)運(yùn)算符:

  Area=Height*Width;

  num=num1+num2/num3-num4;

  運(yùn)算符也有個(gè)運(yùn)算順序問題,先算乘除再算加減。單目正和單目負(fù)最先運(yùn)算。

  取模運(yùn)算符(%)用于計(jì)算兩個(gè)整數(shù)相除所得的余數(shù)。例如:

  a=7%4;

  最終a的結(jié)果是3,因?yàn)?%4的余數(shù)是3。

  那么有人要問了,我要想求它們的商怎么辦呢?

  b=7/4;

  這樣b就是它們的商了,應(yīng)該是1。

  也許有人就不明白了,7/4應(yīng)該是1.75,怎么會(huì)是1呢?這里需要說明的是,當(dāng)兩個(gè)整數(shù)相除時(shí),所得到的結(jié)果仍然是整數(shù),沒有小數(shù)部分。要想也得到小數(shù)部分,可以這樣寫7.0/4或者7/4.0,也即把其中一個(gè)數(shù)變?yōu)榉钦麛?shù)。

  怎樣由一個(gè)實(shí)數(shù)得到它的整數(shù)部分呢?這就需要用強(qiáng)制類型轉(zhuǎn)換了。例如:

  a=(int)

  (7.0/4);

  因?yàn)?.0/4的值為1.75,如果在前面加上(int)就表示把結(jié)果強(qiáng)制轉(zhuǎn)換成整型,這就得到了1。那么思考一下a=(float)

  (7/4);最終a的結(jié)果是多少?

  單目減運(yùn)算符相當(dāng)于取相反值,若是正值就變?yōu)樨?fù)值,若是負(fù)數(shù)就變?yōu)檎怠?/p>

  單目加運(yùn)算符沒有意義,純粹是和單目減構(gòu)成一對(duì)用的。

  三、邏輯運(yùn)算符

  邏輯運(yùn)算符是根據(jù)表達(dá)式的值來返回真值或是假值。其實(shí)在C語言中沒有所謂的真值和假值,只是認(rèn)為非0為真值,0為假值。

  符號(hào)

  功能

  &&

  邏輯與

  邏輯或

  邏輯非

  例如:

  5!3;

  0||-2&&5;

  !4;

  當(dāng)表達(dá)式進(jìn)行&&運(yùn)算時(shí),只要有一個(gè)為假,總的表達(dá)式就為假,只有當(dāng)所有都為真時(shí),總的式子才為真。當(dāng)表達(dá)式進(jìn)行||運(yùn)算時(shí),只要有一個(gè)為真,總的值就為真,只有當(dāng)所有的都為假時(shí),總的式子才為假。邏輯非(!)運(yùn)算是把相應(yīng)的變量數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的真/假值。若原先為假,則邏輯非以后為真,若原先為真,則邏輯非以后為假。

  還有一點(diǎn)很重要,當(dāng)一個(gè)邏輯表達(dá)式的后一部分的取值不會(huì)影響整個(gè)表達(dá)式的值時(shí),后一部分就不會(huì)進(jìn)行運(yùn)算了。例如:

  a=2,b=1;

  a||b-1;

  因?yàn)閍=2,為真值,所以不管b-1是不是真值,總的表達(dá)式一定為真值,這時(shí)后面的表達(dá)式就不會(huì)再計(jì)算了。

  四、關(guān)系運(yùn)算符

  關(guān)系運(yùn)算符是對(duì)兩個(gè)表達(dá)式進(jìn)行比較,返回一個(gè)真/假值。

  符號(hào)

  功能

  >

  大于

  <

  小于

  >=

  大于等于

  <=

  小于等于

  等于

  不等于

  這些運(yùn)算符大家都能明白,主要問題就是等于==和賦值=的區(qū)別了。

  一些剛開始學(xué)習(xí)C語言的人總是對(duì)這兩個(gè)運(yùn)算符弄不明白,經(jīng)常在一些簡單問題上出錯(cuò),自己檢查時(shí)還找不出來?聪旅娴拇a:

  if(Amount=123)

  很多新人都理解為如果Amount等于123,就怎么樣。其實(shí)這行代碼的意思是先賦值A(chǔ)mount=123,然后判斷這個(gè)表達(dá)式是不是真值,因?yàn)榻Y(jié)果為123,是真值,那么就做后面的。如果想讓當(dāng)Amount等于123才運(yùn)行時(shí),應(yīng)該if(Amount==123)

  ……

  五、自增自減運(yùn)算符

  這是一類特殊的運(yùn)算符,自增運(yùn)算符++和自減運(yùn)算符--對(duì)變量的操作結(jié)果是增加1和減少1。例如:

  --Couter;

  Couter--;

  ++Amount;

  Amount++;

  看這些例子里,運(yùn)算符在前面還是在后面對(duì)本身的影響都是一樣的,都是加1或者減1,但是當(dāng)把他們作為其他表達(dá)式的一部分,兩者就有區(qū)別了。運(yùn)算符放在變量前面,那么在運(yùn)算之前,變量先完成自增或自減運(yùn)算;如果運(yùn)算符放在后面,那么自增自減運(yùn)算是在變量參加表達(dá)式的運(yùn)算后再運(yùn)算。這樣講可能不太清楚,看下面的例子:

  num1=4;

  num2=8;

  a=++num1;

  b=num2++;

  a=++num1;這總的來看是一個(gè)賦值,把++num1的值賦給a,因?yàn)樽栽鲞\(yùn)算符在變量的前面,所以num1先自增加1變?yōu)?,然后賦值給a,最終a也為5。b=num2++;這是把num2++的值賦給b,因?yàn)樽栽鲞\(yùn)算符在變量的后面,所以先把num2賦值給b,b應(yīng)該為8,然后num2自增加1變?yōu)?。

  那么如果出現(xiàn)這樣的情況我們怎么處理呢?

  c=num1+++num2;

  到底是c=(num1++)+num2;還是c=num1+(++num2);這要根據(jù)編譯器來決定,不同的編譯器可能有不同的結(jié)果。所以我們在以后的編程當(dāng)中,應(yīng)該盡量避免出現(xiàn)上面復(fù)雜的情況。

  六、復(fù)合賦值運(yùn)算符

  在賦值運(yùn)算符當(dāng)中,還有一類C/C++獨(dú)有的復(fù)合賦值運(yùn)算符。它們實(shí)際上是一種縮寫形式,使得對(duì)變量的改變更為簡潔。

  Total=Total+3;

  乍一看這行代碼,似乎有問題,這是不可能成立的。其實(shí)還是老樣子,'='是賦值不是等于。它的意思是本身的值加3,然后在賦值給本身。為了簡化,上面的代碼也可以寫成:

  Total+=3;

  復(fù)合賦值運(yùn)算符有下列這些:

  符號(hào)

  功能

  加法賦值

  減法賦值

  乘法賦值

  除法賦值

  模運(yùn)算賦值

  <<=

  左移賦值

  >>=

  右移賦值

  &=

  位邏輯與賦值

  位邏輯或賦值

  位邏輯異或賦值

  上面的十個(gè)復(fù)合賦值運(yùn)算符中,后面五個(gè)我們到以后位運(yùn)算時(shí)再說明。

  那么看了上面的復(fù)合賦值運(yùn)算符,有人就會(huì)問,到底Total=Total+3;與Total+=3;有沒有區(qū)別?答案是有的,對(duì)于A=A+1,表達(dá)式A被計(jì)算了兩次,對(duì)于復(fù)合運(yùn)算符A+=1,表達(dá)式A僅計(jì)算了一次。一般的來說,這種區(qū)別對(duì)于程序的運(yùn)行沒有多大影響,但是當(dāng)表達(dá)式作為函數(shù)的返回值時(shí),函數(shù)就被調(diào)用了兩次(以后再說明),而且如果使用普通的賦值運(yùn)算符,也會(huì)加大程序的開銷,使效率降低。

  七、條件運(yùn)算符

  條件運(yùn)算符(?:)是C語言中唯一的一個(gè)三目運(yùn)算符,它是對(duì)第一個(gè)表達(dá)式作真/假檢測,然后根據(jù)結(jié)果返回兩外兩個(gè)表達(dá)式中的一個(gè)。

  <表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>

  在運(yùn)算中,首先對(duì)第一個(gè)表達(dá)式進(jìn)行檢驗(yàn),如果為真,則返回表達(dá)式2的值;如果為假,則返回表達(dá)式3的值。

  例如:

  a=(b>0)?b:-b;

  當(dāng)b>0時(shí),a=b;當(dāng)b不大于0時(shí),a=-b;這就是條件表達(dá)式。其實(shí)上面的意思就是把b的絕對(duì)值賦值給a。八、逗號(hào)運(yùn)算符

  在C語言中,多個(gè)表達(dá)式可以用逗號(hào)分開,其中用逗號(hào)分開的表達(dá)式的值分別結(jié)算,但整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值。

  假設(shè)b=2,c=7,d=5,

  a1=(++b,c--,d+3);

  a2=++b,c--,d+3;

  對(duì)于第一行代碼,有三個(gè)表達(dá)式,用逗號(hào)分開,所以最終的值應(yīng)該是最后一個(gè)表達(dá)式的值,也就是d+3,為8,所以a=8。對(duì)于第二行代碼,那么也是有三個(gè)表達(dá)式,這時(shí)的三個(gè)表達(dá)式為a2=++b、c--、d+3,(這是因?yàn)橘x值運(yùn)算符比逗號(hào)運(yùn)算符優(yōu)先級(jí)高)所以最終表達(dá)式的值雖然也為8,但a2=3。

  還有其他的如位邏輯運(yùn)算符,位移運(yùn)算符等等,我們等到講位運(yùn)算時(shí)再說明。

  九、優(yōu)先級(jí)和結(jié)合性

  從上面的逗號(hào)運(yùn)算符那個(gè)例子可以看出,這些運(yùn)算符計(jì)算時(shí)都有一定的順序,就好象先要算乘除后算加減一樣。優(yōu)先級(jí)和結(jié)合性是運(yùn)算符兩個(gè)重要的特性,結(jié)合性又稱為計(jì)算順序,它決定組成表達(dá)式的各個(gè)部分是否參與計(jì)算以及什么時(shí)候計(jì)算。

  下面是C語言中所使用的運(yùn)算符的優(yōu)先級(jí)和結(jié)合性:

  優(yōu)先級(jí)

  運(yùn)算符

  結(jié)合性

  (最高)

  ->

  自左向右

  &

  sizeof

  自右向左

  自左向右

  自左向右

  <<

  >>

  自左向右

  <

  <=

  >

  >=

  自左向右

  自左向右

  &

  自左向右

  自左向右

  自左向右

  &&

  自左向右

  自左向右

  自右向左

  &=

  <<=

  >>=

  自右向左

  (最低)

  自左向右

  在該表中,還有一些運(yùn)算符我們沒有介紹,如指針運(yùn)算符、sizeof運(yùn)算符、數(shù)組運(yùn)算符[]等等,這些在以后的學(xué)習(xí)中會(huì)陸續(xù)說明的。

  C語言教程(2)-數(shù)據(jù)類型、運(yùn)算符、表達(dá)式

  C語言教程(2)-數(shù)據(jù)類型、運(yùn)算符、表達(dá)式C語言的數(shù)據(jù)類型希望對(duì)學(xué)習(xí)C語言的朋友有所幫助,我們已經(jīng)看到程序中使用的各種變量都應(yīng)預(yù)先加以說明,即先說明,后使用。對(duì)變量的說明可以包括三個(gè)方面:·數(shù)據(jù)類型·存儲(chǔ)類型·作用域 在本課中,我們只介紹數(shù)據(jù)類型說明。其它說明在以后各章中陸續(xù)介紹。所謂數(shù)據(jù)類型是按被說明量的性質(zhì),表示形式,占據(jù)存儲(chǔ)空間的多少,構(gòu)造特點(diǎn)來劃分的。在C語言中,數(shù)據(jù)類型可分為:基本數(shù)據(jù)類型,構(gòu)造數(shù)據(jù)類型,指針類型,空類型四大類。

  1.基本數(shù)據(jù)類型

  基本數(shù)據(jù)類型最主要的特點(diǎn)是,其值不可以再分解為其它類型。也就是說,基本數(shù)據(jù)類型是自我說明的。

  2.構(gòu)造數(shù)據(jù)類型構(gòu)造數(shù)據(jù)類型

  是根據(jù)已定義的一個(gè)或多個(gè)數(shù)據(jù)類型用構(gòu)造的方法來定義的。也就是說,一個(gè)構(gòu)造類型的值可以分解成若干個(gè)“成員”或“元素”。每個(gè)“成員”都是一個(gè)基本數(shù)據(jù)類型或又是一個(gè)構(gòu)造類型。在C語言中,構(gòu)造類型有以下幾種:

  ·數(shù)組類型·結(jié)構(gòu)類型·聯(lián)合類型

  電腦知識(shí)愛好者

  3.指針類型

  指針是一種特殊的,同時(shí)又是具有重要作用的數(shù)據(jù)類型。其值用來表示某個(gè)量在內(nèi)存儲(chǔ)器中的地址。雖然指針變量的取值類似于整型量,但這是兩個(gè)類型完全不同的量,因此不能混為一談。4.空類型在調(diào)用函數(shù)值時(shí),通常應(yīng)向調(diào)用者返回一個(gè)函數(shù)值。這個(gè)返回的函數(shù)值是具有一定的數(shù)據(jù)類型的,應(yīng)在函數(shù)定義及函數(shù)說明中給以說明,例如在例題中給出的max函數(shù)定義中,函數(shù)頭為:

  int

  max(int

  a,int

  b);其中“int

  ”類型說明符即表示該函數(shù)的返回值為整型量。又如在例題中,使用了庫函數(shù)

  sin,由于系統(tǒng)規(guī)定其函數(shù)返回值為雙精度浮點(diǎn)型,因此在賦值語句s=sin

  (x);中,s

  也必須是雙精度浮點(diǎn)型,以便與sin函數(shù)的返回值一致。所以在說明部分,把s說明為雙精度浮點(diǎn)型。但是,也有一類函數(shù),調(diào)用后并不需要向調(diào)用者返回函數(shù)值,

  這種函數(shù)可以定義為“空類型”。其類型說明符為void。在第五章函數(shù)中還要詳細(xì)介紹。在本章中,我們先介紹基本數(shù)據(jù)類型中的整型、浮點(diǎn)型和字符型。其余類型在以后各章中陸續(xù)介紹。

  c語言教程(一)C語言概論

  c語言教程(一)C語言概論從今天開始電腦知識(shí)愛好者網(wǎng)站將開展c語言教程系列文章,請多多提意見和問題C語言的發(fā)展過程

  C語言是在70年代初問世的。一九七八年由美國電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語言。同時(shí)由B.W.Kernighan和D.M.Ritchit合著了著名的“THE

  C

  PROGRAMMING

  LANGUAGE”一書。通常簡稱為《K&R》,也有人稱之為《K&R》標(biāo)準(zhǔn)。但是,在《K&R》中并沒有定義一個(gè)完整的標(biāo)準(zhǔn)C語言,后來由美國國家標(biāo)準(zhǔn)學(xué)會(huì)在此基礎(chǔ)上制定了一個(gè)C

  語言標(biāo)準(zhǔn),于一九八三年發(fā)表。通常稱之為ANSI

  C。

  當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語言

  早期的C語言主要是用于UNIX系統(tǒng)。由于C語言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開始進(jìn)入其它操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用。成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語言之一。

  電腦知識(shí)愛好者

  C語言 指針類 設(shè)有如下定義

  a

  p是指針變量,p的值應(yīng)該是地址,不是變量的值

  正確的方法應(yīng)該是*p=1;

  b

  類似a

  正確的方法應(yīng)該是**q=2;

  c

  p是指針變量,他的值是一個(gè)地址,*q是指針變量

  正確的方法應(yīng)該是*q=p;

  *p=&n;p是指向地址的指針

  A錯(cuò)

  **q=&p;q是指向指針的指針

  C錯(cuò)

  B錯(cuò)

  *p=&n

  *p=5

  取地址n賦值給指針P

  5是取的地址n

  D對(duì)

  C語言 FOR 語句

  共循環(huán)3次

  第一次,p

  指向

  a[0],輸出結(jié)果是ABC

  p

  ABC

  第二次,p

  指向

  a[1],

  輸出結(jié)果是BC

  p

  ABC

  第三次,p

  指向

  a[2],

  輸出結(jié)果是C

  p

  ABC

  這里要理解這個(gè)指針指向字符數(shù)組后,就是這個(gè)字符數(shù)組的首地址。

  輸出字符串的時(shí)候,變量可以直接寫字符串得首地址。

  由于地址改變,所以,輸出的字符串也改變。

  數(shù)組在必須顯式指出數(shù)組的大小。

  但是在定義數(shù)組的同時(shí),又初始化了該數(shù)組,可以不用指定大小,系統(tǒng)會(huì)根據(jù)數(shù)組中元素的個(gè)數(shù),自動(dòng)分配內(nèi)存空間。

  共循環(huán)3次

  第一次,p

  指向

  a[0],輸出結(jié)果是ABC

  p

  ABC

  第二次,p

  指向

  a[1],

  輸出結(jié)果是BC

  p

  BC

  第三次,p

  指向

  a[2],

  輸出結(jié)果是C

  p

  C

  c語言里"一個(gè)語句分寫多行"是什么意思

  改成

  printf("a=%.2f ,b=%.2f ,c=%.2f ,

  d=%.2f ,e=%.2f ",a,b,c,d,e);

  試試

  C語言中一行只可以輸入80個(gè)字符,如果代碼需要換行,則在每行后面加上行結(jié)束符“”

  像你的第二條語句,沒加行結(jié)束符,編譯時(shí)會(huì)認(rèn)為,字符串沒有正確結(jié)束

  在C語言中字符串是不可以分行寫的。

  在C++中,一個(gè)長字符串可以占兩行或多行,但在最后一行之前的各行應(yīng)用反斜杠結(jié)尾,例如:

  "I

  love

  you"

  上面的字符串與下面的單行字符串等價(jià):

  "I

  love

  you"

  另外printf("a=%.2f ,b=%.2f ,c=%.2f ,d=%.2f ,e=%.2f ",a,b,c,d,e)這類的語句可以分行寫成

  printf("a=%.2f ,b=%.2f ,c=%.2f ,d=%.2f ,e=%.2f ",

  a,

  b,

  c,

  d,

  e);

  的樣子。但是printf這樣的標(biāo)識(shí)符和關(guān)鍵字不可以分行寫。下面的兩種寫法都是錯(cuò)的:

  1.

  print

  f("hello");

  2.

  print

  f("hello");

  賦值語句的作用是把某個(gè)常量或變量或表達(dá)式的值賦值給另一個(gè)變量。符號(hào)為‘=’。這里并不是等于的意思,只是賦值,等于用‘==’表示。

  注意:賦值語句左邊的變量在程序的其他地方必須要聲明。

  得已賦值的變量我們稱為左值,因?yàn)樗鼈兂霈F(xiàn)在賦值語句的左邊;產(chǎn)生值的表達(dá)式我們稱為右值,因?yàn)樗鼈兂霈F(xiàn)在賦值語句的右邊。常數(shù)只能作為右值。

  例如:

  count=5;

  total1=total2=0;

  第一個(gè)賦值語句大家都能理解。

  第二個(gè)賦值語句的意思是把0同時(shí)賦值給兩個(gè)變量。這是因?yàn)橘x值語句是從右向左運(yùn)算的,也就是說從右端開始計(jì)算。這樣它先total2=0;然后total1=total2;那么我們這樣行不行呢?

  (total1=total2)=0;

  這樣是不可以的,因?yàn)橄纫憷ㄌ?hào)里面的,這時(shí)total1=total2是一個(gè)表達(dá)式,而賦值語句的左邊是不允許表達(dá)式存在的。二、算術(shù)運(yùn)算符

  在C語言中有兩個(gè)單目和五個(gè)雙目運(yùn)算符。

  符號(hào)

  功能

  單目正

  單目負(fù)

  乘法

  除法

  取模

  加法

  減法

  下面是一些賦值語句的例子,

  在賦值運(yùn)算符右側(cè)的表達(dá)式中就使用了上面的算術(shù)運(yùn)算符:

  Area=Height*Width;

  num=num1+num2/num3-num4;

  運(yùn)算符也有個(gè)運(yùn)算順序問題,先算乘除再算加減。單目正和單目負(fù)最先運(yùn)算。

  取模運(yùn)算符(%)用于計(jì)算兩個(gè)整數(shù)相除所得的余數(shù)。例如:

  a=7%4;

  最終a的結(jié)果是3,因?yàn)?%4的余數(shù)是3。

  那么有人要問了,我要想求它們的商怎么辦呢?

  b=7/4;

  這樣b就是它們的商了,應(yīng)該是1。

  也許有人就不明白了,7/4應(yīng)該是1.75,怎么會(huì)是1呢?這里需要說明的是,當(dāng)兩個(gè)整數(shù)相除時(shí),所得到的結(jié)果仍然是整數(shù),沒有小數(shù)部分。要想也得到小數(shù)部分,可以這樣寫7.0/4或者7/4.0,也即把其中一個(gè)數(shù)變?yōu)榉钦麛?shù)。

  那么怎樣由一個(gè)實(shí)數(shù)得到它的整數(shù)部分呢?這就需要用強(qiáng)制類型轉(zhuǎn)換了。例如:

  a=(int)

  (7.0/4);

  因?yàn)?.0/4的值為1.75,如果在前面加上(int)就表示把結(jié)果強(qiáng)制轉(zhuǎn)換成整型,這就得到了1。那么思考一下a=(float)

  (7/4);最終a的結(jié)果是多少?

  單目減運(yùn)算符相當(dāng)于取相反值,若是正值就變?yōu)樨?fù)值,若是負(fù)數(shù)就變?yōu)檎怠?/p>

  單目加運(yùn)算符沒有意義,純粹是和單目減構(gòu)成一對(duì)用的。三、邏輯運(yùn)算符

  邏輯運(yùn)算符是根據(jù)表達(dá)式的值來返回真值或是假值。其實(shí)在C語言中沒有所謂的真值和假值,只是認(rèn)為非0為真值,0為假值。

  符號(hào)

  功能

  &&

  邏輯與

  邏輯或

  邏輯非

  例如:

  5!3;

  0||-2&&5;

  !4;

  當(dāng)表達(dá)式進(jìn)行&&運(yùn)算時(shí),只要有一個(gè)為假,總的表達(dá)式就為假,只有當(dāng)所有都為真時(shí),總的式子才為真。當(dāng)表達(dá)式進(jìn)行||運(yùn)算時(shí),只要有一個(gè)為真,總的值就為真,只有當(dāng)所有的都為假時(shí),總的式子才為假。邏輯非(!)運(yùn)算是把相應(yīng)的變量數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的真/假值。若原先為假,則邏輯非以后為真,若原先為真,則邏輯非以后為假。

  還有一點(diǎn)很重要,當(dāng)一個(gè)邏輯表達(dá)式的后一部分的取值不會(huì)影響整個(gè)表達(dá)式的值時(shí),后一部分就不會(huì)進(jìn)行運(yùn)算了。例如:

  a=2,b=1;

  a||b-1;

  因?yàn)閍=2,為真值,所以不管b-1是不是真值,總的表達(dá)式一定為真值,這時(shí)后面的表達(dá)式就不會(huì)再計(jì)算了。

【C語言中的運(yùn)算符】相關(guān)文章:

C語言的條件運(yùn)算符12-19

C語言條件運(yùn)算符10-26

c語言算術(shù)運(yùn)算符07-23

C語言關(guān)系運(yùn)算符08-04

C語言賦值運(yùn)算符11-06

JAVA程序語言中的運(yùn)算符10-09

c語言位運(yùn)算符的用法08-27

關(guān)于C語言賦值運(yùn)算符06-18

C語言賦值運(yùn)算符考點(diǎn)10-08

C 語言中宏的使用08-02