版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2018年9月計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析 運(yùn)算符 出guo在這里為考生們了“2018年9月計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析”,希望能幫到大家,想了解更多考試資訊,請(qǐng)關(guān)注的及時(shí)更新哦。 無(wú)論是加減乘除還是大于小于,都需要用到運(yùn)算符,在C語(yǔ)言中的運(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é)再說(shuō)) 一、賦值運(yùn)算符 賦值語(yǔ)句的作用是把某個(gè)常量或變量或表達(dá)式的值賦值給另一個(gè)變量。符號(hào)為=。這里并不是等
2、于的意思,只是賦值,等于用=表示。 注意:賦值語(yǔ)句左邊的變量在程序的其他地方必須要聲明。 得已賦值的變量我們稱為左值,因?yàn)樗鼈兂霈F(xiàn)在賦值語(yǔ)句的左邊;產(chǎn)生值的表達(dá)式我們稱為右值,因?yàn)樗鼈兂霈F(xiàn)在賦值語(yǔ)句的右邊。常數(shù)只能作為右值。 例如: count=5; total1=total2=0; 第一個(gè)賦值語(yǔ)句大家都能理解。 第二個(gè)賦值語(yǔ)句的意思是把0同時(shí)賦值給兩個(gè)變量。這是因?yàn)橘x值語(yǔ)句是從右向左運(yùn)算的,也就是說(shuō)從右端開(kāi)始計(jì)算。這樣它先total2=0;然后total1=total2;那么我們這樣行不行呢? (total1=total2)=0; 這樣是不可以的,因?yàn)橄纫憷ㄌ?hào)里面的,這時(shí)total1=t
3、otal2是一個(gè)表達(dá)式,而賦值語(yǔ)句的左邊是不允許表達(dá)式存在的。 二、算術(shù)運(yùn)算符 在C語(yǔ)言中有兩個(gè)單目和五個(gè)雙目運(yùn)算符。 符號(hào) 功能 + 單目正 - 單目負(fù) * 乘法 / 除法 % 取模 + 加法 - 減法 下面是一些賦值語(yǔ)句的例子, 在賦值運(yùn)算符右側(cè)的表達(dá)式中就使用了上面的算術(shù)運(yùn)算符: Area=Height*Width; num=num1+num2/num3-num4; 運(yùn)算符也有個(gè)運(yùn)算順序問(wèn)題,先算乘除再算加減。單目正和單目負(fù)最先運(yùn)算。 取模運(yùn)算符(%)用于計(jì)算兩個(gè)整數(shù)相除所得的余數(shù)。例如: a=7%4; 最終a的結(jié)果是3,因?yàn)?%4的余數(shù)是3。 那么有人要問(wèn)了,我要想求它們的商怎么辦呢?
4、 b=7/4; 這樣b就是它們的商了,應(yīng)該是1。 也許有人就不明白了,7/4應(yīng)該是1.75,怎么會(huì)是1呢?這里需要說(shuō)明的是,當(dāng)兩個(gè)整數(shù)相除時(shí),所得到的結(jié)果仍然是整數(shù),沒(méi)有小數(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>
5、。 單目加運(yùn)算符沒(méi)有意義,純粹是和單目減構(gòu)成一對(duì)用的。 三、邏輯運(yùn)算符 邏輯運(yùn)算符是根據(jù)表達(dá)式的值來(lái)返回真值或是假值。其實(shí)在C語(yǔ)言中沒(méi)有所謂的真值和假值,只是認(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è)邏
6、輯表達(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)算符大家都能明白,主要問(wèn)題就是等于=和賦值=的區(qū)別了。 一些剛開(kāi)始學(xué)習(xí)C語(yǔ)言的人總是對(duì)這兩個(gè)運(yùn)算符弄不明白,經(jīng)常在一些簡(jiǎn)單問(wèn)題上出錯(cuò),自己檢查時(shí)還找不出來(lái)??聪旅娴拇a: if(Amount=123) 很多新人都理解為如果Amount等
7、于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)算符
8、放在后面,那么自增自減運(yùn)算是在變量參加表達(dá)式的運(yùn)算后再運(yùn)算。這樣講可能不太清楚,看下面的例子: num1=4; num2=8; a=+num1; b=num2+; a=+num1;這總的來(lái)看是一個(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è)趺刺幚砟? c=num1+num2; 到底是c=(num1+)+num2;還是c=num1+(+num2);這要根據(jù)編譯
9、器來(lái)決定,不同的編譯器可能有不同的結(jié)果。所以我們?cè)谝院蟮木幊坍?dāng)中,應(yīng)該盡量避免出現(xiàn)上面復(fù)雜的情況。 六、復(fù)合賦值運(yùn)算符 在賦值運(yùn)算符當(dāng)中,還有一類C/C+獨(dú)有的復(fù)合賦值運(yùn)算符。它們實(shí)際上是一種縮寫形式,使得對(duì)變量的改變更為簡(jiǎn)潔。 Total=Total+3; 乍一看這行代碼,似乎有問(wèn)題,這是不可能成立的。其實(shí)還是老樣子,=是賦值不是等于。它的意思是本身的值加3,然后在賦值給本身。為了簡(jiǎn)化,上面的代碼也可以寫成: Total+=3; 復(fù)合賦值運(yùn)算符有下列這些: 符號(hào) 功能 += 加法賦值 -= 減法賦值 *= 乘法賦值 /= 除法賦值 %= 模運(yùn)算賦值 = 右移賦值 &= 位邏輯與賦值 |= 位
10、邏輯或賦值 = 位邏輯異或賦值 上面的十個(gè)復(fù)合賦值運(yùn)算符中,后面五個(gè)我們到以后位運(yùn)算時(shí)再說(shuō)明。 那么看了上面的復(fù)合賦值運(yùn)算符,有人就會(huì)問(wèn),到底Total=Total+3;與Total+=3;有沒(méi)有區(qū)別?答案是有的,對(duì)于A=A+1,表達(dá)式A被計(jì)算了兩次,對(duì)于復(fù)合運(yùn)算符A+=1,表達(dá)式A僅計(jì)算了一次。一般的來(lái)說(shuō),這種區(qū)別對(duì)于程序的運(yùn)行沒(méi)有多大影響,但是當(dāng)表達(dá)式作為函數(shù)的返回值時(shí),函數(shù)就被調(diào)用了兩次(以后再說(shuō)明),而且如果使用普通的賦值運(yùn)算符,也會(huì)加大程序的開(kāi)銷,使效率降低。 七、條件運(yùn)算符 條件運(yùn)算符(?:)是C語(yǔ)言中唯一的一個(gè)三目運(yùn)算符,它是對(duì)第一個(gè)表達(dá)式作真/假檢測(cè),然后根據(jù)結(jié)果返回兩外兩個(gè)表
11、達(dá)式中的一個(gè)。 ?: 在運(yùn)算中,首先對(duì)第一個(gè)表達(dá)式進(jìn)行檢驗(yàn),如果為真,則返回表達(dá)式2的值;如果為假,則返回表達(dá)式3的值。 例如: a=(b0)?b:-b; 當(dāng)b0時(shí),a=b;當(dāng)b不大于0時(shí),a=-b;這就是條件表達(dá)式。其實(shí)上面的意思就是把b的絕對(duì)值賦值給a。 八、逗號(hào)運(yùn)算符 在C語(yǔ)言中,多個(gè)表達(dá)式可以用逗號(hào)分開(kāi),其中用逗號(hào)分開(kāi)的表達(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)分開(kāi),所以最終的值應(yīng)該是最后一個(gè)表達(dá)式的值,也就是d+3,為8,所以a=8。對(duì)于第二
12、行代碼,那么也是有三個(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í)再說(shuō)明。 九、優(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ǔ)言中所使用的運(yùn)算符的優(yōu)先級(jí)和結(jié)合性: 優(yōu)先級(jí) 運(yùn)算符 結(jié)合性 (最高) () - . 自左向右 ! + - + - * & sizeof 自右向左 * / % 自左向右 + - 自左向右 自左向右 = 自左向右 = != 自左向右 & 自左向右 自左向右 | 自左向右 & 自左向右 | 自左向右 ?: 自右向左 = += -= *= /= %= &= = |= = 自右向左 (最低) , 自左向右 在該表中,還有一些運(yùn)算符我們沒(méi)有介紹,如指針運(yùn)算符、sizeof運(yùn)算符、數(shù)組運(yùn)算符等等,這些在以后的學(xué)習(xí)中會(huì)陸續(xù)說(shuō)明的。 2018年9月計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析:字符串 2018年9月計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析:初步知識(shí) 2018年9月計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)解析:用戶標(biāo)識(shí)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤礦重大事故隱患判定標(biāo)準(zhǔn)解讀與查找方法山西應(yīng)急管理廳培訓(xùn)課件
- 二零二五年教育機(jī)構(gòu)課程設(shè)計(jì)獨(dú)立設(shè)計(jì)師聘用合同3篇
- 二零二五年某供熱公司供暖服務(wù)質(zhì)量提升合同4篇
- 2025年度環(huán)保設(shè)備銷售個(gè)人工程居間合同范本下載4篇
- 《溝通心態(tài)調(diào)整》課件
- 2025年度二手車交易合同之年限車輛買賣協(xié)議4篇
- 二零二五年度政府項(xiàng)目代理招標(biāo)服務(wù)合同4篇
- 2024建設(shè)工程施工簡(jiǎn)單合同范本
- 2025年度個(gè)人醫(yī)療借款合同模板8篇
- 2025版建筑裝修抹灰工程分包合同模板4篇
- 大學(xué)生國(guó)家安全教育意義
- 2024年保育員(初級(jí))培訓(xùn)計(jì)劃和教學(xué)大綱-(目錄版)
- 河北省石家莊市2023-2024學(xué)年高二上學(xué)期期末考試 語(yǔ)文 Word版含答案
- 企業(yè)正確認(rèn)識(shí)和運(yùn)用矩陣式管理
- 分布式光伏高處作業(yè)專項(xiàng)施工方案
- 陳閱增普通生物學(xué)全部課件
- 檢驗(yàn)科主任就職演講稿范文
- 人防工程主體監(jiān)理質(zhì)量評(píng)估報(bào)告
- 20225GRedCap通信技術(shù)白皮書
- 燃?xì)庥邢薰究蛻舴?wù)規(guī)范制度
- 延遲交稿申請(qǐng)英文
評(píng)論
0/150
提交評(píng)論