




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言第三章節(jié):運(yùn)算符與表達(dá)式[復(fù)制]您的姓名:[填空題]*_________________________________1.C語言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是()[單選題]*A、%(正確答案)B、\C、%和\D、**答案解析:C語言中只有求余(模運(yùn)算)時(shí),A%B,A和B都得是整數(shù)。但然有些語言(Java)是可以的。其中,**不是C語言的運(yùn)算符。在有些語言(Python)中相當(dāng)于階乘。2.C語言中最簡(jiǎn)單的數(shù)據(jù)類型包括()[單選題]*A、整型、實(shí)型、邏輯型B、整型、實(shí)型、字符型(正確答案)C、整型、字符型、邏輯型D、整型、實(shí)型、邏輯型、字符型答案解析:整型、實(shí)型、字符型為最基本、簡(jiǎn)單的,邏輯型其實(shí)相當(dāng)于就是整型。邏輯true結(jié)果用1表示,邏輯false結(jié)果用0表示。3.表達(dá)式:10!=9的值是()[單選題]*A、trueB、非零值C、0D、1(正確答案)答案解析:邏輯判斷的結(jié)果要么為1(真),0(假),平常上課時(shí),經(jīng)常說道true,false,但實(shí)際表示出來的時(shí)候,實(shí)際上true就是1,false就是0。C語言并沒有true與false,這個(gè)切記。10不等于9,這是邏輯為真,所以值為1.4.表示關(guān)系x<=y<=z的c語言表達(dá)式為()[單選題]*A、(X<=Y)&&(Y<=Z)(正確答案)B、(X<=Y)AND(Y<=Z)C、X<=Y<=Z)D、(X<=Y)&(Y<=Z)答案解析:C語言雖然表示數(shù)學(xué)表達(dá)式時(shí)跟數(shù)學(xué)上很像,但是還是有區(qū)別的,x<=y<=z表示的是,y同時(shí)滿足兩個(gè)關(guān)系,即大于等于x,又小于等于z。所以在C語言中,同時(shí)滿足用邏輯與(&&)。而&是位與,在C語言中這是有很大區(qū)別的。5.假定有以下變量定義:intk=7,x=12;則能使值為3的表達(dá)式是()[單選題]*A、x%=(k%=5)B、x%=(k-k%5)C、x%=k-k%5D、(x%k)-(k%5)(正確答案)答案解析:首先得知道運(yùn)算符的優(yōu)先級(jí),從大到小依次為()、%、-,=(%=)。x%=(k%=5):k=k%5,值為2,x%=2,值為0。x%=(k-k%5):(k-k%5)值為7-2=5,x%5=2。x%=k-k%5:k-k%5=5,x%5=2.(x%=k)-(k%=5):(k%5)值為2,(x%k)值為5,5-2=3。6.請(qǐng)選出合法的C語言賦值語句()[單選題]*A、a=b=58B、i++;(正確答案)C、a=58,b=58D、k=int(a+b);答案解析:解析:語句得有分號(hào),沒有分號(hào)的是表達(dá)式,其中k=int(a+b)這是C++的強(qiáng)制類型轉(zhuǎn)換,應(yīng)該改為k=(int)(a+b),且要求k,a,b都是數(shù)字。i++,相當(dāng)于i=i+1;為正確的賦值。7.若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是()[單選題]*A、-3B、9C、-12(正確答案)D、6答案解析:注意優(yōu)先級(jí)和結(jié)合性,優(yōu)先級(jí)從大到小為*,-=(+=),且賦值的結(jié)合性是從右邊過來。a*a=9,a-=9為a=a-9值為-6,即a=-6;a+=a值為-6+-6=-12.8.若變量a是int類型,并執(zhí)行了語句:a=‘A'+1.6;,則正確的敘述是()[單選題]*A、a的值是字符CB、a的值是浮點(diǎn)型C、不允許字符型和浮點(diǎn)型相加D、的值是字符‘A’的ASCII值加上1。(正確答案)答案解析:C語言是強(qiáng)類型編程語言,即=左右兩邊必須是同種類型,如果不同會(huì)進(jìn)行轉(zhuǎn)換,大可以自動(dòng)轉(zhuǎn)換成小的,但小的轉(zhuǎn)大的時(shí)候,就會(huì)出問題。具體可以看視頻可是23,24.同時(shí)C語言是一個(gè)盡最大努力保留精度的?!瓵’+1.6即先把’A’轉(zhuǎn)為int,ASCII碼表的順序?yàn)?5,所以是int+double,結(jié)果也為double,所以現(xiàn)在變成int=double,這是從大到小,不會(huì)出問題,涉及到字節(jié)的知識(shí),最終結(jié)果相當(dāng)于(int)66.6=66.9.若要求在if后一對(duì)圓括號(hào)中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式為[單選題]*A、a<>0B、!aC、a=0D、a(正確答案)答案解析:題目要求是a不等于0時(shí)為真,沒有a<>0的寫法。當(dāng)a不為0時(shí),!a為假。a=0,為假。a則是正確,當(dāng)a不為0時(shí)候,就為真。記住一句話。非0為真,0為假。10.若已定義x和y為double類型,則表達(dá)式:x=1,y=x+3/2的值是()[單選題]*A、1B、2C、2.0(正確答案)D、2.5答案解析:逗號(hào)表達(dá)式,取逗號(hào)后面表達(dá)式y(tǒng)=x+3/2的值為整個(gè)式子的值,y=1.0+1=2.0。double+int先把int轉(zhuǎn)為double。11.若有定義:inta=8,b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值為()[單選題]*A、1.4B、1(正確答案)C、2.0D、2答案解析:優(yōu)先級(jí)從大到?。?,+,首先知,c是int類型,所以可以排除幾個(gè)選項(xiàng)。a/b+0.4=1+0.4=1.4,1.4轉(zhuǎn)為int為112.若有以下程序段,intc1=1,c2=2,c3;c3=1.0/c2*c1;則執(zhí)行后,c3中的值是()[單選題]*A、0(正確答案)B、0.5C、1D、2答案解析:c1,c2,c3都為int,分析優(yōu)先級(jí),/,*是一樣的,結(jié)合性從左到右。進(jìn)行運(yùn)算時(shí),如果運(yùn)算符左右兩邊不同類型,則進(jìn)行轉(zhuǎn)換,從低精度往高精度轉(zhuǎn)。1.0/c2為double類型,值為0.5,0.5*1=0.5,再把0.5(double)復(fù)制給int型的c3,所以只取整數(shù)部分,為0.13.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+d-c值的類型為()[單選題]*A、floatB、intC、charD、double(正確答案)答案解析:當(dāng)進(jìn)行運(yùn)算時(shí),如果運(yùn)算符左右兩邊的操作數(shù)類型不一樣,則得進(jìn)行類型轉(zhuǎn)化,為了保證數(shù)字的精度,轉(zhuǎn)化規(guī)則是從低精度類型往高精度類型轉(zhuǎn)化。即自動(dòng)轉(zhuǎn)換。a*b+d-c有double類型的變量,所以最后結(jié)果為double類型。14.若有以下定義和語句charc1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+‘A’);則輸出結(jié)果是:()[單選題]*A、2,MB、3,E(正確答案)C、2,ED、輸出項(xiàng)與對(duì)應(yīng)的格式控制不一致,輸出結(jié)果不確定答案解析:char類型和整數(shù)類型在一定范圍內(nèi)可以互相轉(zhuǎn)換,當(dāng)char類型進(jìn)行運(yùn)算時(shí),首先轉(zhuǎn)換成int類型。同時(shí)大家也可以多看看ASCII碼表,記住a在表中的順序?yàn)?7,A的順序?yàn)?5。格式輸出時(shí)第一個(gè)為整型,第二個(gè)為字符型。c2-c1相差為3。c2-'a'=4,4+‘A’=69,打印時(shí)是字符型,所以順序69的字符為E15.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為()[單選題]*A、0B、1C、2(正確答案)D、3答案解析:題目要求為求n的值,看題目知該式子的最終結(jié)果要么為0要么為1,因?yàn)槭沁壿嬛担?&存在短路現(xiàn)象。如果(左邊&&右邊),左邊為假的話,那么整個(gè)式子都為假,沒必要判斷右邊式子的邏輯值。(m=a>b)中,a>b為假即0,所以m=0,由0為假,非0為真,知&&左邊式子的值為0,故不需要進(jìn)行右邊式子的計(jì)算。所以n任然為原值2.16.設(shè)inta=12,則執(zhí)行完語句a+=a-=a*a后,a的值是()[單選題]*A、552B、264C、144D、-264(正確答案)答案解析:注意優(yōu)先級(jí)和結(jié)合性,優(yōu)先級(jí)從大到小為*,-=(+=),且賦值的結(jié)合性是從右邊過來。a*a=144,a-=144為a=a-144值為-132,即a=-132;a+=a值為-132+-132=-264.17.設(shè)a,b和c都是int型變量,且a=3,b=4,c=5,則下列表達(dá)式中,值為0的表達(dá)式是()[單選題]*A、'a'&&'b'B、a<=bC、a||b+c&&b-cD、!((a<b)&&!c||1)(正確答案)答案解析:'a'&&'b',&&的結(jié)果要么為0(假)要么為1(真).&&左右兩邊都為非0,即真,所以真&&真,結(jié)果還是為真,值為1;a<=b,為真,值為1;a||b+c&&b-c中,優(yōu)先級(jí)是+-,再&&,||,b+c&&b-c,9&&-1為真,值為1,a||1,真||真,值為1;!((a<b)&&!c||1)中。計(jì)算的順序分別為()、!、||、括號(hào)外的!,?。?&&!c||1)中c=5,非0,所以為真,!c則為假。故最終結(jié)果為假,值為0.18.設(shè)x.y.z和k都是int型變量,則執(zhí)行表達(dá)式:x=(y=4,z=16,k=32)后,x的值為()[單選題]*A、4B、16C、32(正確答案)D、52答案解析:逗號(hào)運(yùn)算符運(yùn)算:結(jié)合順序是從左至右,用來順序求值,整個(gè)表達(dá)式子的值是最后一個(gè)表達(dá)式的值。x的值是后面式子的值賦值給x的,(y=4,z=16,k=32)整體的值為最后一個(gè)逗號(hào)后面式子的值。x=32。19.設(shè)x=3,y=-4,z=6,!(x>y)+(y!=z)||(x+y)&&(y-z)寫出表達(dá)式的結(jié)果()[單選題]*A、0B、1(正確答案)C、-1D、6答案解析:考察關(guān)系運(yùn)算符、邏輯運(yùn)算符等的優(yōu)先級(jí)和計(jì)算。先(),算術(shù)、再關(guān)系,最后邏輯。邏輯運(yùn)算的結(jié)果要么為1要么為0。!(x>y)+(y!=z)||(x+y)&&(y-z)相當(dāng)于是(!(x>y))+(y!=z)||((x+y)&&(y-z))?;?jiǎn)的結(jié)果是(!1+1)||1,1||1,最終結(jié)果為1.20.設(shè)x和y均為int型變量,則以下語句:x+=y;y=x-y;y=x-y;x-=y;的功能是()[單選題]*A、把x和y按從大到小排列B、把x和y按從小到大排列C、無確定結(jié)果D、交換x和y中的值(正確答案)答案解析:可以假設(shè)x=3,y=4,經(jīng)過這幾步運(yùn)算后,看下最終結(jié)果,x和y的值。其實(shí)是值交換了。自己可以動(dòng)手試試。這是一種不需要借助第三個(gè)變量,交換兩者值的一種方法。21.設(shè)有intx=11;則表達(dá)式(x++*1/3)的值是()[單選題]*A、3(正確答案)B、4C、11D、12答案解析:考察運(yùn)算符。x++是先進(jìn)行運(yùn)算再自身加1.*/是同種優(yōu)先級(jí),結(jié)合性從左到右,相當(dāng)于(11*1)/3=3,運(yùn)算完后,再x自身加1為12.22.設(shè)有如下的變量定義:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;則以下符合C語言語法的表達(dá)式是()[單選題]*A、a+=a-=(b=4)*(a=3)(正確答案)B、x%(-3)C、a=a*3=2D、y=float(i)答案解析:x%(-3)中,%要求左右兩邊得是整型,x是double;a=a*3=2,賦值運(yùn)算符的結(jié)合性是從右到左,即把2賦值給a*3,這顯然不可以。y=float(i),y為double,可它想把int的i轉(zhuǎn)為float。且這種強(qiáng)制類型轉(zhuǎn)換是個(gè)錯(cuò)誤的寫法。這是C++的寫法。23.設(shè)有如下定義:intx=10,y=3,z;則語句printf("%d\n",z=(x%y,x/y));的輸出結(jié)果是()[單選題]*A、1B、0C、4D、3(正確答案)答案解析:逗號(hào)運(yùn)算符,運(yùn)算時(shí),從左到右運(yùn)算,但整個(gè)式子的結(jié)果是最后一個(gè)逗號(hào)后面式子的值。即x/y。10/3=3。這都是int類型,所以結(jié)果是取整數(shù)部分為3,并不是3.3哦,也不是四舍五入(4)。24.intmain()
{
inta=1,b=2;
printf("%d\n",a=a+1,a+6,b+2);
}
則上面程序的輸出結(jié)果是()[單選題]*A、2(正確答案)B、3C、4D、1答案解析:注意這里不是(a=a+1,a+6,b+2)哦,不然結(jié)果是4。格式控制輸出時(shí),得對(duì)應(yīng),只有一個(gè)%d,那么對(duì)應(yīng)第一個(gè)變量。a=a+1.結(jié)果為2.25.intmain()
{
doubled;
floatf;
longl;
inti;
i=f=l=d=20/3;
printf("%d%ld%f%f\n",i,l,f,d);
}
程序執(zhí)行后的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位)()[單選題]*A、666.06.0(正確答案)B、666.76.7C、666.06.7D、666.76.0答案解析:賦值運(yùn)算符的結(jié)合性是從右邊過來,這里涉及到自動(dòng)轉(zhuǎn)換,注意類型。所以20/3=6,d=6.0,6.0再轉(zhuǎn)換成long類型的l.l=6,f=6.0,i=626.下列可作為C語言賦值語句的是()[單選題]*A、x=3,y=5B、a=b=6C、i--;(正確答案)D、y=int(x);答案解析:語句必須得分號(hào),y=int(x);這是C++的強(qiáng)制類型轉(zhuǎn)換。i--;相當(dāng)于i=i+1,這是正確的27.下列運(yùn)算符其優(yōu)先級(jí)最高的是()[單選題]*A、||B、&&C、+(正確答案)D、=答案解析:查看運(yùn)算符的優(yōu)先級(jí)表可知,算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符>條件運(yùn)算符>賦值運(yùn)算符>逗號(hào)運(yùn)算符。28.inta=7,b=6;b=(++b)+(a++);寫出上列語句執(zhí)行后a,b的值()[單選題]*A、a=8,b=14(正確答案)B、a=7,b=8C、a=14,b=14D、a=8,b=8答案解析:++b,++在前,先自身加1,b=7,a++是先a進(jìn)行計(jì)算,再自身加1。b=7+7=14,a自加1為8.29.一個(gè)C語言的語句至少應(yīng)包一個(gè)()[單選題]*A、{}B、逗號(hào)C、分號(hào)(正確答案)D、什么不要答案解析:語句得有個(gè)分號(hào)。30.語句:printf("%d",(a=2)&&(b=-2);的輸出結(jié)果是()[單選題]*A、無輸出B、結(jié)果不確定C、-1D、1(正確答案)答案解析:邏輯與的結(jié)果要么為1要么為0.非0為真,0為假。&&兩邊都為真,故為真,則值為1.31.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是()[單選題]*A、%(正確答案)B、/C、<D、!答案解析:C語言規(guī)定,求余操作要求,%左右兩邊操作數(shù)都得是整型,可上機(jī)嘗試。32.在以下一組運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是()[單選題]*A、<=B、=C、%(正確答案)D、&&答案解析:可以查看運(yùn)算符的優(yōu)先級(jí)表。查看運(yùn)算符的優(yōu)先級(jí)表可知,算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符>條件運(yùn)算符>賦值運(yùn)算符>逗號(hào)運(yùn)算符,算術(shù)運(yùn)算符的%最高。33.在下列選項(xiàng)中,不正確的賦值語句是()[單選題]*A、++t;B、n1=(n2=(n3=0));C、k=i==j;D、a=b+c=1;(正確答案)答案解析:考察的是運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。賦值運(yùn)算符的優(yōu)先級(jí)最低、結(jié)合性是從右到左。a=b+c=1中,1的值給a+b,這是不可以的,a+b不是個(gè)變量,而是個(gè)表達(dá)式。++t相當(dāng)于i=i+1;k=i==j相當(dāng)于k=(i==j);34.intmain()
{
inta=-1,b=4,k;
k=(++a<0)&&!(b--<=0);
printf("%d%d%d\n",k,a,b);
}
程序的輸出結(jié)果是()[單選題]*A、104B、103C、003D、004(正確答案)答案解析:考查運(yùn)算符的優(yōu)先級(jí),()最優(yōu)、且&&存在短路現(xiàn)象,如果A&&B,A為假,則整個(gè)式子為假,不需要判斷B。++a先自身加1,再判斷故0<0為假,整個(gè)式子為假,后面的不需要進(jìn)行運(yùn)算,故k=0,a=0,b=4(還是原來的值,未參與運(yùn)算).35.intmain(){intx=10,y=3;printf("%d\n",y=x/y);}程序的輸出是()[單選題]*A、0B、1C、3(正確答案)D、不確定的值答案解析:x,y都為int類型,故int/int=int,所以y=10/3=3.36.intx=10;inty=x++;printf("%d,%d",(x++,y),y++);則上面程序的輸出結(jié)果是()[單選題]*A、11,10(正確答案)B、11,11C、10,10D、10,11答案解析:這題有坑,建議了解就行。當(dāng)遇到i++出現(xiàn)在printf中時(shí),不一樣的編譯器處理起來效果可能不一樣,以DEV為例,((x++,y),y++);實(shí)際上它是從右邊過來的。先y++,再((x++,y)??疾槎禾?hào)表達(dá)式,i++。逗號(hào)表達(dá)式求值:結(jié)合順序是從左至右,用來順序求值,完畢之后整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值。inty=x++;表示x先參與運(yùn)算,賦值給y,y=10,自身加1,x=11,y++輸出(第二個(gè)%d對(duì)應(yīng)的)y為10,自身加1,y=11;(x++,y)整個(gè)式子的值是y=11的值,但從左到右過來計(jì)算,先計(jì)算x++,(x++,y)完后,x=12。這題當(dāng)作是了解。37.intx=10y=3;printf("%d,%d\n",x--,--y);則以下語句的輸出結(jié)果是()[單選題]*A、10,3B、9,3C、9,2D、10,2(正確答案)答案解析:考查x--,--y,x--是x先參與運(yùn)算(輸出10),自身減1,--y是自身減1,再參與運(yùn)算(輸出為2)。38.設(shè)intx=1,y=1;表達(dá)式(!x||y--)的值是()[單選題]*A、0B、1(正確答案)C、2D、-1答案解析:考查y--,邏輯或、邏輯非、優(yōu)先級(jí)(!>||),且還得時(shí)刻留意||短路問題,假設(shè)A||B,如果A為真,則整個(gè)式子為真,則B不需要進(jìn)行運(yùn)算。非0為真,0為假,!1=0,y=1為真,之后自減為0,所以假|(zhì)|真,則整個(gè)式子為真(1).39.若有說明和語句:inta=5;a++;此處表達(dá)式a++的值是()[單選題]*A、7B、6C、5(正確答案)D、4答案解析:考查的是a++,a先運(yùn)算,再自身加1。啥時(shí)候加1呢,即這個(gè)語句運(yùn)行完了,指行下一句時(shí),自身加1,顯然這里說的是a++的值,故為5,如果問的是a++;執(zhí)行完后a的值是多少,則為6。所以注意坑。40.若變量a、i已正確定義,且i已正確賦值,合法的語句是()[單選題]*A、a==iB、++i;(正確答案)C、a=a++=5;D、a=int(i);答案解析:考查賦值語句(=)。++i相當(dāng)于是i=i+1;a++=5沒這樣的寫法;a=int(i);這是C++的強(qiáng)制類型轉(zhuǎn)換,C語言的形式為:a=(int)i。41.能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是()[單選題]*A、(a>=0‖b>=0)&&(a<0‖b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>0(正確答案)答案解析:題目意思是a,b同時(shí)為正或者同時(shí)為負(fù),否可以使整個(gè)式子為真,根據(jù)數(shù)學(xué)知識(shí)可知,a*b>0滿足要求。42.假設(shè)在程序中a,b,c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數(shù)式的表達(dá)式是()[單選題]*A、1/a*b*cB、1/(a*b*c)C、1/a/b/(float)cD、1.0/a/b/c(正確答案)答案解析:考查自動(dòng)轉(zhuǎn)換、強(qiáng)制類似轉(zhuǎn)換。題目要求式子在數(shù)學(xué)當(dāng)中的結(jié)果和在C語言當(dāng)中的結(jié)果是一樣的。假設(shè)a=b=c=2;(1/2)*2*2=0,因?yàn)槭莍nt/int;1/(a*b*c)值為0;1/a/b/(float)c,其中1/a=0,故整個(gè)式子都為0;1.0/a/b/c中,1.0/a,即double/int轉(zhuǎn)為double/double則為小數(shù),后面的計(jì)算全轉(zhuǎn)為小數(shù),則可以符合數(shù)學(xué)當(dāng)中的式子。43.假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是()[單選題]*A、3.500000B、3C、2.000000D、3.000000(正確答案)答案解析:考查自動(dòng)類型轉(zhuǎn)換。當(dāng)進(jìn)行計(jì)算時(shí),低類型向高類型進(jìn)行轉(zhuǎn)換,運(yùn)算符的優(yōu)先級(jí)(從大到?。?、+、=),逗號(hào)表達(dá)式(整個(gè)表達(dá)式的值為最后一個(gè)逗號(hào)后面式子的值)y=x+1,y=2.0+1=3.0。44.假定w、x、y、z、m均為int型變量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;則該程序運(yùn)行后,m的值是()[單選題]*A、4B、3C、2D、1(正確答案)答案解析:考查條件表達(dá)式,考查條件表達(dá)式。A?B:C,如果A表達(dá)式為真,則執(zhí)行B,否則執(zhí)行C。第一個(gè)式子,(w<x)?w:x;1<2為真,則m=w=1;m=(m<y)?m:y;m=1;m=(m<z)?m:z;m=1。45.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是()[單選題]*A、c=b=a;B、(a=c)‖(b=c);C、(a=c)&&(b=c);(正確答案)D、a=c=b;答案解析:解析:考查||、&&都存在短路的情況。A&&B,如果A為假,則整個(gè)式子為假,不需要判斷B;A||B,如果A為真,則整個(gè)式子為真,不需要判斷B。a=c=b;c=b=a;都很容易排除。(a=c)‖(b=c);存在短路現(xiàn)象,假設(shè)c=1,則a=1,為真,所以(b=c)不執(zhí)行了。46.i=5;i=i++*4+2;程序的輸出結(jié)果是()[單選題]*A、5B、6C、23(正確答案)D、26答案解析:考查運(yùn)算符的優(yōu)先級(jí),從高到低依次為++、*、+,i++表示先運(yùn)算,然后i自身加1,故i=5*4+2=22,再自身加1為23.47.intmain()
{
intx,y,z;
x=y=z=0;
++x||++y||++z;
printf(“%d,%d,%d\n”,x,y,z);
}
程序的輸出結(jié)果是()[單選題]*A、1,1,1B、1,0,0(正確答案)C、1,1,0D、1,0,1答案解析:考查||短路現(xiàn)象。A||B,如果A為真,則整個(gè)式子為真,不需要判斷B。++x||++y;++x即先自身加1為1,非0為真,0為假,所以左邊為真,故出現(xiàn)短路,++y不需要判斷(執(zhí)行);真||++z中,也因?yàn)槎搪番F(xiàn)象,++z不需要判斷(執(zhí)行).48.若a=5,b=3,c=4,邏輯表達(dá)式!(a+b)&&!c的值為()[單選題]*A、0(正確答案)B、-1C、1D、2答案解析:考查邏輯運(yùn)算符的優(yōu)先級(jí)。從高到底為,()、!、&&。非0為真,0為假。!8&&!4即真&&真則整個(gè)式子為真。即1.49.347、設(shè)x的值為4,則表達(dá)式(++x)+(++x)+(++x)的值是()[單選題]*A、12B、19(正確答案)C、16D、21答案解析:考查++x。只需了解這題,實(shí)際并沒什么作用,編譯器不同,結(jié)果也可能會(huì)不同,平常也不會(huì)這么用,了解就好了。編譯器先算前兩個(gè)相加,6+6+7=19。50.設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,y的值為()[單選題]*A、不定值B、4C、3(正確答案)D、1答案解析:考查運(yùn)算符的優(yōu)先級(jí)。優(yōu)先級(jí)從大到小依次為++、||。且||存在邏輯短路現(xiàn)象,A||B,如果A為真,則整個(gè)式子為真,即B不需要判斷。由非0為真,0為假,則++x后,x=4,則整個(gè)式子為真,++y不需要判斷,所以y的值仍然為3.51.設(shè)ch是char型變量,其值為A,且有下面的表達(dá)式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是()[單選題]*A、AB、a(正確答案)C、ZD、z答案解析:考查考查條件表達(dá)式、ASCII碼表,記住兩標(biāo)志性的字符,a:97,A:65,故相差97-65=32。A>B?A:B這是條件表達(dá)式,當(dāng)A>B為真,則A的值為整個(gè)式子的值,否則B的值為整個(gè)式子的值。題目意思為如果字符是大寫字母,則把它轉(zhuǎn)換成小寫字母,否則就不轉(zhuǎn)換。52.若有定義語句:intk1=10,k2=20;執(zhí)行表達(dá)式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分別為()[單選題]*A、0和1B、0和20(正確答案)C、10和1D、10和20答案解析:考查運(yùn)算符的優(yōu)先級(jí),&&的短路。從高到低依次為()、>、&&、=。邏輯與(&&)的結(jié)果要么為1要么為0、非0為真,0為假。A&&B兩邊都為真,則為真,如&&左邊A為假,則出現(xiàn)短路,則右邊B也不需要判斷,整個(gè)式子的值為假。當(dāng)存在為假時(shí),整個(gè)式子為假。兩邊都為真,則為真。>的值為邏輯值,要么為1要么為0。(k1=k1>k2),10>20為假(0),故k1=0,整個(gè)式子為假,不需要進(jìn)行右邊的判斷。故k2仍然為20、53.假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,b++,a+b)的值是()[單選題]*A、7B、8(正確答案)C、6D、2答案解析:考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式:結(jié)合順序是從左至右,用來順序求值,完畢之后整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值(最后一個(gè)逗號(hào)后面式子的值)。(a=2,b=5,b++,a+b)的值為a+b的值。從左到右過來,b++完成后為b=6,a+b=8。54.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()[單選題]*A、4B、32(正確答案)C、16D、52答案解析:考查逗號(hào)表達(dá)式。逗號(hào)表達(dá)式:結(jié)合順序是從左至右,用來順序求值,完畢之后整個(gè)表達(dá)式的值是最后一個(gè)表達(dá)式的值(最后一個(gè)逗號(hào)后面式子的值)。x=(i=4,j=16,k=32)的值為x=k=32.55.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()[單選題]*A、charB、doubleC、不確定D、float(正確答案)答案解析:考查類型的自動(dòng)轉(zhuǎn)換,為了保證不同類型進(jìn)行運(yùn)算后結(jié)果的精度,要求低類型向高類型轉(zhuǎn)換。sqrt表示開平方,其值為double,double是個(gè)高類型,故可知最終結(jié)果類型為double。56.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)的值是()[單選題]*A、不知道a的值,不能確定B、0C、2D、1(正確答案)答案解析:考查運(yùn)算符優(yōu)先級(jí)。從高到底依次為()、!、||。且得當(dāng)心||有可能存在短路現(xiàn)象。假設(shè)A||B,如果A為真,則整個(gè)式子為真,則B不需要進(jìn)行運(yùn)算。當(dāng)A和B都為假時(shí)才為假。假設(shè)a=1,則整個(gè)式子為真,假設(shè)a!=1,a=2,則||為真,整個(gè)式子為真,即1,所以為1.57.判斷字符型變量c1是否為小寫字母的正確表達(dá)式為()[單選題]*A、('a'>=c1)||('z'<=c1)B、(c1>='a')&&(c1<='z')(正確答案)C、(c1>=a)&&(c1<=z)D、'a'<=c1<='z'答案解析:考查小寫字母字符。c1為小寫字母字符,故應(yīng)該是在a-z之間。所以同時(shí)滿足條件用&&。58.以下選項(xiàng)中,能表示邏輯值“假”的是()[單選題]*A、0、000001B、0(正確答案)C、100、0D、1答案解析:考查布爾值(邏輯的真假)。對(duì)于數(shù)值型,非0為真,0為假。59.設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()[單選題]*A、floatB、不確定C、double(正確答案)D、int答案解析:考查類型的自動(dòng)轉(zhuǎn)換,為了保證不同類型進(jìn)行運(yùn)算后結(jié)果的精度,要求低類型向高類型轉(zhuǎn)換。i是雙精度型,為式子中最高類型,所以結(jié)果也為最高類型。計(jì)算規(guī)則是,i*f,i為float類型,進(jìn)行運(yùn)算時(shí)轉(zhuǎn)為double,類型,接下來10+'a',int+char,char轉(zhuǎn)為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔科用牙科診療中的人工智能應(yīng)用考核試卷
- 太陽能發(fā)電政策支持考核試卷
- 保險(xiǎn)業(yè)與教育保險(xiǎn)市場(chǎng)的開發(fā)考核試卷
- 油工工程合同范本
- 增資入股合同范本
- 婚禮人員合同范本
- 2025年01月安徽黃山市消防救援支隊(duì)公開招聘政府專職消防隊(duì)員60人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解-1
- 報(bào)刊新聞選題與編輯技巧提升考核試卷
- 積極反饋在團(tuán)隊(duì)中的作用總結(jié)計(jì)劃
- 科技對(duì)古典音樂欣賞方式的影響
- 二年級(jí)下冊(cè)科學(xué)考點(diǎn)歸納
- 債權(quán)法總論課件
- 醫(yī)院先進(jìn)科室、先進(jìn)個(gè)人評(píng)選辦法
- 新部編版四年級(jí)下冊(cè)道德與法治全冊(cè)優(yōu)秀教學(xué)課件(1-12課)
- 港口危險(xiǎn)貨物安全管理人員機(jī)考試題庫(kù)(含答案)
- 諫太宗十思疏(高中語文PPT課件)
- 門診醫(yī)師出診申請(qǐng)表(2022版)
- 材料進(jìn)場(chǎng)檢驗(yàn)項(xiàng)目清單
- 開學(xué)第一課學(xué)生心理調(diào)適家長(zhǎng)會(huì)PPT
- (版)九年級(jí)化學(xué)學(xué)情分析報(bào)告
- 口腔科四手操作[]通用課件
評(píng)論
0/150
提交評(píng)論