軟件設(shè)計師練習題及解析二.doc_第1頁
軟件設(shè)計師練習題及解析二.doc_第2頁
軟件設(shè)計師練習題及解析二.doc_第3頁
軟件設(shè)計師練習題及解析二.doc_第4頁
軟件設(shè)計師練習題及解析二.doc_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

軟件設(shè)計師練習題二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í)行(ma)|(ncd)后,m,n的值是() 0,0 0,1 l,0 1,1 【解】計算(mab)|(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的是( ) ba2 b6-(a) ba2 ba3?3:2 【解】因兩個整型數(shù)據(jù)相除,結(jié)果是整數(shù),當a的值為5時,計算表達式b=a2后,使b的值為2。計算表達式b6-(-a)是先計算子表達式(-a)的,先讓a的值減1變成4,并以減1后的a為子表達式的結(jié)果,所以子表達式的結(jié)果為4,最后使b的值為2。在計算表達式b= a%2時,求余運算a2的結(jié)果為1,最后使變量b的值為1。計算表達式ba3?3:2時,先計算條件表達式a3?3:2,以2為結(jié)果,最后也使變量b的值為人所以解答是。 8執(zhí)行語句“x(a3,ba);”后,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當時的值,以該值為結(jié)果賦給變量b,并以該值為遠號表達式的值賦給變量x,然后a的值被減少1。所以計算該表達式后,使變量x,a,b的值依次為3,2,3。所以解答是。9設(shè)整型變量m,n,a,b,c,d均為1,執(zhí)行“( mab)(nab)后m,n的值是( ) 0,0 0,l 1,0 1 ,l 【解】表達式(ma b)(na b)是一個邏輯表達式,它的計算過程是先計算邏輯與的左分量(mab,其中又是先計算ab。因ab不成立,結(jié)果為0,將0賦給變量m,最后邏輯與的左分量結(jié)果為0。由于邏輯運算采用特別的優(yōu)化計算規(guī)則,當邏輯與的左分量結(jié)果為0時,不再計算邏輯與的右分量,而直接以0為邏輯與的結(jié)果。所以,上述表達式計算使m的值變?yōu)?,而n的值沒有變,依舊為l。所以解答是。 10,設(shè)有代碼“int a3;”,則執(zhí)行了語句“a+=a-= a*a;”后,變量a的值是() 3 0 9 -12 【解】由于賦值運算符的結(jié)合性自右至左,語句“a+=a-=a*a;”的執(zhí)行是先計算a*a,得到值 9,再計算 aa*a,使 a的值為-6,接著計算 aa,使 a的值為-12。所以解答是。 11在以下一組運算符中,優(yōu)先級最高的運算符是() % 【解】常規(guī)運算符的優(yōu)先級自高到低的排列順序是算術(shù)運算符、移位運算符、關(guān)系運算符。按位運算符、邏輯運算符、條件運算符、賦值運算符、逗號運算符。所以問題所給的四個運算符按優(yōu)先級自高到低的排列順序是,。所以解答是。 12設(shè)整型變量i的值為3,則計算表達式i-i后表達式的值為() 0 l 2 表達式出錯 【解】有些運算符只有一個字符,也有許多運算符由兩個字符組成。特別是有些字符既可是單個字符的運算符,又能組成雙字符的運算符。編譯系統(tǒng)在識別源程序時,通常是盡量多地讀八字符,能組成多字符單詞的先盡量組成多字符單詞。所以表達式i-i,被編譯器理解為(i-)-i。另外,當表達式中某變量有后綴自增和自減運算時,先按變量的原值計算表達式,然后再對變量進行自增和自減運算。同樣地,當表達式中某變量有前綴自增和自減運算時,先對變量進行自增和自減運算,然后再按變量的新值計算表達式。按這個約定,求表達式(i-)-i是計算ii的值為0,然后再對i作自減運算。這樣,表達式(i-)-i的值為0。所以解答是。 13設(shè)整型變量 a、b、c均為2,表達式 a+b+c+ 的結(jié)果是() 6 9 8 表達式出錯 【解】與上一小題解答的理由相同,表達式a+b+c+被系統(tǒng)理解成:(a+)+(b+)+c+)。表達式“變量+”的值是變量的原來值,所以在變量a、bc均為2的前題下,執(zhí)行上述表達式,得到結(jié)果為6。所以解答是。 14若已定義 x和 y為double類型,則表達式: xl, yx32結(jié)果是( ) l 2 20 25 【解】由于變量x和y都是double類型,表達式 xl, yx32是先計算 x1,由于 1是整型的,x是double類型的,該計算先將整數(shù)1轉(zhuǎn)換成double類型的1.0,并將1.0賦給變量x。計算 yX32是先求 32的值,因是兩整數(shù)相除,結(jié)果是整型值 1,然后在計算 X1時,也先將 1轉(zhuǎn)換成 1.0,然后求得 Xl的值為2.0,最后將該值賦給變量 y,并得到整個表達式的值為2.0.所以解答是。 15設(shè)a=1,b=2,c3,d4則表達式a b?a:c d?a:d的結(jié)果為() 4 3 2 1 【解】條件運算符的優(yōu)先級比關(guān)系運算符的優(yōu)先級低,并且它的結(jié)合性是自右向左的,所以表達式ab?a:cd?a:d可用圓括號等價地寫成(ab?a:(cD)?A:D)。因AB成立,計算結(jié)果為A的值1。所以解答是。 16設(shè)a為整型變量,下列C表達式中,不能表達數(shù)學關(guān)系式:10a15的是( ) 10a15 a11|a12| a13| a14 a10a15 ?。╝10)?。╝=15) 【解】數(shù)學關(guān)系式 10a 15表示。只能是 11, 12, 13, 14四個值之 l。用 C表達式表示這個條件,可寫成a10 a15,或!(a10)&?。╝=15),或a11|a12 | a=13|a14等。若寫成10a15,該算式的計算順序是先求出10a的結(jié)果0或1,然后以這個結(jié)果與15比較,是否小于15,顯然這與數(shù)學式子的意義是不一致的。所以解答是。 17下列表達式中,正確的C賦值表達式是( ) a7bCa7 C7ba7 a(7b, b, a7) a 7b, ca7 【解】賦值運算符是運算符之一,賦值運算也可以出現(xiàn)在一般表達式中。賦值運算時,出現(xiàn)在賦值運算符左邊的表達式應該是引用一個存儲對象,例如變量。不可以是一個數(shù)值計算表達式。如表達式a7bca7因算術(shù)運算符比賦值運算符的優(yōu)先級高,要把a7的結(jié)果賦給7bc,這是錯誤的。同樣理由,表達式a 7ba7也是錯誤的。而表達式a(7b,b,a7)就是正確的賦值表達式,它是先計算賦值號左邊的括號內(nèi)的表達式,括號表達式內(nèi)是一個逗號表達式,遠號表達式要求順序逐一計算各子表達式,并以最后一個子表達式的值作為遠號表達式的結(jié)果,最后將該結(jié)果賦給變量a。而表達式a7b,ca7則不是一個賦值表達式,而是一個逗號表達式,它由兩個賦值子表達式組成。所以解答是。18若有以下定義: char a;int b;float c; double d;則表達式a*b+d-c值的類型為( ) float int char double 【解】基本類型的數(shù)據(jù)可以混合運算,但運算時,對要求運算分量類型相同的運算來說,如運算分量的類型不是全相同,則會有自動類型轉(zhuǎn)換發(fā)生。類型自動轉(zhuǎn)換規(guī)則規(guī)定類型低(簡單)的向類型高(復雜)的轉(zhuǎn)換。各類型由高到低的排列順序是:long double、float、unsigned long、long、unsigned int、int這樣,若有定義: char a; int b;float c;double d;則表達式a*b+d-c的值的類型是double的。首先計算 a*b,得到int類型的值,接著計算a*b+d,得到double類型的值,最后計算a*b+d-c,得到double類型的值。所以解答是。 19表達式“9!=7”的值是() true 非0值 0 1 【解】關(guān)系運算的結(jié)果只有0和1,若關(guān)系成立,則結(jié)果為1;若關(guān)系不成立,則結(jié)果為0。因關(guān)系式9!7成立,所以表達式的結(jié)果為1。雖然1也是非0值,在供選擇的答案中有1,所以最確切的解答是。 20用十進制數(shù)表示表達式“12|012”的運算結(jié)果是( ) 1 0 14 16 【解】按位運算將運算分量視作二進位的位申信息,對兩運算分量的對應位進行運算,產(chǎn)生H進位的位串信息結(jié)果。整數(shù)12最低8位二進位是00001100,整數(shù)012是八進制數(shù),它的最低8位二進位是00001010。這兩個二進位位串信息按位或運算,得到結(jié)果是00001110,對應十進制數(shù)14,八進制數(shù)是016。所以解答是。 21設(shè)字符型變量 a3,b6,計算表達式 C(ab) 2后C的二進制值是( ) 00011100 00000111 00000001 00010100 【解】a的值為3,寫成8位二進制數(shù)形式是00000011,b的值為6,寫成8位二進制數(shù)形式是00000110。表達式c(ab)2,先計算a與b的按位加,得到結(jié)果00000101,將這結(jié)果向左移2位,得到二進位的位串信息是00010100。所以解答是。 22設(shè) a,b和 c都是int型變量,且a3,b4,c5,則下面的表達式中值為 0的是( ) ab ab a|b+cbc !(aB)!|1) 【解】對于表達式ab,兩個非O運算分量的邏輯與結(jié)果為1。對于表達式ab,由于關(guān)系式成立,結(jié)果也為此又由于變量 a為非 0,表達式a|b+cbc的結(jié)果也為1。對于表達式!(ab)!c|1),先是計算(ab)得到結(jié)果1;計算!C得到結(jié)果為0;再計算它們的邏輯與,結(jié)果為0。繼續(xù)與1求邏輯或,得到結(jié)果為1。最后,對1求邏輯非,得到結(jié)果為0。所以解答是。 23設(shè)Ch是Char型變量,其值為A,則下面表達式的值是( ) ch(chAchZ)?(ch32):ch A a Z z 【解】由于字符型變量ch的值為 A,計算表達式chh Ach Z)?(ch32):ch,先計算其中條件表達式,由于條件(chAhZ)成立,該條件表達式以 ch3297為結(jié)果,將該值賦給變量 ch,以字符表達這個值為a。所以解答是。 24 設(shè)有無符號短整型變量i、j、k,i值為013,j值為 OX13。計算表達式“ki|j 3”后,k的值是() 06 0177776 066 0177766 【解】將變量 i的八進制數(shù)值 013寫成二進制形式為00001011,將變量j的十六進制值 oxl3寫成二進制數(shù)形式為00010011。表達式ki|j3的計算過程是先求i,結(jié)果用八進制代碼表示為0177764;接著計算j3,結(jié)果為02。對它們進行按位或運算結(jié)果為0177766。所以解答是。2.2填充題 1在內(nèi)存中,存儲字符串“X”要占用_個字節(jié),存儲字符X要占用_個字節(jié)。 【解】計算機存儲一個字符用1個字節(jié),存儲字符串時,每個字符要占用1個字節(jié),另在字符串的有效字符之后存儲1個字符串的結(jié)束標記符。所以存儲字符率“X要占用2個字節(jié),存儲字符X只要1個字節(jié)。 2在C程序中,判邏輯值時,用_表示邏輯值“真”,又用_表示邏輯值假”。在求邏輯值時,用_表示邏輯表達式值為“真”,又用_表示邏輯表達式值為“假”。 【解】在C程序中,判邏輯值時,用非0值表示真;而判邏輯值時,用值0表示假。但邏輯表達式計算結(jié)果,邏輯表達式值為真是用1表示的,而邏輯表達式的值為假,則用0表示。 3定義符號常量的一般形式是_。 【解】定義符號常量用預處理命令的宏定義,其定義的一般形式是: define符號常量名 常量 4在函數(shù)內(nèi),說明變量時,若省略存儲類型符,系統(tǒng)默認其為_存儲類別,該存儲類別的類型符為_。 【解】在函數(shù)內(nèi),說明變量時,若省略存儲類型符,系統(tǒng)就默認其為自動存儲類別,該存儲類別用auto標識。 5無符號基本整型的數(shù)據(jù)類型符為,雙精度實型數(shù)據(jù)類型符為,字符型數(shù)據(jù)類型符為,。 【解】無符號的基本整型的類型符為unsigned int,或簡寫成unsigned。雙精度實型數(shù)據(jù)類型符為double,字符型數(shù)據(jù)類型符為char。 6定義指定數(shù)據(jù)類型的變量時,較完整的一般形式是。 【解】要指定變量的存儲類型,定義指定類型的變量,其一般形式是:存儲類型符數(shù)據(jù)類型符變量名1,變量名2,; 7設(shè)有下列運算符:、,其中優(yōu)先級最高的是_,優(yōu)先級最低的是_. 【解】對運算符、,按它們的優(yōu)先級自高到低的順序排列為:、所以,優(yōu)先級最高的是+,優(yōu)先 級最低的是。 8設(shè)二進制數(shù)A是0A101111,若想通過異或運算 AB使 A的高4位取反,低4位不變,則二進制數(shù)B應_。 【解】按位加運算的一個重要應用是讓某個整型變量的二進位位串信息的某些位信息反向,0變成1,而1變成0. 這只要設(shè)計這樣一個位串信息,讓要變反的位為1,不要改變的位為0,用這個位串信息與整型變量按位加就能得到希望的結(jié)果。要使字節(jié)的高4位取反,低4位不變,則需要位串信息是11110000,寫成八進制數(shù)是0360,寫成十六進制數(shù)為0xF0。 9設(shè)a3, b= 2,Cl,則 Cb的值為_。,a b C的值為_。 【解】因a的值為3,b的值是2,條件ah為真,其值為1。表達式abc的求值順序是計算ab,結(jié)果為1,接著計算1c,因c的值為1,條件1c為假,結(jié)果為0。 10老已知a10,b20,則表達式!ab的值為_。 【解】計算表達式!ab,先計算!a ,因a的值為1O,!a 的值為0。關(guān)系表達式020為真,所以表達式!ab的值為1。 11設(shè)X和y均為 int型變量,且Xl,y2,則表達式 1.0xy的值為_。 【解】計算表達式 1.0xy,先求 xy,因

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論