查看匯總:2014下半年軟考程序員考前最后沖刺題及答案解析匯總
1.若已定義 x和 y為double類型,則表達式: x=l, y=x+3/2結果是( )
A.l
B.2
C.2.0
D.2.5
【解析】由于變量x和y都是double類型,表達式 x=l, y=x+3/2是先計算 x=1,由于 1是整型的,x是double類型的,該計算先將整數1轉換成double類型的1.0,并將1.0賦給變量x。計算 y=X+3/2是先求 3/2的值,因是兩整數相除,結果是整型值 1,然后在計算 X+1時,也先將 1轉換成 1.0,然后求得 X+l的值為2.0,最后將該值賦給變量 y,并得到整個表達式的值為2.0.所以解答是C。
【參考答案】C
2.設a為整型變量,下列C表達式中,不能表達數學關系式:
A.10
B.a==11||a==12|| a==13|| a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)
【解析】數學關系式 1010&& a<15,或!(a<=10)&&!(a>=15),或a==11||a==12 || a==13||a==14等。若寫成10
【參考答案】A
3.下列表達式中,正確的C賦值表達式是( )
A.a=7+b+C=a+7
B. C=7+b++=a+7
C.a=(7+b, b++, a+7)
D. a= 7+b, c=a+7
【解析】賦值運算符是運算符之一,賦值運算也可以出現在一般表達式中。賦值運算時,出現在賦值運算符左邊的表達式應該是引用一個存儲對象,例如變量。不可以是一個數值計算表達式。如表達式a=7+b+c=a+7因算術運算符比賦值運算符的優先級高,要把a+7的結果賦給7+b+c,這是錯誤的。同樣理由,表達式a= 7+b++=a+7也是錯誤的。而表達式a=(7+b,b++,a+7)就是正確的賦值表達式,它是先計算賦值號左邊的括號內的表達式,括號表達式內是一個逗號表達式,遠號表達式要求順序逐一計算各子表達式,并以最后一個子表達式的值作為遠號表達式的結果,最后將該結果賦給變量a。而表達式a=7+b,c=a+7則不是一個賦值表達式,而是一個逗號表達式,它由兩個賦值子表達式組成。所以解答是C。
【參考答案】C
4.若有以下定義: char a;int b;float c; double d;則表達式a*b+d-c值的類型為( )
A.float
B. int
C. char
D. double
【解析】基本類型的數據可以混合運算,但運算時,對要求運算分量類型相同的運算來說,如運算分量的類型不是全相同,則會有自動類型轉換發生。類型自動轉換規則規定類型低(簡單)的向類型高(復雜)的轉換。各類型由高到低的排列順序是: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類型的值。所以解答是D。
【參考答案】D
5.表達式“9!=7”的值是( )
A.true
B.非0值
C.0
D.1
【解析】關系運算的結果只有0和1,若關系成立,則結果為1;若關系不成立,則結果為0。因關系式9!=7成立,所以表達式的結果為1。雖然1也是非0值,在供選擇的答案中有1,所以最確切的解答是D。
【參考答案】D
6.用十進制數表示表達式“12|012”的運算結果是( )
A.1
B.0
C. 14
D. 16
【解析】按位運算將運算分量視作二進位的位申信息,對兩運算分量的對應位進行運算,產生H進位的位串信息結果。整數12最低8位二進位是00001100,整數012是八進制數,它的最低8位二進位是00001010。這兩個二進位位串信息按位或運算,得到結果是00001110,對應十進制數14,八進制數是016。所以解答是C。
【參考答案】C
7.設字符型變量 a=3,b=6,計算表達式 C=(a^b)<< 2后C的二進制值是( )
A. 00011100
B.00000111
C. 00000001
D. 00010100
【解析】a的值為3,寫成8位二進制數形式是00000011,b的值為6,寫成8位二進制數形式是00000110。表達式c=(a^b)<<2,先計算a與b的按位加,得到結果00000101,將這結果向左移2位,得到二進位的位串信息是00010100。所以解答是D。
【參考答案】D
8.設 a,b和 c都是int型變量,且a=3,b=4,c=5,則下面的表達式中值為 0的是( )
A.’a’&&b’
B.a<=b
C.a||b+c&&b-c
D. !((a< p>
【解析】對于表達式’a’&&’b,兩個非O運算分量的邏輯與結果為1。對于表達式a<=b,由于關系式成立,結果也為此又由于變量 a為非 0,表達式a||b+c&&b-c的結果也為1。對于表達式!((a< p>
【參考答案】A
9.設Ch是Char型變量,其值為’A’,則下面表達式的值是( )
ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch
A.’A’
B.’a’
C.’Z’
D.’z’
【解析】由于字符型變量ch的值為’ A’,計算表達式ch=h>=’ A’&&ch<=’ Z’)?(ch+32):ch,先計算其中條件表達式,由于條件(ch>=’A&&h<=’Z’)成立,該條件表達式以 ch+32=97為結果,將該值賦給變量 ch,以字符表達這個值為’a’。所以解答是B。
【參考答案】B
10. 設有無符號短整型變量i、j、k,i值為013,j值為 OX13。計算表達式“k=~i|j>> 3”后,k的值是( )
A. 06
B. 0177776
C. 066
D. 0177766
【解析】將變量 i的八進制數值 013寫成二進制形式為00001011,將變量j的十六進制值 oxl3寫成二進制數形式為00010011。表達式k=~i|j>>3的計算過程是先求~i,結果用八進制代碼表示為0177764;接著計算j>>3,結果為02。對它們進行按位或運算結果為0177766。所以解答是D。
【參考答案】D
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |