


版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、全國計算機等級考試二級 C語言真題題庫4 2015年3月( 總分: 43.00 ,做題時間: 120 分鐘 )、選擇題 ( 每小題 1 分,共 40 分 )( 總題數(shù): 40,分數(shù): 40.00)1. 下列敘述中正確的是( )。(分數(shù): 1.00 )A. 每一個節(jié)點有兩個指針域的鏈表一定是非線性結(jié)構(gòu)B. 所有節(jié)點的指針域都為非空的鏈表一定是非線性結(jié)構(gòu)C. 循環(huán)鏈表是循環(huán)隊列的鏈式存儲結(jié)構(gòu)D. 線性結(jié)構(gòu)的存儲節(jié)點也可以有多個指針V解析: 解析 一個非空的數(shù)據(jù)結(jié)構(gòu)如果滿足以下兩個條件:有且只有一個根節(jié)點;每一個節(jié)點最多有一個 前件,也最多有一個后件,則稱為線性結(jié)構(gòu),在數(shù)據(jù)結(jié)構(gòu)中習慣稱為線性表。雙向
2、鏈表節(jié)點具有兩個指針 域,屬于線性結(jié)構(gòu),A選項錯誤。循環(huán)鏈表所有節(jié)點的指針域都為非空,屬于線性結(jié)構(gòu),B選項錯誤。循環(huán)鏈表是鏈表,循環(huán)隊列屬于隊列,隊列只能在隊尾人隊,在排頭退隊,鏈表可以在任何位置插入、刪除,C選項錯誤。雙向鏈表節(jié)點具有多個指針域,D選項正確。2. 使用白盒測試方法時,設計測試用例應根據(jù)()。(分數(shù): 1.00 )A. 程序的內(nèi)部邏輯 VB. 程序的復雜結(jié)構(gòu)C. 程序的功能D. 使用說明書解析: 解析白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關信息來設計或選擇測試用例,對程序所有的邏輯路徑進行測試,故A選項正確。3. 在醫(yī)院, 每個醫(yī)生只屬于
3、某一個診療科, 醫(yī)生同一天可為多位患者看病, 而一名患者可在多個科室治療。 則實體醫(yī)生和患者之間的聯(lián)系是( )。(分數(shù): 1.00 )A. 多對多 VB. 多對一C. 一對多D. 一對一解析: 解析 一般來說,實體集之間必須通過聯(lián)系來建立聯(lián)接關系,分為三類:一對一聯(lián)系(1:1)、一對多聯(lián)系(1 : m)、多對多聯(lián)系(m: n)。醫(yī)生可為多位患者看病,患者也可以找多位醫(yī)生看病,實體醫(yī)生與患 者聯(lián)系是多對多,A選項正確。4. 設序列長度為n,在最壞情況下,時間復雜度為O(log2n)的算法是( )。(分數(shù): 1.00 )A. 二分法查找 VB. 順序查找C. 分塊查找D. 哈希查找
4、解析:解析對長度為n的線性表排序,最壞情況下時間復雜度,二分法查找為O(log2n);順序查找法為O(n);分塊查找時間復雜度與分塊規(guī)則有關;哈希查找時間復雜度為0(1),因其通過計算HashCode來定位元素位置,所以只需一次即可。故正確答案為A選項。5. 設數(shù)據(jù)集合為D= 1,3, 5, 7,9,D上的關系為R,下列數(shù)據(jù)結(jié)構(gòu)B= (D,R)中為非線性結(jié)構(gòu)的是()分數(shù): 1.00 ) 解析:解析一個非空的數(shù)據(jù)結(jié)構(gòu)如果滿足以下兩個條件:有且只有一個根節(jié)點;每一個節(jié)點最多有一個A. R = (5,1),(7,B. R = (9,7),(1,C. R = (1,9),(9,D. R = (1,3)
5、,(3,9), (1, 7), (9, 3)3), (7, 1), (3, 5)7), (7, 5), (5, 3)5), (5, 9) V前件,也最多有一個后件,則稱為線性結(jié)構(gòu),在數(shù)據(jù)結(jié)構(gòu)中習慣稱為線性表。A選項中,5為根節(jié)點,線性表為51793。B選項中,9為根節(jié)點,線性表為 97135。C選項中,1為根節(jié)點,線性表為 19753。D選項, 節(jié)點1與節(jié)點7都是根節(jié)點,屬于非線性結(jié)構(gòu),故 D選項正確。6. 深度為7的二叉樹共有127個節(jié)點,則下列說法中錯誤的是()。(分數(shù):1.00 )A. 該二叉樹有一個度為1的節(jié)點 VB. 該二叉樹是滿二叉樹C. 該二叉樹是完全二叉樹D. 該二叉樹有64個
6、葉子節(jié)點解析:解析在樹結(jié)構(gòu)中,一個節(jié)點所擁有的后件個數(shù)稱為該節(jié)點的度,所有節(jié)點中最大的度稱為樹的度。完全二叉樹指除最后一層外,每一層上的節(jié)點數(shù)均達到最大值,在最后一層上只缺少右邊的若干節(jié)點。滿 二叉樹指除最后一層外,每一層上的所有節(jié)點都有兩個子節(jié)點的二叉樹。深度為7的二叉樹,前6層共有節(jié)點個數(shù)為26-1 = 63,則第7層有127-63 = 64個節(jié)點,即第7層節(jié)點數(shù)達到最大值,故此二叉樹為滿二叉 樹,也是完全二叉樹,該二叉樹沒有度為1的節(jié)點,有64個葉子節(jié)點。故正確答案為 A選項。7. 某二叉樹的中序序列為 BDCA后序序列為DCBA則前序序列為()。(分數(shù):1.00 )A. DCBAB.
7、BDCAC. ABCD VD. BADC解析:解析二叉樹遍歷可以分為3種:前序遍歷(訪問根節(jié)點在訪問左子樹和訪問右子樹之前)、中序遍歷(訪問根節(jié)點在訪問左子樹和訪問右子樹兩者之間)、后序遍歷(訪問根節(jié)點在訪問左子樹和訪問右子樹之后)。本題中中序序列為 BDCA后序序列為DCBA可知A為根節(jié)點,BDC為左側(cè)節(jié)點,C是B右子節(jié)點,D 是C右子節(jié)點,故前序序列為 ABCD C選項正確。8. 下面能作為軟件需求分析工具的是()。(分數(shù):1.00 )A. PAD 圖B. 程序流程圖C. 甘特圖D. 數(shù)據(jù)流程圖(DFD圖) V解析:解析軟件需求分析方法包括結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋纱箢?,前者常?/p>
8、工具為數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定表、判定樹等。故 D選項正確。9. 下面不屬于對象主要特征的是()。(分數(shù):1.00 )A. 唯一性B. 多態(tài)性C. 可復用性 V解析:解析對象的基本特點如下表所示。D. 封裝性10. I(分數(shù):1.00 )A. (c,c,11,4) VB. (e,e,6, 1)C. (a,a,2,4)D. (a,a,2, 4)和(e,e,6,1)解析:解析從關系中找出滿足給定條件的元組的操作稱為選擇,用b表示?!叭恕睘榻贿\算,它由屬于前者且屬于后者的元組組成。題目為選出屬性 A等于屬性B,同時屬性C大于4,并且屬性D大于3的元組,結(jié)果為(c , c, 11,
9、4),應保留全部屬性。故 A選項正確。11. 簡單程序設計步驟中不包括( )。(分數(shù): 1.00 )A. 編碼B. 確定算法C. 安裝編譯程序VD. 調(diào)試解析: 解析 簡單程序設計步驟為確定數(shù)據(jù)結(jié)構(gòu)、確定算法、編碼、調(diào)試、整理文檔,不包括安裝編譯程 序,故答案為C選項。12. 若想給已定義為int型的變量a, b, c, d賦值為1,以下選項中錯誤的語句是()。(分數(shù): 1.00 )A. d = 1, c = d, b = c, a = b;B. a = b=c = d= 1 ;C. a=1, b=a, c=b, d=c;D. a=b, b=c, c=d, d=1; V解析:解析賦值是將一個常
10、量的值賦給一個變量,在D選項中,變量b的值相當于一個未知的數(shù),用變量b對變量a賦值,不滿足題干要求的變量a、b、c、d賦值為1的條件,因此答案選 D選項。13. 有C語言表達式2*3+4+15%3,關于其執(zhí)行順序,以下敘述正確的是()。(分數(shù): 1.00 )A. 先執(zhí)行 2*3 得 6,再執(zhí)行 6+4 得 10,再執(zhí)行 15% 3 得 0,最后執(zhí)行 10+0 得 10 VB. 先執(zhí)行2*3得6,再執(zhí)行15%3得5,最后執(zhí)行6+4+5得15C. 先執(zhí)行15%3得0,再執(zhí)行2*3得6,最后執(zhí)行6+4+0得10D. 先執(zhí)行15%3得3,再執(zhí)行4+3得7,再執(zhí)行2*3得6,最后執(zhí)行6+7得13解析:
11、解析 首先運算符“ *”和運算符“%”有相同優(yōu)先級,并且優(yōu)先級都高于運算符“+”,再根據(jù)運算結(jié)合性,乘法和取余運算都滿足從左到右的運算規(guī)則,C D選項錯誤;因為15%3= 0,排除B選項,答案為A選項。14. 若有定義:int a; float b ; double c;,程序運行時輸入:1, 2, 3,能把1輸入給變量a、2輸入給 變量 b、 3 輸入給變量 c 的輸入語句是( )。(分數(shù): 1.00 )A. scanf(" %d,% f ,% lf" , a, b, c) ; VB. scanf(" %d% f%lf , a,b, c) ;C. scanf(&
12、quot; %d,%lf ,%lf" ,a,b,c);D. scanf( ”% d,% f,%f”, a,b,c);解析:解析scanf()函數(shù)中, d對應的參數(shù)是整數(shù)型地址, f對應的參數(shù)是float型地址, If對應 的參數(shù)是double型地址,因此 C D選項錯誤;在格式化字符串中,如果輸入地址有多個,應該用逗導隔 開,B選項錯誤,故答案為 A選項。15. 以下選項中,合法的 C語言實數(shù)是()。(分數(shù): 1.00 )A. E1B. 1e0 VC. 0.10eD.解析:解析C語言的數(shù)值表示中,e和E都表示“10的冪次”,后面必須接整數(shù),排除C D選項;e前面必須有底數(shù),排除 A選
13、項,答案為B選項。16. 關于程序中的注釋,以下敘述正確的是( )。(分數(shù): 1.00 )A. 注釋的內(nèi)容必須放在一對 *和*之間 VB. 注釋必須置于所說明的語句前或語句后C. 注釋中間可以嵌套另一個注釋D. 注釋內(nèi)容錯誤會導致編譯岀錯解析:解析程序中,注釋可以岀現(xiàn)在程序的任何位置,B選項錯誤;注釋中間不能嵌套另一個注釋,C選項錯誤;注釋內(nèi)容不影響程序編譯,D選項錯誤,故答案為 A選項17.有以下程序:123V回車,則輸岀結(jié)果是(分數(shù):1.00 )A. 1,2, 3,2, 3,3,B. 1,2, 3,C. 1,2, 2,3, 4,5, VD. 1 ,1,1 , 2, 2, 3解析:解析程序在
14、執(zhí)行switch語句時,根據(jù)switch后面表達式的值找到匹配的入口標號,執(zhí)行對應的 case語句,之后不再進行判斷,繼續(xù)執(zhí)行此case后面的語句,并且各個 case和default的出現(xiàn)次序不影響執(zhí)行結(jié)果,即題目中的default放在開始位置,與放在最后是一樣的結(jié)果;運算符“+”放在變量后面時,表示先執(zhí)行其他操作,再將變量+1。本題,第一次循環(huán)輸入 b = 1,執(zhí)行case 1,輸出1;再執(zhí)行case2,輸出2。第二次循環(huán)輸入 b= 2,執(zhí)行case 2,輸出2。第三次循環(huán),輸入b= 3,沒有case與其對應,故執(zhí)行default ,輸出b = 3,接著執(zhí)行case 1 ,輸出4,再執(zhí)行ca
15、se 2,輸出b = 5,至此退出for語句 因此,最后輸出為1, 2, 2, 3, 4, 5,答案為C選項。18. 以下非法的定義語句是()。(分數(shù):1.00 )A. long b = 0L;B. unsigned int a= -100u ; VC. short c2 = 0123;D. int d = 0x0;解析:解析關鍵字unsigned定義的是“無符號數(shù)",則B選項定義錯誤,答案為 B選項。19. 有以下程序:程序運行后的輸出結(jié)果是()。(分數(shù):1.00 )A.1 VB. 4C. 0D. 10解析:解析for語句中,當a = 0時,滿足for循環(huán)中if語句的條件,執(zhí)行co
16、ntinue繼續(xù)下一次循環(huán)執(zhí)行a+1后進入for語句循環(huán),此時a= 1不滿足if條件,執(zhí)行b = b+a,此時b = 1,接著執(zhí)行break語句,20.有以下程序:終止循環(huán),最后輸岀b=1,故答案為A選項abcdefg#,則輸出結(jié)果是()(分數(shù):1.00 )A. bcdefgh $B. bcdefghC. abcdefg#D. abcdefgV解析:解析運算符“ +”放在變量后面時,先參與其他操作,再對變量+1。putchar(c+)表示先輸小當前c值,再對c值+1,當輸入abcdef#時,在while語句中,當程序輸入“ #”時,循環(huán)退出。因此輸出為abcdefg,答案為D選項21.有如下程
17、序:(分數(shù):1.00 )I程序運行后的輸岀結(jié)果是()A. a12dVB. ab3dC. IOabD. llac程序運行后的輸岀結(jié)果是(解析:解析if(i % 3)表示i對3求余,如果不等于 0,則執(zhí)行putchar(a+i),否則執(zhí)行putchar(b+i) 可見,i = 0 時,i %3= 0,執(zhí)行 putchar(b+i),此時 b= 'a'。以此類推,當 i = 1 時,執(zhí)行 putchar(a+i). 輸出1; i = 2時,執(zhí)行putchar(a+i),輸出2 ; i = 3時,執(zhí)行putchar(b+i),輸出d。故答案為 A選項)。22. 有以下程序:(分數(shù):1.
18、00 )A. ML VB. MKC. OPD. mmIZZ)程序運行后的輸出結(jié)果是()解析:解析(ch! = 'K')表示如果ch不等于K成立時,輸出ch,再對ch進行ASCII碼減一操作,循環(huán)開 始時,ch = 'M',不等于'K',輸出M,執(zhí)行ch-,此時ch = 'L',循環(huán)繼續(xù)輸出L,執(zhí)行ch-,此時ch = 'K',退岀循環(huán)。答案為 A選項。23. 有以下程序:(分數(shù):1.00 )A. 3,3B. 5,5C. 3,5 VD. 5,3解析:解析函數(shù)f()的功能是:定義一個臨時的整型指針變量 s,指向全局變量
19、k,然后用k的值對s指 向的內(nèi)存地址進行賦值,結(jié)果當然是 k的值不變;在main函數(shù)中,調(diào)用f()函數(shù),雖然使用 m的地址初始 化s,但是s在f函數(shù)內(nèi)部又被指向k的地址,所以s的后續(xù)操作對 m沒有任何影響,因此最后輸出為 3, 5,答案為C選項。I24. 有如下程序:程序運行后的輸出結(jié)果是()。(分數(shù):1.00 )A. 12345B. 01234 VC. 45678D. 43210解析:解析程序的main()函數(shù)中,printf()函數(shù)調(diào)用sum_mod()函數(shù),計算結(jié)果為i+4 % 2。因為4% 2為0,所以循環(huán)中函數(shù)每次執(zhí)行的結(jié)果都是返回i,因此答案為B選項。25. 以下對指針變量的操作中
20、,錯誤的程序段是()。(分數(shù):1.00 )A. int x = 0, *p ; *p = x;VB. int x = 1, *p , *q =& x; p= q;C. int *p , *q ; q = p= NULLD. int p , *q ; q=& p;解析:解析定義指針p后,必須在指針P初始化時進行賦值,故 A選項程序錯誤,答案為 A選項。26. 有如下程序段:int *p , a = 1; p =& a; *p = 10;則變量a的值為()。(分數(shù):1.00 )A. 不能確定B. 1C. 10 VD. 11HE齡解析:解析題中定義一個指針變量 p和整數(shù)變量a
21、,并將a賦初值1,再把a地址的值賦給指針p,最后 把10賦給指針p所對應的地址單元,此時改變了a的值,a = 10,答案為C選項。27. 有以下程序;(分數(shù):1.00 )A. 6 , 9,VB. 6,10,C. 6,6,D. 6 , 7,解析:解析static表示定義一個靜態(tài)分布變量,變量只會初始化一次,在for循環(huán)體內(nèi)調(diào)用f()函數(shù),f()函數(shù)是將當前的n,m, a,k值加1后進行累加返回主函數(shù)輸出。第二次累加時,n值初始值為1,因此輸出分別為6,9,答案為A選項。程序運行后的輸岀結(jié)果是()。(分數(shù):1.00 )A.6 ,5,4,6,5,4,B.4 ,5,6,5,4,VC.4 ,5,6,4,
22、5,6,28.有以下程序:D.6,5, 4,5, 6,解析:解析本題考查了函數(shù)的遞歸調(diào)用,在main函數(shù)中調(diào)用f(z , 3)后,系統(tǒng)進入f()函數(shù),隨后進入if語句,輸出x0;再進入f()函數(shù)時,存在&x1函數(shù)的遞歸,輸出x1;再進入f()函數(shù),再進行遞 歸,輸出x2;隨后結(jié)束返回輸出上一個f()函數(shù),輸出x1;再返回第一個f()函數(shù)中,輸出x0,程序運行后的輸岀結(jié)果是4, 5, 6, 5, 4。因此答案為B選項。29.有如下程序:丨I程序運行后的輸出結(jié)果是()。(分數(shù):1.00 )A. 4 , 5, 1 , 3B. 4 , 3, 2, 1C. 4 , 5, 3, 3D. 4 , 5
23、, 3, 4 V解析:解析當將一個字符串存儲到一個字符型數(shù)組中時,系統(tǒng)會在其末尾自動加上一個空字符 0'作為結(jié)束符。strlen()函數(shù)的返回值是字符串的實際長度,不包括結(jié)束符,所以 =3。而 sizeof() sizeof(a) = 5。30.有以下程序:(分數(shù):1.00 )A.8 VB.9strlen(a) = 4, strlen(b)函數(shù)的作用是返回一個對象或者類型所占的內(nèi)存字節(jié)數(shù),返回值包括結(jié)束符,所以由于一個指針在內(nèi)存中占用 4個字節(jié),故sizeof(b) = 4,答案為D選項。程序運行后的輸岀結(jié)果是()。C. 10D. 7解析:解析static 定義一個靜態(tài)分布變量,變量只
24、會初始化一次。在for函數(shù)的循環(huán)體中調(diào)用sum(i)函數(shù),循環(huán)3次,每次都把i值累加在變量init中,再執(zhí)行i+1操作。因此,退出循環(huán)后,init = 1+1+2+3 =7,返回main()函數(shù)再次執(zhí)行sum(1),此時init = 8,把init的地址賦給指針p,輸出指針p指向的init 的值,答案為A選項。31.以下對C語言函數(shù)的敘述中正確的是()。(分數(shù):1.00 )A.調(diào)用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳給實參VB. 函數(shù)既能嵌套定義,又能遞歸定義C. 函數(shù)必須有返回值,否則不能使用D. 程序中有調(diào)用關系的所有函數(shù)必須放在同一個源程序中解析:解析C語言不能嵌套定義函數(shù),能
25、遞歸定義函數(shù),因此B選項錯誤;函數(shù)可以沒有返回值,沒有返回值的涵數(shù)返回類型為 void , C選項錯誤;程序有調(diào)用關系的所有函數(shù)可以不放在同一源程序中,D選程序運行后的輸岀結(jié)果是(項錯誤,答案為A選項。)。32. 有以下程序:(分數(shù):1.00 )A. 27 , 27B. 9 , 9C. 27, 29 VD. 29, 29解析:解析定義一個帶參數(shù)的宏時,字符串內(nèi)的形參通常要用圓括號括起來,以避免出錯。本題中,S(k+j)C選項。)。相當于執(zhí)行運算k+j /k+j*k+j,將k、j值代人運算后取整為27, S(j?+k)同理,因此答案為33. 若有定義:typedef int *T ; T *a2
26、0;則以下與上述定義中 a類型完全相同的是(分數(shù):1.00 )A. int *a20B. int(*a)20C. int*(*a)20D. int *a20題中,答案為A解析:解析“typedef類型名新類型名”表示為一個已有定義的類型標識符重新定義一個類型名, 首先將指針類型命名為 T,再通過T定義了一個數(shù)組指針*a20,整個功能等價于int *a20 選項。34. 設有以下程序段:(分數(shù):1.00 )A. scanf(”B. scanf(”C. scanf("D. scanf("% S",% s",% s",% s",從鍵盤讀人字
27、符串給結(jié)構(gòu)體變量rec的name成員,錯誤的輸入語句是()。rec- > name); V rec . name);(*ptr) . name); ,ptr- > name);解析:解析題中聲明了一個結(jié)構(gòu)類型 person的同時,定義了 2個結(jié)構(gòu)變量,一個為rec ,另一個為指針 變量ptr。A選項中,rec是一個結(jié)構(gòu)體變量,結(jié)構(gòu)體變量訪問結(jié)構(gòu)成員的力式應該為:rec 成員名,這里用法錯誤,答案為 A選項。I:戸越i;宰試35.有如下程序:(分數(shù):1.00 )程序運行后的輸岀結(jié)果是()。A.min =0,max= 6B.min =1,max= 20C.min =1,max= 19D
28、.min =0,max= 2136.有以下程序:(分數(shù):1.00 )A.EOF程序運行后,在當前目錄下會生成一個res . txt文件,其內(nèi)容是()。V解析:解析本題首先在main函數(shù)定義一個數(shù)組 array ,然后定義了一個結(jié)構(gòu)變量min_max。min_max使用函數(shù)get_min_max()的返回值進行初始化,函數(shù)get_min_max()的功能就是將數(shù)組中的最小值和最大值取 出來后分別賦值給結(jié)構(gòu)變量min_max中的first 和second兩個整形變量,數(shù)組長度為6個單位,初始化4個數(shù)據(jù),剩下2個默認為0,因此答案為D選項。B. M VC. KLMD. L解析:解析for循環(huán)中,每次
29、都執(zhí)行打開文件res .txt、寫入文件、再關閉文件的操作,由于fopen()函數(shù)使用W模式寫文件,所以每次打開res . txt后,都刪除文件中原有的數(shù)據(jù),再重新寫入新數(shù)據(jù)。所以文件最終的內(nèi)容只與最后一次for循環(huán)有關,最后一次for循環(huán)是向文件res . txt寫入K +2,即M正確答案是B選項。37.有如下定義:(分數(shù):1.00 )若文件已正確打開,則以下將文件內(nèi)容讀人數(shù)組a中的語句錯誤的是()。VA.B.C.D.解析:解析fread()函數(shù)用法是針類型,應該傳入指針類型的值,38.有以下程序段:int m = 33,是()。(分數(shù):1.00 )A. m = 66,B. m = 33,C
30、. m= 66,D. m= 33,n = 66n=66 n = 33 Vn = 33fread(void *buffer , int size , int n , FILE *fp),其中 buffer 為指 ai應該改為& ai,因此A選項語句錯誤,答案為A選項。n= 66; m= mAn; n= nAm; m= mAn; 執(zhí)行上述語句后,m和n的值分別解析:解析C語言中,“A”表示按位異或,因此,把m n分別轉(zhuǎn)化為二進制后,進行題中要求的運算及賦值后,m= 66, n= 33,由結(jié)果可以發(fā)現(xiàn)該方法其實是不使用中間變量交換兩個變量的值。答案為C選程序的運行結(jié)果是()。項。39. 有以
31、下程序:(分數(shù):1.00 )A. ABCDB. A66C68C. 65666768D. 65B67D V解析:解析#define命令定義一個函數(shù),該函數(shù)判斷一個數(shù)能否整除2,如果能,默認當前數(shù)值為字符類型的ASCII碼值,否則認為當前數(shù)值為整數(shù)類型,在for循環(huán)中,調(diào)用該函數(shù)進行輸岀,答案為 D選項。40. 有如下定義:struct st int x ; float y ; rec ,*px ; 若要使指針px指向rec的成員x,正確的 賦值語句是()。(分數(shù):1.00 )A. px = (struct st*)&rec . x;VB. px = (struct st*)rec. x;
32、C. px = & rec . x;D. *px = rec . x ;解析:解析rec . x表示整型變量,強制轉(zhuǎn)化為 struct st類型的指針賦給px后,px并不指向rec的x, B選項錯誤;& rec . x是整型變量的地址,不能直接賦給 struct st 類型的指針,C選項錯誤;px未初始 化,指向未知內(nèi)存單元,將 rec . x(整數(shù)值)賦值給該內(nèi)存單元是很危險的,并且這種方法也不能使px指向rec的成員x, px依然指向未知內(nèi)存單元,D選項錯誤;&rec .x是rec的成員x的地址,這是整型指針, 經(jīng)過強制轉(zhuǎn)化后,賦值給 px,可以使px指向rec的成員x,答案為A選項。二、程序填空題(總題數(shù):1,分數(shù):1.00)41. 給定程序中,函數(shù)fun的功能是:計算形參x所指數(shù)組中N個數(shù)的平均值(規(guī)定所有數(shù)均為正數(shù)),將所 指數(shù)組中大于平均值的數(shù)據(jù)移至數(shù)組的前部,小于等于平均值的數(shù)據(jù)移至x所指數(shù)組的后部,平均值作為函數(shù)值返回,在主函數(shù)中輸出平均值和移動后的數(shù)據(jù)。例如,有10個正數(shù):46、30、32、40、6、17、45、15、48、26,平均值為 30. 500000。移動后的輸出為:46、32、40、45、48、30、6、17、15、26。請注意:部分源程序在文件在程序的下劃線處填
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電視劇導演聘用合同書(古裝戰(zhàn)爭)
- 2025年度個人出租車承包運營管理及車輛更新合同
- 2025年吉林工業(yè)職業(yè)技術學院單招職業(yè)適應性測試題庫及答案1套
- 健康管理融資居間合同
- 2025年度教育培訓借款居間服務合同協(xié)議書
- 2025年度農(nóng)村別墅裝修與設施配套合同
- 2025年度房屋租賃權轉(zhuǎn)讓及租賃保證金合同協(xié)議書
- 歷史建筑保護扶梯改造合同
- 2025年度協(xié)議離婚孩子撫養(yǎng)權及父母子女法律咨詢服務合同
- 2025年度員工股份激勵與股權激勵評估協(xié)議
- 起重裝卸機械操作工國家職業(yè)技能標準(2018年版)
- 叉車裝卸區(qū)域安全風險告知牌
- 五年級下冊美術課件-第2課 新街古韻丨贛美版
- 《普通生物學教案》word版
- 秦荻輝科技英語寫作教程練習答案(共42頁)
- GB∕T 41168-2021 食品包裝用塑料與鋁箔蒸煮復合膜、袋
- 部編版語文一年級下冊繪本閱讀課-優(yōu)質(zhì)課件.pptx
- 新人教版九年級全一冊物理知識點填空題匯編
- 人教版五年級數(shù)學下冊每個單元教材分析(共九個單元)
- 辦好高水平民辦高中的哲學思考-教育文檔
- 小學生如何理解句子的含義(課堂PPT)
評論
0/150
提交評論