国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

高級(jí)語言程序設(shè)計(jì):第二章習(xí)題解答

時(shí)間:2008-09-20 02:08:00   來源:無憂考網(wǎng)     [字體: ]
2.1 單項(xiàng)選擇題


1.下列字符列中,可以作為“字符串常量”的是( )
① ABC ② ABC” ③’abc’ ④’a’

【解】C程序中,一個(gè)字符率常量是表示一個(gè)字符序列,書寫時(shí),用雙引號(hào)字符前后括住這個(gè)字符序列。所以只有”ABC”是一個(gè)正確的字符率常量,其余都不是。其中,ABC可作為標(biāo)識(shí)符,字符列’abc’不能出現(xiàn)在C程序中,’a’是一個(gè)字符常量。所以解答是②。

2.在以字節(jié)存儲(chǔ)字符的系統(tǒng)中,’\n ’在內(nèi)存占用的字節(jié)數(shù)是( )
①1 ②2 ③3 ④4
【解】一般來說,一個(gè)字符在內(nèi)存中只占1個(gè)字節(jié),’\n’是轉(zhuǎn)義字符,其意義是換行符,它作為一個(gè)字符存儲(chǔ),在內(nèi)存也只占五個(gè)字節(jié)。所以解答是①。

3.字符串”XyZ”在內(nèi)存占用的字節(jié)數(shù)是( )
①3 ②4 ③6 ④8
【解】字符串中的每個(gè)字符占1個(gè)字節(jié),但C程序在存儲(chǔ)字符串時(shí),要在最后一個(gè)有效字符后面接上 1個(gè)字符串結(jié)束的標(biāo)記符'\0'。這樣,存儲(chǔ)字符串常量”xyZ”需要 4個(gè)字節(jié)。所以解答是②。

4.在以下字符列中,合法的長整型常數(shù)是( )
① OL ② 4962710 ③ 0.054838743 ④ 2.1869el0
【解】為表示不同范圍的整數(shù),整型數(shù)據(jù)分短整型、基本型和長整型,并對(duì)三種整型內(nèi)部表示的位的不同理解,又分別分成無符號(hào)和帶符號(hào)兩種。若要明確指明一個(gè)整數(shù)是長整型的,必須在整數(shù)之后接上字符’L’。所以O(shè)L是一個(gè)長整型的整型常量,而4962710是基本整型數(shù)據(jù),而對(duì)于用2個(gè)字節(jié)表示一個(gè)基本整型數(shù)據(jù)的系統(tǒng)來說,該整數(shù)將因超出范圍而是一個(gè)錯(cuò)誤的整數(shù);0.054839743和2.1869el0都是double型的實(shí)數(shù)。所以解答是①。

5.一個(gè)char型數(shù)據(jù),它的值在內(nèi)存中存放的是()

①ASCll代碼值 ②BCD代碼值 ③內(nèi)碼值 ④十進(jìn)制代碼值
【解】計(jì)算機(jī)存儲(chǔ)字符,通常是存儲(chǔ)字符的某種代碼值。有許多種字符編碼的方法,最流行的是ASCII代碼。在C語言中,Char型數(shù)據(jù)也用ASCII代碼表示。所以解答是①。

6.設(shè)變量 m,n,a,b,c,d均為以執(zhí)行(m=a==)||(n=c==d)后,m,n的值是( )
①0,0 ②0,1 ③l,0 ④1,1
【解】計(jì)算(m=a==b)||(n=c==d)的過程是先計(jì)算邏輯或的左運(yùn)算分量(m=a==b)的值,由于賦位運(yùn)算符的優(yōu)先級(jí)比關(guān)系運(yùn)算符==的優(yōu)先級(jí)低,又先計(jì)算 a==b。因 a,b均為0后,所以比較結(jié)果值為1。將1賦給變量m,使變量m的值變?yōu)? 。同時(shí)這個(gè)賦值運(yùn)算的結(jié)果也是1,這樣邏輯運(yùn)算的左運(yùn)算分量的值為1。由于邏輯或運(yùn)算的左運(yùn)算分量值為1,按照C語言對(duì)邏輯或運(yùn)算優(yōu)化計(jì)算的規(guī)定,不再計(jì)算邏輯或的右運(yùn)算分量,而直接得到邏輯或運(yùn)算的結(jié)果為1 。由于邏輯或的右運(yùn)算分量不曾計(jì)算過,所以變量n的值也不為變化。這樣,上述表達(dá)式計(jì)算后,變量m的情為1,變量n的值為0。所以解答是③。

