下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件設(shè)計(jì)師模擬題及答案解析第二十七套1. 廉價(jià)磁盤冗余陣列 (RAID) 是利用一臺(tái)磁盤陣列控制器來管理和控制一組磁盤驅(qū)動(dòng)器,組成一個(gè)高度可靠的、快速的大容量磁盤系統(tǒng)。以下關(guān)于 RAID的敘述中,不正確的是 () 。(1) A.RAID 采用交叉存取技術(shù),提高了訪問速度B.RAID0使用磁盤鏡像技術(shù),提高了可靠性C.RAID3利用一個(gè)奇偶校驗(yàn)盤完成容錯(cuò)功能,減少了冗余磁盤數(shù)量D.RAID6設(shè)置了一個(gè)專用的、可快速訪問的異步校驗(yàn)盤參考答案: (1)B 。解析:廉價(jià)磁盤冗余陣列(RAID) 級(jí)別是指磁盤陣列中硬盤的組合方式,不同級(jí)別的 RAID為用戶提供的磁盤陣列在性能上和安全性的表現(xiàn)上也有不同,
2、詳見表 6。級(jí) 別描 述優(yōu) 點(diǎn)缺 點(diǎn)沒有容錯(cuò)設(shè)計(jì)磁盤的條帶磁盤陣列,有效地提高RAID0系統(tǒng)的可僅提供并行交叉存磁盤 I/O 速度靠性不好取功能可利用并行讀/ 寫特性,將數(shù)磁盤具有磁盤鏡像據(jù)塊同時(shí)寫入主RAID1利用率只和磁盤雙工功能盤和鏡像盤,故有50%比傳統(tǒng)的鏡像盤速度快增加了漢明碼是早期為了由于進(jìn)行即時(shí)數(shù)據(jù)?;ㄙM(fèi)太校驗(yàn)與糾錯(cuò)RAID2驗(yàn)而研制的一種大,成本(Hamming Code技術(shù),針對(duì)當(dāng)時(shí)昂貴,目ECC)功能對(duì)數(shù)據(jù)安全敏感前己不用的領(lǐng)域,如金融服務(wù)等利用一臺(tái)奇偶校驗(yàn)盤來完成具有并行傳輸容錯(cuò)功能。比起RAID3和校驗(yàn)功能磁盤鏡像,減少了所需的冗余磁盤數(shù)具有獨(dú)立的數(shù) RAID4 據(jù)硬盤
3、與共享的校驗(yàn)硬盤具有獨(dú)立的數(shù)RAID5 據(jù)磁盤和 分布式校驗(yàn)塊的磁盤陣列具有獨(dú)立的數(shù) RAID6 據(jù)硬盤與兩個(gè)獨(dú)立的分布式校驗(yàn)方案與RAID 3相比, RAID 4是一種相對(duì)獨(dú)立的形式每個(gè)驅(qū)動(dòng)器都有獨(dú)立的數(shù)據(jù)通路,獨(dú)立地進(jìn)行讀 / 寫,無專門的校驗(yàn)盤。用于糾錯(cuò)的校驗(yàn)信息以螺旋方式散布在所有的數(shù)據(jù)盤上。 RAB5常用于I/O 較頻繁的事務(wù)處理上設(shè)置了一個(gè)專用的、可快速 其性訪問的異步校驗(yàn) 能改進(jìn)有盤。該盤具有獨(dú) 限,價(jià)格立的數(shù)據(jù)訪問通 卻很昂貴路RAID7具有最優(yōu)化的異步高 I/O 速率和高數(shù)據(jù)傳輸率的磁盤陣列是對(duì) RAID 6級(jí)的改進(jìn)。在這種陣列中的所有磁盤,都具有較高的傳輸速度,有著優(yōu)異的性
4、能,是目前最高檔次的磁盤陣列利用了 RAID 0極高的讀寫效率和RAID 1較高的數(shù)建立在 RAID 0和 據(jù)保護(hù)和恢復(fù)能RAID 1基礎(chǔ)上的高可力,使 RAID 10成RAID10靠性與高性能的組為了一種性價(jià)比合較高的等級(jí), 目前幾乎所有的 RAID控制卡都支持該等級(jí)表6 幾種 RAID級(jí)別的對(duì)比表2. Because Web Servers are platform and application (7) they cansend or request data from legacy or external applications includingdatabases. All rep
5、lies, once converted into (8) mark-up language, can then be transmitted to a (9) .Used in this way, Intranets can (10) lower desktop support costs , easy links with legacy applications and databases and,(11) all, ease of use.【供選擇的答案】(7) A.related B.dependent C.coupled D.independent(8) A.supertext B.
6、plaintext C.hypertext D.ciphertext(9) A.client B.browser C.server D.router(10) A.get B.ignore C.require D.offer(11) A.above B.around C.about D.abort參考答案: (7) (11)D 、C、B、D、A。參考譯文:由于 Web服務(wù)是基于獨(dú)立的平臺(tái)和應(yīng)用程序,因此它能夠從包含數(shù)據(jù)庫的現(xiàn)有的 ( 或外部的 ) 應(yīng)用軟件發(fā)送和接收數(shù)據(jù)。所有返回的結(jié)果一旦轉(zhuǎn)換成超文本標(biāo)記語言,就能傳送給瀏覽器。使用這種方式,企業(yè)內(nèi)部網(wǎng)(Intranet)可以提供更低的桌面支持成
7、本,容易將現(xiàn)有的應(yīng)用軟件和數(shù)據(jù)庫簡單地連接起來,此外,它更容易使用。3. 設(shè)函數(shù)的功能是交換 X和 y的值,且通過正確調(diào)用返回交換結(jié)果。不能正確執(zhí)行此功能的函數(shù)是 (12)(12)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;參考答案: (12)A,B 。解析:設(shè)計(jì)實(shí)現(xiàn)交換兩個(gè)變量值的函數(shù)。希望函數(shù)調(diào)用能改
8、變調(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í)還需注意對(duì)上述原則的正確應(yīng)用。對(duì)于函數(shù) funa ,該函數(shù)的定義滿足設(shè)置指針形參,并通過指針形參間接引用環(huán)境變量的要求。但是在函數(shù)體中定義了指針變量 p,并在 p宋明確設(shè)定它所指向的變量下,代碼 *p=*x 企圖將值存入它所指的變量中,這是初學(xué)者經(jīng)常出現(xiàn)的一種嚴(yán)重的錯(cuò)誤。該函數(shù)因有錯(cuò),不能
9、實(shí)現(xiàn)交換變量值的功能。對(duì)于函數(shù) funb ,該函數(shù)不定義指針形參,函數(shù)體也沒有可用的指針間接引用調(diào)用環(huán)境中的變量,所以該函數(shù)也不能實(shí)現(xiàn)交換變量值的功能。對(duì)于函數(shù) func ,該函數(shù)正確定義了指針形參,函數(shù)體也正確通過指針形參間接引用環(huán)境中的變量,并正確定義了自己的局部變量。該函數(shù)能實(shí)現(xiàn)交換變量值的功能。對(duì)于函數(shù) fund ,該函數(shù)也正確定義指針形參和函數(shù)體通過形參間接引用環(huán)境變量。特別要指出的是,該函數(shù)是利用*x 和*y 的 ; 日值與新值之間的關(guān)系實(shí)現(xiàn)問題要求的。其中第一個(gè)賦值使。 x存有原來未交換之前的 *x 與*y 之和 ; 第二個(gè)賦值從這個(gè)和中減去原來的 *y ,并將差賦給 *y ,使
10、 *y 的值是交換之前的 *x 的值 ; 第三個(gè)賦值再次從和中減去新的 *y ,即減去交換之前的 *x ,這個(gè)差就是交換之前的 *y ,并將差賦給 *x 。經(jīng)以上三個(gè)賦值,實(shí)現(xiàn)兩變量之間的值交換。所以不能正確執(zhí)行交換變量值的函數(shù)是 funa 和funb ,即正確選擇是 A,B。4. 設(shè)有定義“ chara10="abcd" , *p=a;" ,則 *(p+4) 的值是 (123) (13) A. "abCd"B. dC. 0 D. 不能確定參考答案: (13)C 。解析:若有 chara10="abcd",*p=a,則指針變
11、量 p指向 a0 。在表達(dá)式 *(p+4) 中, p+4指向 a4 , *(p+4) 就是 a4 。由于用字符 "abcd" 給字符數(shù)組 a賦初值, a4 的值是字符串結(jié)束標(biāo)記符0 。所以解答是 C。5. 設(shè)有代碼 "int(*ptr)10;”,其中的 ptr 是 (124)(14)A. 10 個(gè)指向整型變量的指針B. 指向 10個(gè)整型變量的函數(shù)指針C. 一個(gè)指向具有 10個(gè)元素的一維數(shù)組的指針D.具有 10個(gè)指針元素的一維數(shù)組參考答案: (14)C 。解析:代碼“ int(*ptr)10;”的分析過程是,因圓括號(hào),括號(hào)內(nèi)的ptr 先與字符 * 結(jié)合,字符 * 修
12、飾標(biāo)識(shí)符 ptr 是一種指針 ; 接著與后面的一對(duì)方括號(hào)結(jié)合,表示是這樣的一種指針,是指向一維數(shù)組的 ; 再有方括號(hào)中的 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*ptr10;”,即 ptr 是一個(gè)有10個(gè)指向整型變量的數(shù)組。要是B,返回值是指向 10個(gè)整型變量的函數(shù)的指針,上述代碼應(yīng)寫成“ int(*(*ptr)()10;
13、 ”,即 ptr 是指針,指向一種函數(shù),函數(shù)的返回值又是一種指針,指向 10個(gè)元素的數(shù)組,數(shù)組的元素是整型的。下面的代碼是這樣的函數(shù)指針和函數(shù)的例子:#includeinta10=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)10returna+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 &qu
14、ot;,*q);在上述代碼中,函數(shù)有一個(gè) int 型的形參。要是 D,其意義與 A相同,上述代碼應(yīng)寫成“ int*ptr10; ”,即 ptr 是一個(gè)有 10個(gè)元素的數(shù)組,數(shù)組元素是指向整型變量的指針。6. 若有以下定義,則數(shù)值為 4的表達(dá)式是 (15) intw34=0 ,1 , 2 ,4 ,5 , 8 ,(*p)4=W; (15)A. *w1+lB. p+ ,*(p+1)C. w22D. p11參考答案: (15)D 。解析:二維數(shù)組定義有多種賦初值的辦法,問題給出的代碼是按行給數(shù)組的部分元素賦初值。它們分別是w00=0.w01=1、w11=2.w11=4,w20=5,w21=8。根據(jù)約定
15、,未指定初值的元素自動(dòng)置全 0值。指針變量 p是一個(gè)指向具有四個(gè) int 型元素的一維數(shù)組的指針,定義時(shí)的初值使它指向數(shù)組 W的第一行。 A的代碼, *w1+1 中的 Wl 是指向 wl0的指針, *w1 就是 w10 ,其值是 2,*w1+l 的值是 3。 B的代碼是逗號(hào)表達(dá)式,“ p+, *(p+1) ”先使 p指向數(shù)組 w的第二行, *(p+l) 中的 p+l 是指向數(shù)組 w的第三行, *(p+1) 是指針值,指向數(shù)組 w的第三行的第一個(gè)元素,即 &w20.C 的代碼 w22 引用數(shù)組 W第三行的第三列元素,其值是 0。D的代碼 p1l 引用數(shù)組 W第二行的第二列元素 w11 ,
16、其值是 4。所以解答是 D。7. 若有下面的程序片段,則對(duì)數(shù)組元素的錯(cuò)誤的引用是 (16)inta12=0,*p3,*pp ,i; for(i=0;i<3;i+)pi=&ai+4; pp=P;16)A. pp01B. a10C. p3lD. *(*(p+2)+2)參考答案: (16)C 。解析:上述代碼定義變量a是有 12個(gè)整型元素的數(shù)組,它的初值全是0。p是有三個(gè)元素的指針數(shù)組,每個(gè)指針能指向整型變量。哪是指針的指針,它能指向一個(gè)指向整型變量的指針,i 是一個(gè)整型變量。執(zhí)行代碼for(i=0;i<3;i+)Pi=&ai+4使指針數(shù)組p的元素 p0指向 a4,pl指
17、向a5,p2指向 a6。代碼 pp=p使指針變量pp指向 p0。A代碼 pp0l用指針表達(dá)可等價(jià)地寫成*(*pp+l)。其中 *pp 就是 p0, p0的值是 &a4, *pp+1的值是 &a4+1=&a5 ,*(*pp+1) 就是 a5 。B代碼 al0 當(dāng)然是引用數(shù)組 a的元素。 C代碼 p31數(shù)組 p只有三個(gè)元素,沒有p3,所以是錯(cuò)誤的。D代碼 *(*(p+2)+2)中的 (p+2)是 &p2,*(p+2)是p2,其值是 &a6,*(p+2)+2的值是 &a8,*(*(p+2)+2)引用的是 a8。所以解答是C。8. 若有如下定義和語句,則
18、輸出結(jié)果是 (17) int*pp ,*p ,a=10,b=20; PP=&p;P=&a;P=&b;printf("%d%d " , *p ,*PP); (17)A.10 ,20B. 10 ,10 C. 20 ,10 D. 20 ,20參考答案: (17)D 。解析:上述代碼定義變量pp是指針的指針,它能指向一個(gè)指向整型變量的指針。定義變量 p是指針,它能指向一個(gè)整型變量。a是一個(gè)整型變量,它有初值 10。b也是一個(gè)整型變量,它有初值20。代碼 pp=&p使pp指向 p,p=&a使p指向 a,p=&b又使 p指向 b,不再指向
19、 a。所以。 p是引用 b,其值為 20。 *pp 是通過 pp間接引用 p,再通過 p間接引用 b,所以也是 20。所以解答是 D。9. 若有以下定義和語句,則對(duì) w數(shù)組元素的非法引用是 (18) intw23 ,(*pw)3;pw=w;(18)A. *(w0+2)B. *pw2C. pw00D. *(pwl+2)參考答案: (18)B 。解析:上述代碼定義 2行3列的二維數(shù)組 w,定義能指向有 3個(gè)整型元素一維數(shù)組的指針 pw,并讓 pw指向數(shù)組 w的第一行。 A代碼 *(w0+2)中的 w0 是&w00 ,w0+2 是&w02 ,所以 *(w0+2) 就是 w02 。 B
20、代碼 *pw2 中的 pw2 是&w20 ,該數(shù)組 w只有 2行,沒有 w20 ,所以代碼 *pw2 是對(duì)數(shù)組 W元素的非法引用。 C代碼 pw00就是 w00。D代碼 *(pwl+2)是 *(pw+l) ,即 &wl0,pwl+2 就是 &wl2,所以 *(pw1+2)中的 pw1 就就是w12。所以解答是B。10. 若有下列說明,則數(shù)值為 4的表達(dá)式是 (19)inta12=l ,2,3,4,5,6,7,8,9,10,11,12; charc= a, d,g;(19)A. ag-cB. a4C. a d- cD. a d-c參考答案: (19)D 。解析:數(shù)組元素的
21、下標(biāo)自 0開始順序編號(hào),值為 4的元素是 a3 。所以只有下標(biāo)表達(dá)式的值為 3的才是正確的。下標(biāo)表達(dá)式 g-C中的的變量 g和c的值是還未被設(shè)定的,其值不確定。 a4 的值為 5,下標(biāo)為 4是不對(duì)的。 d- c的值為 1,al的值是 2,所以也是不對(duì)的。變量c的值為 a, d-c=3 ,所以正確解答是 D。11. 設(shè)有定義: "chars12="string""則printf("%d ",strlen(s);的輸出是 (20)(20)A. 6B. 7C. 11D. 12參考答案: (20)A 。解析:在 C語言中,字符串是指在有效字符
22、之后有字符率結(jié)束標(biāo)記符的字符列,并約定字符串的長度是指字符率中有效字符個(gè)數(shù),不包括字符串的結(jié)束標(biāo)記符。存放于字符數(shù)組s中的字符串是“ string”,該字符串的長度為 6,所以輸出該字符串的長度應(yīng)是6。正確的解答是 A。解析: A錯(cuò)誤的原因是整數(shù)數(shù)組不可以用字符串對(duì)其初始化。B錯(cuò)誤的原因是,數(shù)組初始化時(shí),初始化指定的值的個(gè)數(shù)多于數(shù)組的元素個(gè)數(shù)。C錯(cuò)誤的原因是,能用字符串初始化的只; 有字符指針變量,或字符數(shù)組。字符率不能對(duì)其它類型的變量初始化,包括字符變量。D是正確的,因?yàn)樽址麛?shù)組可以用小整數(shù) ( 作為字符的 ASCII代碼值 ) 對(duì)其元素初始化。12. 語句 "printf(&qu
23、ot;%d "strlen("ats ol21");"的輸出結(jié)果是 (21)(21)A. 11B. 10C. 9D. 8參考答案: (21)C 。解析:字符串中的字符可以是一般的普通字符,也可以是由反斜杠字符開頭的轉(zhuǎn)義字符。在字符串"abs o1211"中,有三個(gè)轉(zhuǎn)義字符,它們是、1 、,所以該字符串的有效字符個(gè)數(shù)是9。所以正確的回答是C。13. 函數(shù)調(diào)用“strcat(strcpy(strl,str2), str3)”的功能是(22)(22)A.將字符串 strl復(fù)制到字符串 str2 中后再連接到字符串 str3 之后B. 將字符
24、串 strl 連接到字符串 str2 中后再復(fù)制到字符率 str3 之后C. 將字符串 str2 復(fù)制到字符串 strl 中后再將字符串 str3 連接到字符串strl之后D. 將字符串 str2 連接到字符率 strl之后再將字符串 strl復(fù)制到字符串str3 中參考答案: (22)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í)行
25、strcpy(strl,str2) ,然后再執(zhí)行 strcat(strl,str3)所以其功能是將字符串 str2 復(fù)制到字符串 strl中,然后再將字符串 str3,復(fù)制連接到字符串strl之后。正確的選擇是C。14. 設(shè)有如下定義,則正確的敘述為 (23)charx="abcdefg"chary= a, b, c, d, e, f , g;(23)A.數(shù)組 x和數(shù)組 y等價(jià)B. 數(shù)組 x和數(shù)組 y長度相同C. 數(shù)組 X的長度大于數(shù)組 y的長度D. 數(shù)組 X的長度小于數(shù)組 y的長度參考答案: (23)C 。解析:不指定數(shù)組長度的字符數(shù)組定義,其所需要的字節(jié)數(shù)可由初始化中給
26、出的值的個(gè)數(shù)確定。字符數(shù)組可以用字符串初始化,也可用字符逐個(gè)給字符數(shù)組的元素初始化。但用字符初始化時(shí),盡管給出了字符串中的全部字符,還是不會(huì)自動(dòng)有字符率結(jié)束字符。但字符串初始化自動(dòng)會(huì)含有字符串的結(jié)束標(biāo)記符,字符串初始化所需要的字節(jié)個(gè)數(shù)會(huì)比用同樣多的字符初始化多1個(gè)字節(jié)。所以只有 C才是正確的。 117. 設(shè)a=3, b=4執(zhí)廳 printf(”%d,%d, (a ,b) ,(b , a); ”的輸出是 (23)(23)A. 3 ,4B. 4 , 3C. 3 , 3D. 4 , 4參考答案: (23)C 。解析:在調(diào)用格式輸出函數(shù)的語句中,其中每個(gè)格式符對(duì)應(yīng)一個(gè)輸出項(xiàng),格式符 d要求輸出項(xiàng)內(nèi)容以
27、十進(jìn)制整數(shù)形式輸出。第一個(gè)輸出項(xiàng)(a , b) 是一個(gè)逗號(hào)表達(dá)式,該表達(dá)式的值是b的值,輸出 4。接著輸出字符逗號(hào)。第二個(gè)輸出項(xiàng) (b , a) 的值是 a的值,輸出 3。所以語句執(zhí)行將輸出 4, 3。正解的選擇是 C。15. 使用“ Scanf("X=%f ,y=%f", &x,&y) ”,要使 X,y均為 1.25 ,正確的輸入是 (24)(24)A. 1.25 ,C. x=1.25 , y=1.25 D. X=1.25y=1.25參考答案: (24)C 。 解析:格式輸入函數(shù)的格式字符串中的字符可以分成三類:空格類字符、其它普通字符和格式轉(zhuǎn)換說明。其中
28、空格類字符用來跳過一個(gè)空格類字符序列,直至下一個(gè)非空格類字符。普通字符要求輸入字符與其完全相同。格式轉(zhuǎn)換說明對(duì)輸入字符列按格式轉(zhuǎn)換說明進(jìn)行轉(zhuǎn)換,得到內(nèi)部值存儲(chǔ)到對(duì)應(yīng)輸入項(xiàng)所指定的存儲(chǔ)位置中。函數(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
29、是能滿足上述要求的。所以正確選擇是C。16. 設(shè)有 inti=010 , j=10; 則執(zhí)行“ printf("%d,%dn", +i ,j-);”的輸出是 (25)(25)A. ll, 10B. 9 ,10C. 010 ,9D. 10 ,9參考答案: (25)B 。解析:變量 i 和j 的初值分別為八進(jìn)制數(shù) 010和十進(jìn)制數(shù) 10,函數(shù)調(diào)用 Printf( “%d,%dn”, +i ,j-) 中, +i 的值是變量 i 增1后的值,原來值是八進(jìn)制數(shù) 010,等于十進(jìn)制數(shù) 8,輸出 9。j- 的值是變量 j 減1之前的值,輸出 10。格式字符申中的逗號(hào)是普通字符照原樣輸出。
30、所以問題給出的格式輸出函數(shù)調(diào)用將輸出 9, 10。正確的解答是 B。17. 設(shè)a,b為字符型變量,執(zhí)行 "scanf("a=%c ,b=%c",&a, &b)" 后使 a為 A, b為 B,從鍵盤上的正確輸入是(26)(26)A.A”BB. A, BC. A=A,B=BD. a=Ab=B參考答案: (26)D 。解析:函數(shù)調(diào)用 scanf("c=%c ,b=%c",&c,&b)中,普通字符必須按格式字符串要求照原樣輸入, c格式對(duì)緊接的任何字符都輸入。所以實(shí)現(xiàn)問題的要求,輸入字符列應(yīng)為“ a=A, b=
31、B”。另外要特別指出,在程序中,為表示字符常量,字符前后需加單引號(hào)。但用字符格式輸入字符時(shí),在要輸入字符前后不必另鍵人單引號(hào)。若鍵人單引號(hào),則這個(gè)單引號(hào)也將作為字符被輸入。正確的解答是 D。18. 設(shè) X、 y、Z、t 均為 int 型變量,則執(zhí)行以下語句后, t 的值為 (139)x=y=z=1;t=+x|+y&&+z;(27)A.不定值B. 2C. lD. 0參考答案: (27)C 。解析:語句序列“ x=y=z=l;t=+x|+y&&+z;”使變量 x的值為 1,變量 t 是賦一個(gè)邏輯表達(dá)式的值。在 C語言中,由邏輯與和邏輯或構(gòu)成的邏輯表達(dá)式有特別的計(jì)算規(guī)
32、則,順序計(jì)算各邏輯子表達(dá)式,并當(dāng)一旦能得到邏輯表達(dá)式的結(jié)果時(shí),就立即結(jié)束邏輯表達(dá)式的計(jì)算,不再計(jì)算后繼邏輯子表達(dá)式。本題的邏輯表達(dá)式是兩個(gè)運(yùn)算分量的邏輯或,而且左運(yùn)算分量 +X的值為非 0,立即得到邏輯或運(yùn)算的結(jié)果為 1,并將 1賦給變量 t ,所以變量 t 的值為 1。正確解答為C。19. 設(shè)x、y、 z均為 int 型變量,則執(zhí)行以下語句后,x、y,z 的值為(140)X=1;y=0;Z=2;y+&&+Z|+X;(28)A.2 、l 、3B. 2 、0、3C. 2 、 l 、3D. 2 、1、2參考答案: (28)D 。解析:語句序列“ x=l;y=0;z=2;y+&
33、;&+z|+x;”先使變量 x的值為1,變量 y的值為 0,變量 Z的值為 2。由邏輯與和邏輯或構(gòu)成的邏輯表達(dá)式的特別計(jì)算規(guī)則,順序計(jì)算各邏輯子表達(dá)式,并當(dāng)一旦能得到邏輯子表達(dá)式的結(jié)果時(shí),就立即結(jié)束邏輯子表達(dá)式的計(jì)算,不再計(jì)算該邏輯子表達(dá)式。計(jì)算y+因y的值為 0,使 y+&&+z的結(jié)果為 0,立即去計(jì)算 +X,這次計(jì)算使變量 y的值變成1,而變量 Z的值本改變。接著計(jì)算 +X,使 X的值變?yōu)?2。所以經(jīng)上述語句執(zhí)行后, X、y、Z的值依次為 2、1、Z。確解答為 D。20. 假定所有變量均已正確定義,下列程序段運(yùn)行后 X的值是 (29) a=b=c=0;x=35;if
34、(!a)x-;elseif(b);if(c)x=3;elsex=4; A.34B.4C.35D.3參考答案: (29)B 。解析:以變量 a,b,c的值均為 0,變量 x的值為 35,語句:if(!a)x-;elseif(b);if(c)x=3;elsex=4;由兩個(gè)證語句組成。首先執(zhí)行前一個(gè)if 語句“ if(!a)x-;elseif(b); ”,因變量 a的值為 0,條件 !a 成立,執(zhí)行 x- 使 x的值變?yōu)?34。接著執(zhí)行后繼的 if 語句“ if(c)x=3;elseX=4; ”,因變量 c的值為 0,條件不成立而執(zhí)行 X=4,最終使變量 X的值為 4。正確解答是 B。注意前一個(gè) i
35、f 語句的 else 部分的成分語句只有“ if(b); ”,這是一個(gè)單分支 if 語句,且其成分語句為空語句。21. 下面的程序段所表示的數(shù)學(xué)函數(shù)關(guān)系是 (30) y=-l;if(x!=0)if(x>0)y=l;elsey=0;1(x<0)1(x<0) (30)A. y=0(x=0)B. y=-l(X=0) 1(X>0)0(X>0) o(X<0)-l(X<0)C. y=-1(x=0)D. y=1(X=0)1(X>0)0(X>0)參考答案: (30)C 。解析:程序段首先置變量 y的值為一 l ,接著按變量 x值的不同情況重置變量 y的值。
36、重置的首要條件是 x!=0 ,若變量 x的值為 0,則不再重置變量 y的值,所以在 X值為 0情況下, y的值是 -l 。在變量 X的值不等于 0的條件下,若 X的值大于 0,重置變量 y的值為 1; 若變量 X的值小于 0,重置變量 y的值為 0。所以程序段實(shí)現(xiàn)當(dāng)變量 x的值為 0時(shí),變量 y的值為 -1; 當(dāng)變量 X的值大于 0時(shí),置變量 y的值為 1; 當(dāng)變量 X的值小于 0時(shí),置變量 y的值為 0。正確解答為 C。22. 下列語句中,句法錯(cuò)誤的是 ( 不考慮語義 )(31)(31)A. while(x=y)5;B. dox+while(x=10); C. while(0);D. do2
37、;while(a=b);參考答案: (31)B 。解析: while 語句的一般形式是:while( 表達(dá)式 ) 語句這里的表達(dá)式可以是任何合理的表達(dá)式,語句可以是任何語句,包括空語句,或表達(dá)式語句??赡軙鴮懙?while 語句沒有任何意義,如供選擇的 A while(x=y)5; 和 C while(0); ,但這兩個(gè)語句的句法沒有任何錯(cuò)誤。 do-While 語句的一般形式是:do語句 while( 表達(dá)式 );其中的成分語句也可以是任何語句,但供選擇答案Bdox+while(x=10);中的代碼 x+是一個(gè)表達(dá)式,不是語句,所以是錯(cuò)誤的。正確解答是 B。23,循環(huán)語句“ for(x=0,
38、y=0;(y!=123)|(x<4);x+);”的循環(huán)執(zhí)行(32)(32)A.無限次B. 不確定次C. 4 次D. 3 次參考答案: (32)A 。解析: for 循環(huán)語句的初始化部分置變量 x和y的初值為 0,循環(huán)條件是(y!=123)|(x<4),每次循環(huán)后變量 X的值增 1。由于循環(huán)過程中變量 y的值本被修改過,循環(huán)條件又是一個(gè)邏輯或,其左分量(y!=123) 永遠(yuǎn)成立,也就是循環(huán)條件永遠(yuǎn)成立。所以該循環(huán)語句將循環(huán)執(zhí)行無限次。正確解答是A。NextPage24. 若i 、j 已定義為 int 類型,則以下程序段中的內(nèi)循環(huán)體的執(zhí)行次數(shù)是 (33)for(i=5;i;i-)for
39、(j=0;j<4;j+)(33)A. 20B. 24C. 25D. 30參考答案: (33)A 。解析:問題所給的程序段的外循環(huán)是一個(gè)階循環(huán)語句,它的初始化部分置變量 i 的初值為 5,循環(huán)條件簡寫成 i ,即 i!=0 ,每次循環(huán)后變量 i 的值減 1。所以外循環(huán)共控制 5次循環(huán)。內(nèi)循環(huán)也是一個(gè) for 循環(huán)語句,它的初始化部分置變量 j 的初值為 0,循環(huán)條件是 j<4 ,每次循環(huán)后變量 j 的值增 1。所以內(nèi)循環(huán)共控制 4次循環(huán)。這樣,如內(nèi)循環(huán)的體內(nèi)未曾對(duì)變量 i 和j 有修改,在內(nèi)、外循環(huán)一起控制下,內(nèi)循環(huán)的體共被重復(fù)執(zhí)行 20次。正確解答是 A。25. 假定 a和b為in
40、t 型變量,則執(zhí)行以下語句后 b的值為 (34) a=1;b=10;dob-=a;a+; while<(b-<0); (34)A. 9B. -2C. -1D. 8參考答案: (34)D 。解析:在這個(gè)程序段中,循環(huán)開始前變量a的值為 1, b的值為 10,每次循環(huán)從變量 b減去 a,并讓 a增 1,并在循環(huán)條件判定時(shí),又讓 b減去 1。第一次循環(huán)后,變量 b的值變成 9,變量 a的值變?yōu)?2,循環(huán)判斷時(shí),因 b的值大于 0,循環(huán)條件不成立,結(jié)束循環(huán)。但在循環(huán)判斷時(shí),讓 b減去了 1,所以循環(huán)結(jié)束時(shí),變量 b的值為 8。正確的解答是 D。26. 設(shè)x和y為 int 型變量,則執(zhí)行下面
41、的循環(huán)后, y的值為 (35) for(y=l ,x=l;y<=50;y+)if(x>=10)break;if(x%2=1)x+=5;continue; X-=3;(35)A. 2B. 4C.6D.8參考答案: (35)C 。解析: for 循環(huán)語句的初始化部分置變量x和y的初值為 1,循環(huán)條件是(y<=50) ,每次循環(huán)后變量 y的值增 1,控制循環(huán)最多執(zhí)行 50次。循環(huán)體有三個(gè)語句:首先在發(fā)現(xiàn)變量 X的值大于等于 10時(shí),結(jié)束循環(huán) ; 接著是當(dāng)變量 X除2的余數(shù)為 1( 即變量 X是奇數(shù) ) 時(shí),讓變量 X值增 5,讓 X變成偶數(shù),并直接進(jìn)入下一輪循環(huán) ; 如變量 X是偶
42、數(shù),則從變量 X減去 3,讓變量 X變成奇數(shù)。由上述分析知,每兩次循環(huán)使變量 X的值增加 2. 第一次循環(huán)后,變量 X的值變成 6。第二次循環(huán)后,變量X的值變成 3。第三次循環(huán)后,變量 X的位變成 8。第四次循環(huán)后,變量 X的值變成5。第五次循環(huán)后,變量 X的值變成 10。第六次循環(huán)時(shí),因變量 X的位大于等于10,直接跳出循環(huán),這次循環(huán)是非正常結(jié)束,對(duì)變量y的修正只執(zhí)行了 5次。所以循環(huán)結(jié)束后,變量 y的值增至 6。正確的解答是 C。27. 在C語言中,下列說法中正確的是 (36) 不能使用“ do語句 while( 條件 ) ”的循環(huán)“ do語句 While( 條件 ) ”的循環(huán)中必須使用“
43、 break ”語句退出循環(huán) “ do語句 while( 條件 ) ”的循環(huán)中,當(dāng)條件非 0時(shí)將結(jié)束循環(huán)“ do語句 while( 條件 ) ”的循環(huán)中,當(dāng)條件為 0時(shí)將結(jié)束循環(huán)參考答案: (36)C 。解析: do-while 語句的一般形式是:do語句while( 表達(dá)式 );其語義是重復(fù)執(zhí)行其成分語句,直至表示條件的表達(dá)式值為0時(shí)結(jié)束。do-while 語句是正常使用的一種循環(huán)結(jié)構(gòu)之一。do-while 語句的循環(huán)結(jié)束條件由 while 后的表達(dá)式值為 0所控制,并不一定要有 break 語句跳出循環(huán)來結(jié)束循環(huán)。 do-while 語句在條件值非 0時(shí),將繼續(xù)循環(huán),而不是結(jié)束循環(huán)。條件值
44、為 0時(shí),才結(jié)束循環(huán)。所以正確的選擇是。28. 若有以下程序段, W和 k都是整型變量,則不能與該程序段等價(jià)的循環(huán)語句是 (37)W=k;LB:if(w=0)gotOLE; w-;printf("*");gotoLB;LE:(37)A. for(w=k;w!=0;W-)printf("*");B. w=k;While(W-!=0)Prinif(”* ”);C. w=k;dow-;prinif(“* ”); while(W!=0);D. for(w=k;W;-W)printf("*");參考答案: (37)C 。解析:問題所給出的程序段用 goto 語句構(gòu)造一個(gè)循環(huán)控制結(jié)構(gòu),該循環(huán)結(jié)構(gòu)的初值是讓變量 W的值為 k的值,循環(huán)結(jié)束條件是 W的情等于 0,循環(huán)體是讓變量 W的值減 1,并輸出一個(gè)字符 * 。上述循環(huán)控制過程用 for 循環(huán)可描述如下:for=(w=k;W!=0;W-)printh("*");或?qū)懗桑篺or(w=k;w;-w)printf(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年過路權(quán)共享協(xié)議3篇
- 礦業(yè)公司勘探數(shù)據(jù)保密辦法
- 國際貿(mào)易信息系統(tǒng)問題應(yīng)對(duì)方案
- 冰球場裝修合同
- 高新技術(shù)產(chǎn)業(yè)區(qū)二手房買賣范本
- 圖書館清潔保養(yǎng)保潔員合同
- 物聯(lián)網(wǎng)高空作業(yè)合同
- 稀土材料集中采購管理辦法
- 煙草市場監(jiān)督指南
- 債權(quán)股權(quán)轉(zhuǎn)化合同
- 高中技術(shù)《第四章控制和設(shè)計(jì)》單元自測(cè)題
- 2024年廣東省深圳市中考英語適應(yīng)性試卷
- 普法學(xué)法知識(shí)考試題庫(100題附答案)
- 2022-2024北京八年級(jí)(上)期末地理匯編:交通運(yùn)輸
- 四年級(jí)數(shù)學(xué)上冊(cè)期末試卷
- 《會(huì)計(jì)工作經(jīng)歷證明模板》
- 2023年黑龍江民族職業(yè)學(xué)院招聘工作人員考試真題
- 北京林業(yè)大學(xué)《計(jì)算機(jī)網(wǎng)絡(luò)安全》2023-2024學(xué)年期末試卷
- 2025屆重慶康德卷生物高一上期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 初中七年級(jí)數(shù)學(xué)運(yùn)算能力培養(yǎng)策略(課件)
- 2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)檢測(cè)試卷(1-4單元)
評(píng)論
0/150
提交評(píng)論