2015軟考程序員考前最后沖刺題練習及答案

字號:


    1.二進制語言是屬于( )
    A.面向機器語言
    B.面向問題語言
    C.面向過程語言
    D.面向匯編語言
    【解析】人們研制了許許多多計算機程序設計語言,其中二進制語言直接來自計算機的指令系統(tǒng),與具體計算機緊密相關,所以是一種面向機器語言。面向問題語言是為了易于描述和求解某類特定領域的問題而專門設計的一種非過程語言。面向過程語言是一種能方便描述算法過程的計算機程序設計語言。有匯編語言,但沒有面向匯編語言。匯編語言也是一種面向機器的語言,與機器語言比較,匯編語言用有助于記憶的符號來代表二進制代碼。所以解答是A。
    【參考答案】A
    2.下列語言中不屬于面向過程的語言是( )
    A.高級語言
    B.低級語言
    C.C語言
    D.PASCAL語言
    【解析】 C語言和 PASCAL等程序設計語言都是高級語言,它們用于描述復雜加工的處理過程,所以也稱它們是面向過程語言。低級語言是指機器語言和匯編語言,低級語言是面向機器的語言,而不是面向問題的語言。所以解答是B。
    【參考答案】B
    3.下列字符中屬于鍵盤符號的是( )
    A.\
    B.\n
    C. \t
    D. \b
    【解析】鍵盤符號是指鍵盤上有標記,并能在顯示器上直接以其標記字樣顯示的字符。有許多鍵盤上有標記的符號,它們不是用于直接顯示的,鍵入這種字符用于表示特定的意義,如常用的回車符。為了能讓C程序標記這種符號,程序采用轉義字符的方式書寫這種字符。如'\n'、'\t' 、'\b'都不是鍵盤字符,在 C語言中,它們都得用轉義字符來表達。只有字符\才是鍵盤字符。所以解答是A。但在C程序中,反斜杠字符\已特別用作轉義字符的引導符,它也得用轉義字符的表達形式書寫,將它寫成’\\’。
    【參考答案】A
    4.下列字符列中,不是用來表達轉義字符是( )
    A.\\
    B.\'
    C.074
    D. \0
    【解析】轉義字符有三種書寫形式:反斜社字符后接上某個規(guī)定的字符;反斜杠字符后接上13個八進制數字符;反斜社字符和字符X之后接上1至2個十六進制數字符。后兩種分別八進制數和十六進制數直接給出字符的ASCll代碼值。而074是八進制整數,不是轉義字.所以解答是C。
    【參考答案】C
    5.不是C語言提供的合法關鍵字是()
    A.switch
    B.begin
    C.case
    D.default
    【解析】因C語言的關鍵字表中沒有begin,它不是C語言的關鍵字。所以解答是B。
    【參考答案】B
    6.下列字符列中,能作為單個標識符是()l
    A.? a
    B. a=2
    C.a.3
    D. a___3
    【解析】在C語言中,規(guī)定標識符是這樣一種字符序列,由英文字母或下線字符開始,后接任1個英文字母、下線字符和數字符組成。所以問題所列的字符列只有a_3是標識符,其余都l是標識符,一個是由字符’?’開頭、一個中間有字符’=’,另一個有字符’.’。所以解答是D。
    【參考答案】D
    7.在C語言中,下列說法中錯誤的是()
    A.函數定義可以分為兩個部分:函數說明部分和函數體
    B.主函數可以調用任何非主函數
    C.任何非主函數可以調用其它任何非主函數
    D.程序可以從任何函數開始執(zhí)行
    【解析】每個C函數的定義分兩部分,函數說明部分和函數體,所以敘述 A.是正確的敘述。C語言中,函數可以遞歸調用,主函數可以調用程序中的任何函數,當然可以調用任何非主教的其它函數,所以敘述B.是一個正確的敘述。同樣理由,敘述C.也是正確的。C語言規(guī),C程序只有一個主函數,并總是從主函數開始執(zhí)行,不能從非主函數開始執(zhí)行。所以,說程可以從任何函數開始執(zhí)行是錯誤的。所以解答是D。
    【參考答案】D
    8.下列字符列中,可以作為“字符串常量”的是( )
    A. ABC
    B. ABC”
    C.’abc’
    D.’a’
    【解析】C程序中,一個字符率常量是表示一個字符序列,書寫時,用雙引號字符前后括住這個字符序列。所以只有”ABC”是一個正確的字符率常量,其余都不是。其中,ABC可作為標識符,字符列’abc’不能出現在C程序中,’a’是一個字符常量。所以解答是B。
    【參考答案】B
    9.在以字節(jié)存儲字符的系統(tǒng)中,’\n ’在內存占用的字節(jié)數是( )
    A.1
    B.2
    C.3
    D.4
    【解析】一般來說,一個字符在內存中只占1個字節(jié),’\n’是轉義字符,其意義是換行符,它作為一個字符存儲,在內存也只占五個字節(jié)。所以解答是A。
    【參考答案】A
    10.字符串”XyZ”在內存占用的字節(jié)數是( )
    A.3
    B.4
    C.6
    D.8
    【解析】字符串中的每個字符占1個字節(jié),但C程序在存儲字符串時,要在最后一個有效字符后面接上 1個字符串結束的標記符'\0'。這樣,存儲字符串常量”xyZ”需要 4個字節(jié)。所以解答是B。
    【參考答案】B
    11.在以下字符列中,合法的長整型常數是( )
    A. OL
    B. 4962710
    C. 0.054838743
    D. 2.1869el0
    【解析】為表示不同范圍的整數,整型數據分短整型、基本型和長整型,并對三種整型內部表示的位的不同理解,又分別分成無符號和帶符號兩種。若要明確指明一個整數是長整型的,必須在整數之后接上字符’L’。所以OL是一個長整型的整型常量,而4962710是基本整型數據,而對于用2個字節(jié)表示一個基本整型數據的系統(tǒng)來說,該整數將因超出范圍而是一個錯誤的整數;0.054839743和2.1869el0都是double型的實數。所以解答是A。
    【參考答案】A
    12.一個char型數據,它的值在內存中存放的是()
    A.ASCll代碼值
    B.BCD代碼值
    C.內碼值
    D.十進制代碼值
    【解析】計算機存儲字符,通常是存儲字符的某種代碼值。有許多種字符編碼的方法,最流行的是ASCII代碼。在C語言中,Char型數據也用ASCII代碼表示。所以解答是A。
    【參考答案】A
    13.設變量 m,n,a,b,c,d均為以執(zhí)行(m=a==)||(n=c==d)后,m,n的值是( )
    A.0,0
    B.0,1
    C.l,0
    D.1,1
    【解析】計算(m=a==b)||(n=c==d)的過程是先計算邏輯或的左運算分量(m=a==b)的值,由于賦位運算符的優(yōu)先級比關系運算符==的優(yōu)先級低,又先計算 a==b。因 a,b均為0后,所以比較結果值為1。將1賦給變量m,使變量m的值變?yōu)? 。同時這個賦值運算的結果也是1,這樣邏輯運算的左運算分量的值為1。由于邏輯或運算的左運算分量值為1,按照C語言對邏輯或運算優(yōu)化計算的規(guī)定,不再計算邏輯或的右運算分量,而直接得到邏輯或運算的結果為1 。由于邏輯或的右運算分量不曾計算過,所以變量n的值也不為變化。這樣,上述表達式計算后,變量m的情為1,變量n的值為0。所以解答是C。
    【參考答案】C
    14.設a為5,執(zhí)行下列計算后,b的值不為2的是( )
    A. b=a/2
    B. b=6-(--a)
    C. b=a%2
    D. b=a<3?3:2
    【解析】因兩個整型數據相除,結果是整數,當a的值為5時,計算表達式b=a/2后,使b的值為2。計算表達式b=6-(--a)是先計算子表達式(--a)的,先讓a的值減1變成4,并以減1后的a為子表達式的結果,所以子表達式的結果為4,最后使b的值為2。在計算表達式b= a%2時,求余運算a%2的結果為1,最后使變量b的值為1。計算表達式b=a<3?3:2時,先計算條件表達式a<3?3:2,以2為結果,最后也使變量b的值為人所以解答是C。
    【參考答案】C
    15.執(zhí)行語句“x=(a=3,b=a--);”后,X,a,b的值依次為( )
    A.3,3,2
    B.2,3,2
    C.3,2,3
    D.2,3,3
    【解析】計算表達式x=(a=3,b=a--)時,先計算賦值號右端圓括號內的逗號表達式。遠號表達式要求各子表達式順序計算,并以最后予表達式的值為整個逗號表達式的結果。所以該表達式計算時,先讓變量a的值為3,a--的值是a當時的值,以該值為結果賦給變量b,并以該值為遠號表達式的值賦給變量x,然后a的值被減少1。所以計算該表達式后,使變量x,a,b的值依次為3,2,3。所以解答是C。
    【參考答案】C
    16.設整型變量m,n,a,b,c,d均為1,執(zhí)行“( m=a>b)&&(n=a>b)"后m,n的值是( )
    A.0,0
    B.0,l
    C.1,0
    D.1,l
    【解析】表達式(m=a >b)&&(n=a >b)是一個邏輯表達式,它的計算過程是先計算邏輯與的左分量(m=a>b,其中又是先計算a>b。因a>b不成立,結果為0,將0賦給變量m,最后邏輯與的左分量結果為0。由于邏輯運算采用特別的優(yōu)化計算規(guī)則,當邏輯與的左分量結果為0時,不再計算邏輯與的右分量,而直接以0為邏輯與的結果。所以,上述表達式計算使m的值變?yōu)?,而n的值沒有變,依舊為l。所以解答是B。
    【參考答案】B
    17. 設有代碼“int a=3;”,則執(zhí)行了語句“a+=a-= a*a;”后,變量a的值是( )
    A.3
    B. 0
    C. 9
    D. -12
    【解析】由于賦值運算符的結合性自右至左,語句“a+=a-=a*a;”的執(zhí)行是先計算a*a,得到值 9,再計算 a-=a*a,使 a的值為-6,接著計算 a+=a,使 a的值為-12。所以解答是D。
    【參考答案】D
    18.在以下一組運算符中,優(yōu)先級的運算符是( )
    A.<=
    B.=
    C.%
    D.&&
    【解析】常規(guī)運算符的優(yōu)先級自高到低的排列順序是算術運算符、移位運算符、關系運算符。按位運算符、邏輯運算符、條件運算符、賦值運算符、逗號運算符。所以問題所給的四個運算符按優(yōu)先級自高到低的排列順序是%,<=,&&,=。所以解答是C。
    【參考答案】C
    19.設整型變量i的值為3,則計算表達式i---i后表達式的值為( )
    A.0
    B.l
    C.2
    D.表達式出錯
    【解析】有些運算符只有一個字符,也有許多運算符由兩個字符組成。特別是有些字符既可是單個字符的運算符,又能組成雙字符的運算符。編譯系統(tǒng)在識別源程序時,通常是盡量多地讀八字符,能組成多字符單詞的先盡量組成多字符單詞。所以表達式i---i,被編譯器理解為(i--)-i。另外,當表達式中某變量有后綴自增和自減運算時,先按變量的原值計算表達式,然后再對變量進行自增和自減運算。同樣地,當表達式中某變量有前綴自增和自減運算時,先對變量進行自增和自減運算,然后再按變量的新值計算表達式。按這個約定,求表達式(i--)-i是計算i-i的值為0,然后再對i作自減運算。這樣,表達式(i--)-i的值為0。所以解答是A。
    【參考答案】A
    20.設整型變量 a、b、c均為2,表達式 a+++b+++c++ 的結果是( )
    A.6
    B.9
    C.8
    D.表達式出錯
    【解析】與上一小題解答的理由相同,表達式a+++b+++c++被系統(tǒng)理解成:((a++)+(b++))+c++)。表達式“變量++”的值是變量的原來值,所以在變量a、b.c均為2的前題下,執(zhí)行上述表達式,得到結果為6。所以解答是A。
    【參考答案】A