7.設(shè)a為5,執(zhí)行下列計(jì)算后,b的值不為2的是( )
① b=a/2 ② b=6-(--a) ③ b=a%2 ④ b=a<3?3:2
【解】因兩個(gè)整型數(shù)據(jù)相除,結(jié)果是整數(shù),當(dāng)a的值為5時(shí),計(jì)算表達(dá)式b=a/2后,使b的值為2。計(jì)算表達(dá)式b=6-(--a)是先計(jì)算子表達(dá)式(--a)的,先讓a的值減1變成4,并以減1后的a為子表達(dá)式的結(jié)果,所以子表達(dá)式的結(jié)果為4,最后使b的值為2。在計(jì)算表達(dá)式b= a%2時(shí),求余運(yùn)算a%2的結(jié)果為1,最后使變量b的值為1。計(jì)算表達(dá)式b=a<3?3:2時(shí),先計(jì)算條件表達(dá)式a<3?3:2,以2為結(jié)果,最后也使變量b的值為人所以解答是③。

8.執(zhí)行語句“x=(a=3,b=a—-);”后,X,a,b的值依次為( )
①3,3,2 ②2,3,2 ③3,2,3 ④2,3,3
【解】計(jì)算表達(dá)式x=(a=3,b=a--)時(shí),先計(jì)算賦值號(hào)右端圓括號(hào)內(nèi)的逗號(hào)表達(dá)式。遠(yuǎn)號(hào)表達(dá)式要求各子表達(dá)式順序計(jì)算,并以最后予表達(dá)式的值為整個(gè)逗號(hào)表達(dá)式的結(jié)果。所以該表達(dá)式計(jì)算時(shí),先讓變量a的值為3,a--的值是a當(dāng)時(shí)的值,以該值為結(jié)果賦給變量b,并以該值為遠(yuǎn)號(hào)表達(dá)式的值賦給變量x,然后a的值被減少1。所以計(jì)算該表達(dá)式后,使變量x,a,b的值依次為3,2,3。所以解答是③。

9.設(shè)整型變量m,n,a,b,c,d均為1,執(zhí)行“( m=a>b)&&(n=a>b)"后m,n的值是( )
①0,0 ②0,l ③1,0 ④1 ,l
【解】表達(dá)式(m=a >b)&&(n=a >b)是一個(gè)邏輯表達(dá)式,它的計(jì)算過程是先計(jì)算邏輯與的左分量(m=a>b,其中又是先計(jì)算a>b。因a>b不成立,結(jié)果為0,將0賦給變量m,最后邏輯與的左分量結(jié)果為0。由于邏輯運(yùn)算采用特別的優(yōu)化計(jì)算規(guī)則,當(dāng)邏輯與的左分量結(jié)果為0時(shí),不再計(jì)算邏輯與的右分量,而直接以0為邏輯與的結(jié)果。所以,上述表達(dá)式計(jì)算使m的值變?yōu)?,而n的值沒有變,依舊為l。所以解答是②。

10,設(shè)有代碼“int a=3;”,則執(zhí)行了語句“a+=a-= a*a;”后,變量a的值是( )
①3 ② 0 ③ 9 ④ -12
【解】由于賦值運(yùn)算符的結(jié)合性自右至左,語句“a+=a-=a*a;”的執(zhí)行是先計(jì)算a*a,得到值 9,再計(jì)算 a-=a*a,使 a的值為-6,接著計(jì)算 a+=a,使 a的值為-12。所以解答是④。

