22.設(shè)a為整型變量,下列C表達(dá)式中,不能表達(dá)數(shù)學(xué)關(guān)系式:10
A.10
B.a==11||a==12|| a==13|| a==14 C.a>10&&a<15 D.!(a<=10)&&!(a>=15) 【解析】數(shù)學(xué)關(guān)系式 1010&& a<15,或!(a<=10)&&!(a>=15),或a==11||a==12 || a==13||a==14等。若寫(xiě)成10
【參考答案】A 23.下列表達(dá)式中,正確的C賦值表達(dá)式是( ) 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 【解析】賦值運(yùn)算符是運(yùn)算符之一,賦值運(yùn)算也可以出現(xiàn)在一般表達(dá)式中。賦值運(yùn)算時(shí),出現(xiàn)在賦值運(yùn)算符左邊的表達(dá)式應(yīng)該是引用一個(gè)存儲(chǔ)對(duì)象,例如變量。不可以是一個(gè)數(shù)值計(jì)算表達(dá)式。如表達(dá)式a=7+b+c=a+7因算術(shù)運(yùn)算符比賦值運(yùn)算符的優(yōu)先級(jí)高,要把a(bǔ)+7的結(jié)果賦給7+b+c,這是錯(cuò)誤的。同樣理由,表達(dá)式a= 7+b++=a+7也是錯(cuò)誤的。而表達(dá)式a=(7+b,b++,a+7)就是正確的賦值表達(dá)式,它是先計(jì)算賦值號(hào)左邊的括號(hào)內(nèi)的表達(dá)式,括號(hào)表達(dá)式內(nèi)是一個(gè)逗號(hào)表達(dá)式,遠(yuǎn)號(hào)表達(dá)式要求順序逐一計(jì)算各子表達(dá)式,并以最后一個(gè)子表達(dá)式的值作為遠(yuǎn)號(hào)表達(dá)式的結(jié)果,最后將該結(jié)果賦給變量a。而表達(dá)式a=7+b,c=a+7則不是一個(gè)賦值表達(dá)式,而是一個(gè)逗號(hào)表達(dá)式,它由兩個(gè)賦值子表達(dá)式組成。所以解答是C。 【參考答案】C 24.若有以下定義: char a;int b;float c; double d;則表達(dá)式a*b+d-c值的類型為( ) A.float B. int C. char D. double 【解析】基本類型的數(shù)據(jù)可以混合運(yùn)算,但運(yùn)算時(shí),對(duì)要求運(yùn)算分量類型相同的運(yùn)算來(lái)說(shuō),如運(yùn)算分量的類型不是全相同,則會(huì)有自動(dòng)類型轉(zhuǎn)換發(fā)生。類型自動(dòng)轉(zhuǎn)換規(guī)則規(guī)定類型低(簡(jiǎn)單)的向類型高(復(fù)雜)的轉(zhuǎn)換。各類型由高到低的排列順序是:long double、float、unsigned long、long、unsigned int、int這樣,若有定義: char a; int b;float c;double d;則表達(dá)式a*b+d-c的值的類型是double的。首先計(jì)算 a*b,得到int類型的值,接著計(jì)算a*b+d,得到double類型的值,最后計(jì)算a*b+d-c,得到double類型的值。所以解答是D。 【參考答案】D
2010年軟考程序員如何區(qū)分printf與fprintf函數(shù)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |