日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
浙大pta《c語(yǔ)言基礎(chǔ)》經(jīng)典例題-創(chuàng)新互聯(lián)
一.6.4:表達(dá)式的解析

1.表達(dá)式 !x 等價(jià)于:

創(chuàng)新互聯(lián)公司專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、順河網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為順河等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

?x==0

分析:

xx==0!x
非000
011

從而可以看出x==0與!x的邏輯結(jié)果是等價(jià)的

2.表達(dá)式 !!6的值是:

?1

補(bǔ)充:邏輯量:a(非0)為真,!a=0;!!a=1

3.表達(dá)式 ~(~2<<1)的值是:

?5

?解析:2的二進(jìn)制:10??~2:01 ~2<<1(左移一位 一般相當(dāng)于乘2)但這里沒(méi)有超出機(jī)器字所表示? ? ?的位數(shù)其實(shí)是010,后取反,即得101,也就是5

?補(bǔ)充:正常進(jìn)行移位運(yùn)算時(shí)一般需要轉(zhuǎn)換為2進(jìn)制,且補(bǔ)足8位,如若前面不夠全部添0

4.表達(dá)式 (z=0, (x=2)||(z=1),z) 的值是:

? 0

補(bǔ)充:逗號(hào)表達(dá)式

一些特點(diǎn)
1、逗號(hào)表達(dá)式是C語(yǔ)言優(yōu)先級(jí)最低的運(yùn)算符。

2、逗號(hào)表達(dá)式是左結(jié)合性(即按從左到右順序運(yùn)算)的運(yùn)算符。

常見(jiàn)表達(dá)式

//例一
#include
void main(){
?int x, y, z;
?o = x = 3, y = 4, z = 5;
?printf("x=%d,y=%d,z=%d,o=%d\n",x,y,z,o);
}
運(yùn)行結(jié)果:x=3,y=4,z=5,o=3

//例二
#include
void main(){
?int x, y, z, o;
?o = ( x = 3, y = 4, z = 5 );
?printf("x=%d,y=%d,z=%d,o=%d\n",x,y,z,o);
}
運(yùn)行結(jié)果:x=3,y=4,z=5,o=5

我們可以發(fā)現(xiàn)例一和例二中,變量o最終的結(jié)果是完全不同的。

我們可以先把上面兩個(gè)表達(dá)式簡(jiǎn)化成👇

例一:o = 表達(dá)式1,表達(dá)式2,表達(dá)式3;

因?yàn)槎禾?hào)表達(dá)式是優(yōu)先級(jí)最低的表達(dá)式,賦值表達(dá)式的優(yōu)先級(jí)高,所以會(huì)把表達(dá)式1的值直接賦值給o

例二:o = (表達(dá)式1,表達(dá)式2,表達(dá)式3);

括號(hào)里中的先執(zhí)行,逗號(hào)表達(dá)式是左結(jié)合性,所以會(huì)從左往右依次執(zhí)行,最后再把表達(dá)式3的值賦值給o

小結(jié)論:
結(jié)合以上兩個(gè)例子的運(yùn)行結(jié)果我們可以得出一個(gè)結(jié)論:

當(dāng)沒(méi)有括號(hào)時(shí),第一個(gè)表達(dá)式為整個(gè)表達(dá)式的值。

而有括號(hào)時(shí),依次執(zhí)行后,最后一個(gè)表達(dá)式為整個(gè)表達(dá)式的值。

而且所有的表達(dá)式都依次執(zhí)行了。

例題一
逗號(hào)表達(dá)式a=2*6,a*3,a+5的值為_(kāi)____?

逗號(hào)表達(dá)式的結(jié)果是整個(gè)表達(dá)式執(zhí)行完后最后的一個(gè)值。

所以我們可以假定逗號(hào)表達(dá)式的結(jié)果為o

把這個(gè)式子看成o=(a=2*6,a*3,a+5)

a=2*6=12,此時(shí)表達(dá)式的值為12

a*3并不是一個(gè)賦值語(yǔ)句,此時(shí)表達(dá)式的值還是12

運(yùn)算到這一步,可以看成o=(a+5)=12+5=17

該表達(dá)式的值為17

例題二
int a,表達(dá)式 (a=4*5,a+6),a++的值為_(kāi)____

逗號(hào)表達(dá)式的結(jié)果是整個(gè)表達(dá)式執(zhí)行完后最后的一個(gè)值。

所以我們可以假定逗號(hào)表達(dá)式的結(jié)果為o、

把這個(gè)式子看成o=((a=4*5,a+6),a++)

a=4*5=20,此時(shí)表達(dá)式的值為20

a+6并不是一個(gè)賦值語(yǔ)句,此時(shí)表達(dá)式的值還是20

a++是先賦值這條語(yǔ)句運(yùn)算完后才會(huì)+1,直到這里,表達(dá)式的值為20

例題三
int a,表達(dá)式為(a=4*5,a+6),a++ 執(zhí)行完后a的值為_(kāi)____

這個(gè)例題是求a的值,而不是表達(dá)式的值,這里表達(dá)式2(也就是a++)中的a=a+1也是會(huì)執(zhí)行的,所以a的值為21。

例題四
int x=5,y=8,z;

z=(x++,++y,x+y);

求z=_______

既然有括號(hào),那就先依次執(zhí)行前面的表達(dá)式,再把最后一個(gè)表達(dá)式賦值給z,

先執(zhí)行x++,x=x+1=5+1=6

再執(zhí)行y++,y=y+1=8+1=9

最后z=x+y=6+9=15

PS:如果這里的表達(dá)式三為x+++y,則要注意了!

z=(x++,++y,x+++y);

首先依次執(zhí)行x++得x=6、++y得y=9

后置++的優(yōu)先級(jí)大于前置++

所以這里是(x++)+y;而不是x+(++y);

(x++)+y這里先把x的值與y的值相加,隨后x再自增加1

也就是z=x+y;x=x+1;

這里z的值還是15,但是x的值又加了1,x=7

————————————————
版權(quán)聲明:本文為博主「DMWFJJ」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/DMWFJJ/article/details/122567247

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站名稱:浙大pta《c語(yǔ)言基礎(chǔ)》經(jīng)典例題-創(chuàng)新互聯(lián)
瀏覽地址:http://www.dlmjj.cn/article/docejd.html