11.在以下一組運(yùn)算符中,優(yōu)先級(jí)的運(yùn)算符是( )

①<= ②= ③% ④&&
【解】常規(guī)運(yùn)算符的優(yōu)先級(jí)自高到低的排列順序是算術(shù)運(yùn)算符、移位運(yùn)算符、關(guān)系運(yùn)算符。按位運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符、賦值運(yùn)算符、逗號(hào)運(yùn)算符。所以問題所給的四個(gè)運(yùn)算符按優(yōu)先級(jí)自高到低的排列順序是%,<=,&&,=。所以解答是③。

12.設(shè)整型變量i的值為3,則計(jì)算表達(dá)式i---i后表達(dá)式的值為( )
①0 ②l ③2 ④表達(dá)式出錯(cuò)
【解】有些運(yùn)算符只有一個(gè)字符,也有許多運(yùn)算符由兩個(gè)字符組成。特別是有些字符既可是單個(gè)字符的運(yùn)算符,又能組成雙字符的運(yùn)算符。編譯系統(tǒng)在識(shí)別源程序時(shí),通常是盡量多地讀八字符,能組成多字符單詞的先盡量組成多字符單詞。所以表達(dá)式i---i,被編譯器理解為(i--)-i。另外,當(dāng)表達(dá)式中某變量有后綴自增和自減運(yùn)算時(shí),先按變量的原值計(jì)算表達(dá)式,然后再對(duì)變量進(jìn)行自增和自減運(yùn)算。同樣地,當(dāng)表達(dá)式中某變量有前綴自增和自減運(yùn)算時(shí),先對(duì)變量進(jìn)行自增和自減運(yùn)算,然后再按變量的新值計(jì)算表達(dá)式。按這個(gè)約定,求表達(dá)式(i--)-i是計(jì)算i-i的值為0,然后再對(duì)i作自減運(yùn)算。這樣,表達(dá)式(i--)-i的值為0。所以解答是①。

13.設(shè)整型變量 a、b、c均為2,表達(dá)式 a+++b+++c++ 的結(jié)果是( )
①6 ②9 ③8 ④表達(dá)式出錯(cuò)
【解】與上一小題解答的理由相同,表達(dá)式a+++b+++c++被系統(tǒng)理解成:((a++)+(b++))+c++)。表達(dá)式“變量++”的值是變量的原來值,所以在變量a、b.c均為2的前題下,執(zhí)行上述表達(dá)式,得到結(jié)果為6。所以解答是①。

14.若已定義 x和 y為double類型,則表達(dá)式: x=l, y=x+3/2結(jié)果是( )
①l ②2 ③2.0 ④2.5
【解】由于變量x和y都是double類型,表達(dá)式 x=l, y=x+3/2是先計(jì)算 x=1,由于 1是整型的,x是double類型的,該計(jì)算先將整數(shù)1轉(zhuǎn)換成double類型的1.0,并將1.0賦給變量x。計(jì)算 y=X+3/2是先求 3/2的值,因是兩整數(shù)相除,結(jié)果是整型值 1,然后在計(jì)算 X+1時(shí),也先將 1轉(zhuǎn)換成 1.0,然后求得 X+l的值為2.0,最后將該值賦給變量 y,并得到整個(gè)表達(dá)式的值為2.0.所以解答是③。

15.設(shè)a=1,b=2,c=3,d=4則表達(dá)式a< b?a:c< d?a:d的結(jié)果為()
①4 ②3 ③2 ④1
【解】條件運(yùn)算符的優(yōu)先級(jí)比關(guān)系運(yùn)算符的優(yōu)先級(jí)低,并且它的結(jié)合性是自右向左的,所以表達(dá)式a<b?a:c<d?a:d可用圓括號(hào)等價(jià)地寫成(a<b?a:((c