軟件設(shè)計(jì)師考前模擬試題及答案解析六
101. 廉價(jià)磁盤冗余陣列(RAID)是利用一臺磁盤陣列控制器來管理和控制一組磁盤驅(qū)動(dòng)器,組成一個(gè)高度可靠的、快速的大容量磁盤系統(tǒng)。以下關(guān)于RAID的敘述中,不正確的是 (106) 。
(106) A.RAID采用交叉存取技術(shù),提高了訪問速度
B.RAID0使用磁盤鏡像技術(shù),提高了可靠性
C.RAID3利用一個(gè)奇偶校驗(yàn)盤完成容錯(cuò)功能,減少了冗余磁盤數(shù)量
D.RAID6設(shè)置了一個(gè)專用的、可快速訪問的異步校驗(yàn)盤
參考答案:(106)B。
解析:廉價(jià)磁盤冗余陣列(RAID)級別是指磁盤陣列中硬盤的組合方式,不同級別的RAID為用戶提供的磁盤陣列在性能上和安全性的表現(xiàn)上也有不同,詳見表6。
表6 幾種RAID級別的對比表
級 別 |
描 述 |
優(yōu) 點(diǎn) |
缺 點(diǎn) |
RAID0 |
沒有容錯(cuò)設(shè)計(jì)的條帶磁盤陣列,僅提供并行交叉存取功能 |
有效地提高磁盤I/O速度 |
磁盤系統(tǒng)的可靠性不好 |
RAID1 |
具有磁盤鏡像和磁盤雙工功能 |
可利用并行讀/寫特性,將數(shù)據(jù)塊同時(shí)寫入主盤和鏡像盤,故比傳統(tǒng)的鏡像盤速度快 |
磁盤利用率只有50% |
RAID2 |
增加了漢明碼校驗(yàn)與糾錯(cuò)(Hamming Code ECC)功能 |
是早期為了進(jìn)行即時(shí)數(shù)據(jù)校驗(yàn)而研制的一種技術(shù),針對當(dāng)時(shí)對數(shù)據(jù)安全敏感的領(lǐng)域,如金融服務(wù)等 |
由于花費(fèi)太大,成本昂貴,目前己不用 |
RAID3 |
具有并行傳輸和校驗(yàn)功能 |
利用一臺奇偶校驗(yàn)盤來完成容錯(cuò)功能。比起磁盤鏡像,減少了所需的冗余磁盤數(shù) |
|
RAID4 |
具有獨(dú)立的數(shù)據(jù)硬盤與共享的校驗(yàn)硬盤 |
與RAID 3相比,RAID 4是一種相對獨(dú)立的形式 |
|
RAID5 |
具有獨(dú)立的數(shù)據(jù)磁盤和分布式校驗(yàn)塊的磁盤陣列 |
每個(gè)驅(qū)動(dòng)器都有獨(dú)立的數(shù)據(jù)通路,獨(dú)立地進(jìn)行讀/寫,無專門的校驗(yàn)盤。用于糾錯(cuò)的校驗(yàn)信息以螺旋方式散布在所有的數(shù)據(jù)盤上。RAB5常用于I/O較頻繁的事務(wù)處理上 |
|
RAID6 |
具有獨(dú)立的數(shù)據(jù)硬盤與兩個(gè)獨(dú)立的分布式校驗(yàn)方案 |
設(shè)置了一個(gè)專用的、可快速訪問的異步校驗(yàn)盤。該盤具有獨(dú)立的數(shù)據(jù)訪問通路 |
其性能改進(jìn)有限,價(jià)格卻很昂貴 |
RAID7 |
具有***化的異步高I/O速率和高數(shù)據(jù)傳輸率的磁盤陣列 |
是對RAID 6級的改進(jìn)。在這種陣列中的所有磁盤,都具有較高的傳輸速度,有著優(yōu)異的性能,是目前***檔次的磁盤陣列 |
|
RAID10 | 建立在RAID 0和RAID 1基礎(chǔ)上的高可靠性與高性能的組合 | 利用了RAID 0極高的讀寫效率和RAID 1較高的數(shù)據(jù)保護(hù)和恢復(fù)能力,使RAID 10成為了一種性價(jià)比較高的等級,目前幾乎所有的RAID控制卡都支持該等級 |
102. Because Web Servers are platform and application (107) they can send or request data from legacy or external applications including databases. All replies, once converted into (108) mark-up language, can then be transmitted to a (109) .Used in this way, Intranets can (120) lower desktop support costs, easy links with legacy applications and databases and, (121) all, ease of use.
【供選擇的答案】
(107) A.related B.dependent C.coupled D.independent
(108) A.supertextB.plaintextC.hypertextD.ciphertext
(109) A.client B.browserC.server D.router
(120) A.get B.ignoreC.requireD.offer
(121) A.a(chǎn)bove B.a(chǎn)roundC.a(chǎn)boutD.a(chǎn)bort
參考答案:(68)~(72)D、C、B、D、A。
參考譯文:由于Web服務(wù)是基于獨(dú)立的平臺和應(yīng)用程序,因此它能夠從包含數(shù)據(jù)庫的現(xiàn)有的(或外部的)應(yīng)用軟件發(fā)送和接收數(shù)據(jù)。所有返回的結(jié)果一旦轉(zhuǎn)換成超文本標(biāo)記語言,就能傳送給瀏覽器。使用這種方式,企業(yè)內(nèi)部網(wǎng)(Intranet)可以提供更低的桌面支持成本,容易將現(xiàn)有的應(yīng)用軟件和數(shù)據(jù)庫簡單地連接起來,此外,它更容易使用。
103.設(shè)函數(shù)的功能是交換X和y的值,且通過正確調(diào)用返回交換結(jié)果。不能正確執(zhí)行此功能的函數(shù)是(122)
(122)A. funa(int*x,int*y)
{int*p;
*p=*x;*x=*y;*y=*p;
}
B. funb(intx,inty)
{intt;
t=x;x=y;y=t;
}
C. func(int*x,int*y)
{intp;
p=*x;*x=*y;*y=p;
}
D. fund(int*x,int*y)
{
*x=*x+*y;*y=*x-*y;*x=*x-*y;
}
參考答案:(122)A,B。
解析:設(shè)計(jì)實(shí)現(xiàn)交換兩個(gè)變量值的函數(shù)。希望函數(shù)調(diào)用能改變調(diào)用環(huán)境中的變量,方法之一是讓函數(shù)設(shè)置指針類型的形參,實(shí)參傳送給形參的是希望交換值的兩個(gè)變量的指針。函數(shù)的兩個(gè)形參得到這兩個(gè)變量的指針后,函數(shù)就能通過形參間接引用要交換值的變量,或引用它們的值,或改變它們的值。從而實(shí)現(xiàn)從函數(shù)傳回信息存于調(diào)用環(huán)境的變量中。以上所述是設(shè)計(jì)交換變量值函數(shù)的一般原則,具體編寫函數(shù)時(shí)還需注意對上述原則的正確應(yīng)用。
對于函數(shù)funa,該函數(shù)的定義滿足設(shè)置指針形參,并通過指針形參間接引用環(huán)境變量的要求。但是在函數(shù)體中定義了指針變量p,并在p宋明確設(shè)定它所指向的變量下,代碼*p=*x企圖將值存入它所指的變量中,這是初學(xué)者經(jīng)常出現(xiàn)的一種嚴(yán)重的錯(cuò)誤。該函數(shù)因有錯(cuò),不能實(shí)現(xiàn)交換變量值的功能。
對于函數(shù)funb,該函數(shù)不定義指針形參,函數(shù)體也沒有可用的指針間接引用調(diào)用環(huán)境中的變量,所以該函數(shù)也不能實(shí)現(xiàn)交換變量值的功能。
對于函數(shù)func,該函數(shù)正確定義了指針形參,函數(shù)體也正確通過指針形參間接引用環(huán)境中的變量,并正確定義了自己的局部變量。該函數(shù)能實(shí)現(xiàn)交換變量值的功能。
對于函數(shù)fund,該函數(shù)也正確定義指針形參和函數(shù)體通過形參間接引用環(huán)境變量。特別要指出的是,該函數(shù)是利用*x和*y的;日值與新值之間的關(guān)系實(shí)現(xiàn)問題要求的。其中***個(gè)賦值使。x存有原來未交換之前的*x與*y之和;第二個(gè)賦值從這個(gè)和中減去原來的*y,并將差賦給*y,使*y的值是交換之前的*x的值;第三個(gè)賦值再次從和中減去新的*y,即減去交換之前的*x,這個(gè)差就是交換之前的*y,并將差賦給*x。經(jīng)以上三個(gè)賦值,實(shí)現(xiàn)兩變量之間的值交換。所以不能正確執(zhí)行交換變量值的函數(shù)是funa和funb,即正確選擇是A,B。
104.設(shè)有定義“chara[10]={"abcd"},*p=a;",則*(p+4)的值是(123)
(123) A. "abCd"
B. ’d’
C. ’\0’
D. 不能確定
參考答案:(123)C。
解析:若有chara[10]="abcd",*p=a,則指針變量p指向a[0]。在表達(dá)式*(p+4)中,p+4指向a[4],*(p+4)就是a[4]。由于用字符"abcd"給字符數(shù)組a賦初值,a[4]的值是字符串結(jié)束標(biāo)記符’\0’。所以解答是C。
105.設(shè)有代碼"int(*ptr)[10];”,其中的ptr是(124)
(124)A. 10個(gè)指向整型變量的指針
B. 指向10個(gè)整型變量的函數(shù)指針
C. 一個(gè)指向具有10個(gè)元素的一維數(shù)組的指針
D.具有10個(gè)指針元素的一維數(shù)組
參考答案:(124)C。
解析:代碼“int(*ptr)[10];”的分析過程是,因圓括號,括號內(nèi)的ptr先與字符*結(jié)合,字符*修飾標(biāo)識符ptr是一種指針;接著與后面的一對方括號結(jié)合,表示是這樣的一種指針,是指向一維數(shù)組的;再有方括號中的10,說明這種數(shù)組有10個(gè)元素。至此,ptr是指向含10個(gè)元素的
一維數(shù)組的指針。***,是最前面的int,表示數(shù)組元素是int類型的。所以,ptr是一個(gè)指向具有10個(gè)int型元素的一維數(shù)組的指針。所以解答是C。另外,要是A,10個(gè)指向整型變量的指針,就是一個(gè)指針數(shù)組,上述代碼應(yīng)寫成“int*ptr[10];”,即ptr是一個(gè)有10個(gè)指向整型變量的數(shù)組。要是B,返回值是指向10個(gè)整型變量的函數(shù)的指針,上述代碼應(yīng)寫成“int(*(*ptr)())[10];”,即ptr是指針,指向一種函數(shù),函數(shù)的返回值又是一種指針,指向10個(gè)元素的數(shù)組,數(shù)組的元素是整型的。下面的代碼是這樣的函數(shù)指針和函數(shù)的例子:
#include
inta[][10]={{1,2,3,4,5,6,7,8,9,0},{0,1,2,3,4,5,6,7,8,9}};
int(*(*ptr)(int))[10];
int(*f(intn))[10]
{returna+n;
}
voidmain()
{int(*p)[10],*q;
ptr=f;/*讓ptr指向函數(shù)f*/
P=(*ptr)(0);
q=*p;
printf("%d ",*p);
P=(*ptr)(l);
q=*p;
printf("%d ",*q);
}
在上述代碼中,函數(shù)有一個(gè)int型的形參。要是D,其意義與A相同,上述代碼應(yīng)寫成“int*ptr[10];”,即ptr是一個(gè)有10個(gè)元素的數(shù)組,數(shù)組元素是指向整型變量的指針。
106.若有以下定義,則數(shù)值為4的表達(dá)式是(125)
intw[3][4]={{0,1},{2,4},{5,8}},(*p)[4]=W;
(12***. *w[1]+l
B. p++,*(p+1)
C. w[2][2]
D. p[1][1]
參考答案:(125)D。
解析:二維數(shù)組定義有多種賦初值的辦法,問題給出的代碼是按行給數(shù)組的部分元素賦初值。它們分別是w[0][0]=0.w[0][1]=1、w[1][1]=2.w[1][1]=4,w[2][0]=5,w[2][1]=8。根據(jù)約定,未指定初值的元素自動(dòng)置全0值。指針變量p是一個(gè)指向具有四個(gè)int型元素的一維數(shù)組的指針,定義時(shí)的初值使它指向數(shù)組W的***行。A的代碼,*w[1]+1中的W[l]是指向w[l][0]的指針,*w[1]就是w[1][0],其值是2,*w[1]+l的值是3。B的代碼是逗號表達(dá)式,“p++,*(p+1)”先使p指向數(shù)組w的第二行,*(p+l)中的p+l是指向數(shù)組w的第三行,*(p+1)是指針值,指向數(shù)組w的第三行的***個(gè)元素,即&w[2][0].C的代碼w[2][2]引用數(shù)組W第三行的第三列元素,其值是0。D的代碼p[1][l]引用數(shù)組W第二行的第二列元素w[1][1],其值是4。所以解答是D。
107. 若有下面的程序片段,則對數(shù)組元素的錯(cuò)誤的引用是(126)
inta[12]={0},*p[3],**pp,i;
for(i=0;i<3;i++)p[i]=&a[i+4];
pp=P;
(126)A. pp[0][1]
B. a[10]
C. p[3][l]
D. *(*(p+2)+2)
參考答案:(126)C。
解析:上述代碼定義變量a是有12個(gè)整型元素的數(shù)組,它的初值全是0。p是有三個(gè)元素的指針數(shù)組,每個(gè)指針能指向整型變量。哪是指針的指針,它能指向一個(gè)指向整型變量的指針,i是一個(gè)整型變量。執(zhí)行代碼for(i=0;i<3;i++)P[i]=&a[i+4]使指針數(shù)組p的元素p[0]指向a[4],p[l]指向a[5],p[2]指向a[6]。代碼pp=p使指針變量pp指向p[0]。A代碼pp[0][l]用指針表達(dá)可等價(jià)地寫成*(*pp+l)。其中*pp就是p[0],p[0]的值是&a[4],*pp+1的值是&a[4]+1=&a[5],*(*pp+1)就是a[5]。B代碼a[l0]當(dāng)然是引用數(shù)組a的元素。C代碼p[3][1]數(shù)組p只有三個(gè)元素,沒有p[3],所以是錯(cuò)誤的。D代碼*(*(p+2)+2)中的(p+2)是&p[2],*(p+2)是p[2],其值是&a[6],*(p+2)+2的值是&a[8],*(*(p+2)+2)引用的是a[8]。所以解答是C。
108.若有如下定義和語句,則輸出結(jié)果是(127)
int**pp,*p,a=10,b=20;
PP=&p;P=&a;P=&b;printf("%d%d ",*p,**PP);
(127)A.10,20
B. 10,10
C. 20,10
D. 20,20
參考答案:(127)D。
解析:上述代碼定義變量pp是指針的指針,它能指向一個(gè)指向整型變量的指針。定義變量p是指針,它能指向一個(gè)整型變量。a是一個(gè)整型變量,它有初值10。b也是一個(gè)整型變量,它有初值20。代碼pp=&p使pp指向p,p=&a使p指向a,p=&b又使p指向b,不再指向a。所以。p是引用b,其值為20。**pp是通過pp間接引用p,再通過p間接引用b,所以也是20。所以解答是D。
109.若有以下定義和語句,則對w數(shù)組元素的非法引用是(128)
intw[2][3],(*pw)[3];pw=w;
(128)A. *(w[0]+2)
B. *pw[2]
C. pw[0][0]
D. *(pw[l]+2)
參考答案:(128)B。
解析:上述代碼定義2行3列的二維數(shù)組w,定義能指向有3個(gè)整型元素一維數(shù)組的指針pw,并讓pw指向數(shù)組w的***行。A代碼*(w[0]+2)中的w[0]是&w[0][0],w[0]+2是&w[0][2],所以*(w[0]+2)就是w[0][2]。B代碼*pw[2]中的pw[2]是&w[2][0],該數(shù)組w只有2行,沒有w[2][0],所以代碼*pw[2]是對數(shù)組W元素的非法引用。C代碼pw[0][0]就是w[0][0]。D代碼*(pw[l]+2)中的pw[1]就是*(pw+l),即&w[l][0],pw[l]+2就是&w[l][2],所以*(pw[1]+2)就是w[1][2]。所以解答是B。
110. 若有下列說明,則數(shù)值為4的表達(dá)式是(129)
inta[12]={l,2,3,4,5,6,7,8,9,10,11,12};
charc=‘a(chǎn)’,d,g;
(129)A. a[g-c]
B. a[4]
C. a[’d’-’c’]
D. a[’d’-c]
參考答案:(129)D。
解析:數(shù)組元素的下標(biāo)自0開始順序編號,值為4的元素是a[3]。所以只有下標(biāo)表達(dá)式的值為3的才是正確的。下標(biāo)表達(dá)式g-C中的的變量g和c的值是還未被設(shè)定的,其值不確定。a[4]的值為5,下標(biāo)為4是不對的?!痙’-’c’的值為1,a[l]的值是2,所以也是不對的。變量c的值為’a’,’d’-c=3,所以正確解答是D。
111.設(shè)有定義:"chars[12]={"string"};"則printf("%d ",strlen(s));的輸出是(130)
(130)A. 6
B. 7
C. 11
D. 12
參考答案:(130)A。
解析:在C語言中,字符串是指在有效字符之后有字符率結(jié)束標(biāo)記符的字符列,并約定字符串的長度是指字符率中有效字符個(gè)數(shù),不包括字符串的結(jié)束標(biāo)記符。存放于字符數(shù)組s中的字符串是“string”,該字符串的長度為6,所以輸出該字符串的長度應(yīng)是6。正確的解答是A。
112.下列語句中,正確的是(131)
(131)A. chara[3][]={’abc",’1’};
B. chara[][3]={’abc’,’l’};
C. chara[3][]={’a’,"1"};
D. Vchara[][3]={"a","1"};
參考答案:(131)D。
解析:如定義數(shù)組時(shí)有初始化,其***維的長度可以省缺,由系統(tǒng)根據(jù)初始化時(shí)的初值個(gè)數(shù)確定,而其它維的長度是不可以缺省的。對二維字符數(shù)組的初始化,可以按行用字符串對其初始化,也可以按二維數(shù)組元素的存儲順序逐一用字符對其元素初始化。在供選擇解答A和C中,有不是***維的長度被缺省,所以是錯(cuò)誤的。在供選擇解答A和B中,還將字符串常量寫作’abc’,這也是錯(cuò)誤的。只有D,用字符率按行給二維字符數(shù)組初始化,這才是正確的。正確構(gòu)解答是D。
113.合法的數(shù)組定義是(132)
(132)A. inta[]={"string"}
B. inta[5]={0,1,2,3,4,5};
C. chara={"string"}
D. chara[]={0,1,2,3,4,5};
參考答案:(132)D。
解析:A錯(cuò)誤的原因是整數(shù)數(shù)組不可以用字符串對其初始化。B錯(cuò)誤的原因是,數(shù)組初始化時(shí),初始化指定的值的個(gè)數(shù)多于數(shù)組的元素個(gè)數(shù)。C錯(cuò)誤的原因是,能用字符串初始化的只;有字符指針變量,或字符數(shù)組。字符率不能對其它類型的變量初始化,包括字符變量。D是正確的,因?yàn)樽址麛?shù)組可以用小整數(shù)(作為字符的ASCII代碼值)對其元素初始化。
114.語句"printf("%d "strlen("ats ol2\1\\"));"的輸出結(jié)果是(133)
(133)A. 11
B. 10
C. 9
D. 8
參考答案:(133)C。
解析:字符串中的字符可以是一般的普通字符,也可以是由反斜杠字符開頭的轉(zhuǎn)義字符。在字符串"abs o12\11\\"中,有三個(gè)轉(zhuǎn)義字符,它們是、\1、\\,所以該字符串的有效字符個(gè)數(shù)是9。所以正確的回答是C。
115.函數(shù)調(diào)用“strcat(strcpy(strl,str2),str3)”的功能是(134)
(134)A. 將字符串strl復(fù)制到字符串str2中后再連接到字符串str3之后
B. 將字符串strl連接到字符串str2中后再復(fù)制到字符率str3之后
C. 將字符串str2復(fù)制到字符串strl中后再將字符串str3連接到字符串strl之后
D. 將字符串str2連接到字符率strl之后再將字符串strl復(fù)制到字符串str3中
參考答案:(134)C。
解析:函數(shù)調(diào)用strcat(s1,s2)是將s2字符串復(fù)制連接到s1字符串之后,使s1字符串變得更長。函數(shù)調(diào)用strcpy(s1,s2)是將s2字符串復(fù)制到s1,使s1字符串的內(nèi)容與s2字符串的內(nèi)容相同。函數(shù)調(diào)用strcat(strcpy(strl,str2),str3)是先執(zhí)行strcpy(strl,str2),然后再執(zhí)行strcat(strl,str3),所以其功能是將字符串str2復(fù)制到字符串strl中,然后再將字符串str3復(fù)制連接到字符串strl之后。正確的選擇是C。
116.設(shè)有如下定義,則正確的敘述為(135)
charx[]={"abcdefg"};
chary[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’};
(13***. 數(shù)組x和數(shù)組y等價(jià)
B. 數(shù)組x和數(shù)組y長度相同
C. 數(shù)組X的長度大于數(shù)組y的長度
D. 數(shù)組X的長度小于數(shù)組y的長度
參考答案:(134)C。
解析:不指定數(shù)組長度的字符數(shù)組定義,其所需要的字節(jié)數(shù)可由初始化中給出的值的個(gè)數(shù)確定。字符數(shù)組可以用字符串初始化,也可用字符逐個(gè)給字符數(shù)組的元素初始化。但用字符初始化時(shí),盡管給出了字符串中的全部字符,還是不會自動(dòng)有字符率結(jié)束字符。但字符串初始化自動(dòng)會含有字符串的結(jié)束標(biāo)記符,字符串初始化所需要的字節(jié)個(gè)數(shù)會比用同樣多的字符初始化多1個(gè)字節(jié)。所以只有C才是正確的。
117.設(shè)a=3,b=4執(zhí)廳‘printf(”%d,%d’,(a,b),(b,a));”的輸出是(135)
(13***. 3,4
B. 4,3
C. 3,3
D. 4,4
參考答案:(135)C。
解析:在調(diào)用格式輸出函數(shù)的語句中,其中每個(gè)格式符對應(yīng)一個(gè)輸出項(xiàng),格式符d要求輸出項(xiàng)內(nèi)容以十進(jìn)制整數(shù)形式輸出。***個(gè)輸出項(xiàng)(a,b)是一個(gè)逗號表達(dá)式,該表達(dá)式的值是b的值,輸出4。接著輸出字符逗號。第二個(gè)輸出項(xiàng)(b,a)的值是a的值,輸出3。所以語句執(zhí)行將輸出4,3。正解的選擇是C。
118.使用“Scanf("X=%f,y=%f",&x,&y)”,要使X,y均為1.25,正確的輸入是(136)
(136)A. 1.25,1.25
B. 1.251.25
C. x=1.25,y=1.25
D. X=1.25y=1.25
參考答案:(136)C。
解析:格式輸入函數(shù)的格式字符串中的字符可以分成三類:空格類字符、其它普通字符和格式轉(zhuǎn)換說明。其中空格類字符用來跳過一個(gè)空格類字符序列,直至下一個(gè)非空格類字符。普通字符要求輸入字符與其完全相同。格式轉(zhuǎn)換說明對輸入字符列按格式轉(zhuǎn)換說明進(jìn)行轉(zhuǎn)換,得到內(nèi)部值存儲到對應(yīng)輸入項(xiàng)所指定的存儲位置中。函數(shù)調(diào)用scanf(“x=%f,y=%f,&x,&y)以普通字符X=開頭,輸入時(shí)也要先輸入X=。接著是一個(gè)浮點(diǎn)數(shù)輸入格式,所有能構(gòu)成一個(gè)浮點(diǎn)數(shù)1.25的字符序列都能滿足要求。接著是普通字符列“,y=”,在輸入的浮點(diǎn)數(shù)之后也要有字符列“,y=”。***又是浮點(diǎn)數(shù)輸入格式,同樣所有能構(gòu)成一個(gè)浮點(diǎn)數(shù)1.25的字符序列都能滿足要求。問題給出的供選擇答案中只有x=1.25,y=1.25是能滿足上述要求的。所以正確選擇是C。
119.設(shè)有inti=010,j=10;則執(zhí)行“printf("%d,%d\n",++i,j--);”的輸出是(137)
(137)A. ll,10
B. 9,10
C. 010,9
D. 10,9
參考答案:(137)B。
解析:變量i和j的初值分別為八進(jìn)制數(shù)010和十進(jìn)制數(shù)10,函數(shù)調(diào)用Printf(“%d,%d\n”,++i,j--)中,++i的值是變量i增1后的值,原來值是八進(jìn)制數(shù)010,等于十進(jìn)制數(shù)8,輸出9。j--的值是變量j減1之前的值,輸出10。格式字符申中的逗號是普通字符照原樣輸出。所以問題給出的格式輸出函數(shù)調(diào)用將輸出9,10。正確的解答是B。
120.設(shè)a,b為字符型變量,執(zhí)行"scanf("a=%c,b=%c",&a,&b)"后使a為’A’,b為’B’,從鍵盤上的正確輸入是(138)
(138)A. ’A”B’
B. ’A’,’B’
C. A=A,B=B
D. a=Ab=B
參考答案:(138)D。
解析:函數(shù)調(diào)用scanf("c=%c,b=%c",&c,&b)中,普通字符必須按格式字符串要求照原樣輸入,c格式對緊接的任何字符都輸入。所以實(shí)現(xiàn)問題的要求,輸入字符列應(yīng)為“a=A,b=B”。另外要特別指出,在程序中,為表示字符常量,字符前后需加單引號。但用字符格式輸入字符時(shí),在要輸入字符前后不必另鍵人單引號。若鍵人單引號,則這個(gè)單引號也將作為字符被輸入。正確的解答是D。
【編輯推薦】