2.1 單項選擇題
1.下列字符列中,可以作為“字符串常量”的是( )
① ABC ② ABC” ③’abc’ ④’a’
【解】C程序中,一個字符率常量是表示一個字符序列,書寫時,用雙引號字符前后括住這個字符序列。所以只有”ABC”是一個正確的字符率常量,其余都不是。其中,ABC可作為標識符,字符列’abc’不能出現(xiàn)在C程序中,’a’是一個字符常量。所以解答是②。
2.在以字節(jié)存儲字符的系統(tǒng)中,’\n ’在內(nèi)存占用的字節(jié)數(shù)是( )
①1 ②2 ③3 ④4
【解】一般來說,一個字符在內(nèi)存中只占1個字節(jié),’\n’是轉(zhuǎn)義字符,其意義是換行符,它作為一個字符存儲,在內(nèi)存也只占五個字節(jié)。所以解答是①。
3.字符串”XyZ”在內(nèi)存占用的字節(jié)數(shù)是( )
①3 ②4 ③6 ④8
【解】字符串中的每個字符占1個字節(jié),但C程序在存儲字符串時,要在最后一個有效字符后面接上 1個字符串結(jié)束的標記符’\0’。這樣,存儲字符串常量”xyZ”需要 4個字節(jié)。所以解答是②。
4.在以下字符列中,合法的長整型常數(shù)是( )
① OL ② 4962710 ③ 0.054838743 ④ 2.1869el0
【解】為表示不同范圍的整數(shù),整型數(shù)據(jù)分短整型、基本型和長整型,并對三種整型內(nèi)部表示的最高位的不同理解,又分別分成無符號和帶符號兩種。若要明確指明一個整數(shù)是長整型的,必須在整數(shù)之后接上字符’L’。所以O(shè)L是一個長整型的整型常量,而4962710是基本整型數(shù)據(jù),而對于用2個字節(jié)表示一個基本整型數(shù)據(jù)的系統(tǒng)來說,該整數(shù)將因超出范圍而是一個錯誤的整數(shù);0.054839743和2.1869el0都是double型的實數(shù)。所以解答是①。
5.一個char型數(shù)據(jù),它的值在內(nèi)存中存放的是()
①ASCll代碼值 ②BCD代碼值 ③內(nèi)碼值 ④十進制代碼值
【解】計算機存儲字符,通常是存儲字符的某種代碼值。有許多種字符編碼的方法,最流行的是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
【解】計算(m=a==b)||(n=c==d)的過程是先計算邏輯或的左運算分量(m=a==b)的值,由于賦位運算符的優(yōu)先級比關(guān)系運算符==的優(yōu)先級低,又先計算 a==b。因 a,b均為0后,所以比較結(jié)果值為1。將1賦給變量m,使變量m的值變?yōu)? 。同時這個賦值運算的結(jié)果也是1,這樣邏輯運算的左運算分量的值為1。由于邏輯或運算的左運算分量值為1,按照C語言對邏輯或運算優(yōu)化計算的規(guī)定,不再計算邏輯或的右運算分量,而直接得到邏輯或運算的結(jié)果為1 。由于邏輯或的右運算分量不曾計算過,所以變量n的值也不為變化。這樣,上述表達式計算后,變量m的情為1,變量n的值為0。所以解答是③。
7.設(shè)a為5,執(zhí)行下列計算后,b的值不為2的是( )
① b=a/2 ② b=6-(--a) ③ b=a%2 ④ b=a<3?3:2
【解】因兩個整型數(shù)據(jù)相除,結(jié)果是整數(shù),當(dāng)a的值為5時,計算表達式b=a/2后,使b的值為2。計算表達式b=6-(--a)是先計算子表達式(--a)的,先讓a的值減1變成4,并以減1后的a為子表達式的結(jié)果,所以子表達式的結(jié)果為4,最后使b的值為2。在計算表達式b= a%2時,求余運算a%2的結(jié)果為1,最后使變量b的值為1。計算表達式b=a<3?3:2時,先計算條件表達式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
【解】計算表達式x=(a=3,b=a--)時,先計算賦值號右端圓括號內(nèi)的逗號表達式。遠號表達式要求各子表達式順序計算,并以最后予表達式的值為整個逗號表達式的結(jié)果。所以該表達式計算時,先讓變量a的值為3,a--的值是a當(dāng)時的值,以該值為結(jié)果賦給變量b,并以該值為遠號表達式的值賦給變量x,然后a的值被減少1。所以計算該表達式后,使變量x,a,b的值依次為3,2,3。所以解答是③。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |