版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、二級 C 語言筆試 -477( 總分: 98.00 ,做題時間: 90 分鐘 )一、 選擇題 (總題數(shù): 40,分數(shù): 66.00)1. 按照“先進后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 ( ) 。A) 隊列 B) 棧C) 雙向鏈表 D) 二叉樹(分數(shù): 1.00 )A.B. VC.D.解析: 解析棧是一種特殊的線性表,其插入和刪除運算都只在線性表的一端進行,而另端是封閉的。 進行插入、刪除的端稱為棧頂,封閉的一端稱為棧底。棧頂元素是最后被插入的元素,也是最后被刪除 的,是按先進后出的原則組織數(shù)據(jù)的。2. 在深度為 5 的滿二叉樹中,葉子結(jié)點的個數(shù)為 ( ) 。A) 32 B) 31 C) 16 D)
2、 15(分數(shù): 1.00 )A.B.C. VD.解析:解析 所謂滿二叉樹是指這樣的一種二叉樹: 除最后一層外, 每一層上的所有結(jié)點都有兩個子結(jié)點。這就是說,在滿二叉樹中,每層上的結(jié)點數(shù)都達到最大值,即在滿二叉樹的第k層上有2k-1個結(jié)點,且深度為m的滿二叉樹有2m-1個結(jié)點。由此可知,本題中葉子結(jié)點的個數(shù)為25-1=16。3. 下列敘述中正確的是 ( ) 。A) 線性表的鏈式存儲結(jié)構(gòu)與順序存儲結(jié)構(gòu)所需要的存儲空間是相同的B) 線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空間一般要多于順序存儲結(jié)構(gòu)C) 線性表的鏈式存儲結(jié)構(gòu)所需要的存儲空唰一般要少于順序存儲結(jié)構(gòu)D) 上述三種說法都不對(分數(shù): 2.00 )A
3、.B. VC.D.解析: 解析 線性表的存儲分為順序存儲和鏈式存儲。在順序存儲中, 所有元素所占的存儲空間是連續(xù)的,各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。所以每個元素只存儲其值就可以了,而在鏈式存儲的 方式中,將存儲空間的每一個存儲結(jié)點分為兩部分,一部分用于存儲數(shù)據(jù)元素的值,稱為數(shù)據(jù)域;另一部 分用于存儲下一個元素的存儲序號,稱為指針域。所以線性表的鏈式存儲方式比順序存儲方式的存儲空間 要大一些。4. 下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性的是 ( ) 。A) 線性表 B) 隊列 C) 樹 D) 棧(分數(shù): 2.00 )A.B.C. VD.解析: 解析 線性結(jié)構(gòu),是指數(shù)據(jù)元素只有一個直接前件元素和
4、直接后件元素。線性表是線性結(jié)構(gòu)。棧和 隊列是指對插入和刪除操作有特殊要求的線性表,樹是非線性結(jié)構(gòu)。5. 下列工具中為需求分析常用工具的是 ( ) 。A) PAD B) PFD C) N-S D) DFD(分數(shù): 1.00 )A.B.C.D. V解析:解析需求分析常用的工具有數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表。PAD('可題分析 圖)、PFD(程序流程圖)、N-S(盒式圖)都是詳細設計的常用工具,不是需求分析的工具。6. 結(jié)構(gòu)化程序設計主要強調(diào)的是 ( ) 。A) 程序的規(guī)模 B) 程序的效率C) 程序設計語言的先進性 D) 程序的易讀性(分數(shù): 1.00 )A.B.C
5、.D. V解析: 解析 程序不光是編寫完就結(jié)束了,為了測試和維護程序,往往還有其他人閱讀和跟蹤程序,因此 程序設計的風格應該強調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。7. 下列關(guān)于線性鏈表的描述中正確的是 ( ) 。A) 存儲空間不一定連續(xù),且各元素的存儲順序是任意的B) 存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面C) 存儲空間必須連續(xù),且各前件元素一定存儲在后件元素的前面D) 存儲空間必須連續(xù),且各元素的存儲順序是任意的(分數(shù): 2.00 )A. VB.C.D.解析: 解析 線性表的鏈式存儲結(jié)構(gòu)中的結(jié)點空間是動態(tài)生成的,它們在內(nèi)存中的地址可能是連續(xù)的,也 可能是不連
6、續(xù)的。8. 關(guān)于結(jié)構(gòu)化程序設計原則和方法的描述錯誤的是 ( ) 。A) 選用的結(jié)構(gòu)只準許有一個入口和一個出口B) 復雜結(jié)構(gòu)應該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)C) 不允許使用GOTO語句D) 語言中所沒有的控制結(jié)構(gòu),應該采用前后一致的方法來模擬(分數(shù): 2.00 )A.B.C. VD.解析:解析限制使用GOTO語句是結(jié)構(gòu)化程序設計的原則和方法之一,但不是絕對不允許使用 GOTO語句其他三項為結(jié)構(gòu)化程序設計的原則。9. 某二叉樹中有 n 個度為 2 的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)為A) n+1 B) n-1C) 2n D) n/2(分數(shù): 2.00 )A. VB.C.D.解析:解析對于任
7、何一棵二叉樹 T,如果其終端結(jié)點(葉子結(jié)點)數(shù)為n1,度為2的結(jié)點數(shù)為n2,則n仁n2+1 所以該二叉樹的葉子結(jié)點數(shù)等于n+1。10. 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成 ( ) 。A) 定義、開發(fā)、運行維護 B) 設計階段、編程階段、測試階段C) 總體設計、詳細設計、編程調(diào)試 D) 需求分析、功能定義、系統(tǒng)設計(分數(shù): 1.00 )A. VB.C.D.解析: 解析 通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期,它可 以分為軟件定義、軟件開發(fā)及軟件運行維護三個階段。11. 數(shù)據(jù)庫設計中反映用戶對數(shù)據(jù)要求的模式是 ( ) 。A) 內(nèi)模式 B) 概念模式
8、C) 外模式 D) 設計模式(分數(shù): 2.00 )A.B.C. VD.解析: 解析 概念模式,是由數(shù)據(jù)庫設計者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點構(gòu)造的全局邏輯結(jié)構(gòu), 是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖(全局視圖 )。它是由數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)模式描述語言(Data Description Language , DDL)來描述、定義的,體現(xiàn)、反映了數(shù)據(jù)庫系統(tǒng)的整體觀。外模式對應于用戶級,它是某個或某幾個用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應用有關(guān)的數(shù)據(jù)的邏輯表示。外模式是從模式導出的一個子集,也稱為子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,也就是用戶 所見
9、到的數(shù)據(jù)模式,它反映了用戶對數(shù)據(jù)的要求。包含模式中允許特定用戶使用的那部分數(shù)據(jù),用戶可以 通過外模式描述語言來描述、定義對應于用戶的數(shù)據(jù)記錄 (外模式 ) ,也可以利用數(shù)據(jù)操縱語言 (Data Manipulation Language , DML對這些數(shù)據(jù)記錄進行描述。內(nèi)模式,對應于物理級,它是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫最低一級的邏輯描述, 它描述了數(shù)據(jù)在存儲介質(zhì)上的存儲方式和物理結(jié)構(gòu),對應著實際存儲在外存儲介質(zhì)上的數(shù)據(jù)庫。內(nèi)模式由 內(nèi)模式描述語言來描述、定義,它是數(shù)據(jù)庫的存儲觀。12. 下列選項中正確的語句組是 ( ) 。A) char s8; s="Beij
10、ing" B) char *s; s="Beijing"C) char s8; s="Beijing" D) char *s; s="Beijing"(分數(shù): 1.00 )A.B.C.D. Vchar解析:解析本題考查字符串的定義和賦初值。選項 A)、C)錯誤,字符數(shù)組的賦值可以逐個字符賦給數(shù) 組中各元素,也可以定義字符數(shù)組時整個字符串賦初值。 選項B)、D)是給字符指針賦值,正確的格式是 *s;s="Beijing" ;選項 B)不對。13. 以下不能定義為用戶標識符是 。(A) Main(B) _0(
11、C) _int(D) sizeof(分數(shù): 1.00 )A.B.C.D. V解析:14. 下列程序的輸出結(jié)果是 ( )#include < stdio.h >main()int a=4 ; printf("%d/n",(a+=a-=a*a)A) -8 B) 14 C) 0 D) -24(分數(shù): 2.00 )A.B.C.D. V解析:解析表達式a+=a-=a*a看起來復雜,其實將它分成兩個表達式來計算就簡單了:第一個表達式 (a-=a*a)=(a=a-a*a=-12):第二個表達式(a+=a-=a*a)=(a=a+a=-24)。15. 下列程序的輸出結(jié)果是 ( )
12、 。mainint x=8,y=8;printf("%d%d/n",x-,-y);A) 8 8 B) 7 7 C) 7 8 D) 8 7(分數(shù): 2.00 )A.B.C.D. V解析:解析本題考查自減(-)運算符的使用?!癤 - ”是先引用x的值然后將x的值減1,所以輸出的x 值為8;“ - y”是先將y的值減1然后再引用y的值,所以輸出的y值為7。16. 下列不是合法的 C 語言語句是 ( ) 。A) a = 5 B) int i;i+; C); D);(分數(shù): 1.00 )A. VB.C.D.解析:解析選項A)是一個表達式,它后面沒有分號結(jié)尾(C語言中規(guī)定語句必須以分號
13、結(jié)束),所以它不是語句;選項B)用一個花括號把幾條語句括起來了,這是一個復合語句;選項C)中只有一個分號,是一個空語句;選項D)是個復合語句,也是一個空語句。17. 若有表達(W)?(-x):(+y),則其中與 W等價的表達式是 。A) w=1 B) w=0 C) w!=1 D) w!=0(分數(shù): 1.00 )A.B.C.D. V解析: 評析 條件表達式的一般形式為:表達式 1?表達式 2:表達式 3,其執(zhí)行順序:先求解表達式 1,若 非0( 真)則求解表達式 2,此時表達式 2 的值就作為整個條件表達式的值,若表達式 1 的值為 0(假),則求 解表達式3,此時表達式3的值就作為整個條件表達
14、式的值。 本題中相當于先判斷 w的值是否為非0,所以 與 w 等價的表達式是 w!=0 。18. 下列能正確定義且賦初值的語句是 ( ) 。A) int n1=n2=10; B) char c=32;C) float f=f+1.1; ;(分數(shù): 2.00 )A.B. VC.D.解析:解析C語言規(guī)定,可以在定義變量的同時給變量賦初值,稱為變量初始化。在選項A)中在給n1和n2進行賦初值,但變量 02沒有定義;在選項 C)中定義變量f時,不能在賦值表達式的右邊出現(xiàn)變量f自身,所以選項C)錯誤:在選項D)用指數(shù)表達式的常量中,字母E后面的數(shù)應該為整數(shù),而不應該為小數(shù)形式。因此,選項B)正確。19.
15、 當變量 c 的值不為 2、4、6 時,值也為“真”的表達式是 ( ) 。A. (c=2)|(c=4)|(c=6) B . (c > =2&&g =6)|(c!=3)|(c!=5)C. (c > =2&&c< =6)&&!(c%2) D . (c > =2&&g =6)&&(c%2!=1)(分數(shù): 1.00 )A.B. VC.D.解析:解析B選項中C的值不為2、4、6時,表達式的值也為真。20. 以下程序中函數(shù) reverse 的功能是對 a 所指數(shù)組中的內(nèi)容進行逆置。 void rever
16、se(int a, int n)int i, t;for(i=0; i v n/2; i+)t=ai; ai=an-1-1; an-1-i=t;main()int b10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10;int i, s=0;reverse(b, 8);for(i=6; i v 10; i+)s+=bi; printf("% d/n", s);程序運行后的輸出結(jié)果是 。A) 22 B) 10 C) 34 D) 30(分數(shù): 1.00 )A. VB.C.D.解析:解析主函數(shù)調(diào)用reverse時。實參為b和8,即reverse函數(shù)的功能是將數(shù)組 b中
17、的前8個元素 逆置,其余元素不變。因此函數(shù)調(diào)用結(jié)束后數(shù)組b的內(nèi)容為:& 7,6、5、4、3、2、1、9、10。main函數(shù)中 for 循環(huán)語句的功能是求 b6 元素到 b9 元素的和,即 s=b6+b7+b8+b9=2+1+9+10=22 ,因此 printf 語句的輸出結(jié)果是 22。21. 以下程序運行后的輸出結(jié)果是#include < stdio.h >main()int i, j, m=1;for(i=1; i <3; i+)for(j=3; j> 0;j-)if(i*j> 3) break;m*=i*j;printf("m=%d/n&qu
18、ot;,m);A) m=6 B) m=2 C) m=4 D) m=5(分數(shù): 1.00 )A. VB.C.D.解析:解析程序中,當循環(huán)變量i=2 , j=3時,i Xj > 3成立,結(jié)束j循環(huán)。只有當i為1, j分別為1 , 2, 3 時,才參與了 m*=i*j 計算。因此,m=XlxiX2x 1X3=6。22. 定義如下變量和數(shù)組:int i , x33=1, 2, 3, 4, 5, 6, 7, 8, 9;則下面語句的輸出結(jié)果是 ( ) 。for(i=0 ;i < 3;i+)printf("%d" , xi2-i);A) 159 B) 147 C) 357 D
19、) 369(分數(shù): 2.00 )A.B.C. VD.解析: 解析 本題主要考查二維數(shù)組的使用。 題中利用 for 循環(huán)來輸出 x 數(shù)組中的指定元素: 當 j=0 時,輸出 x02=3;當 i=1 時,輸出 x115;當 i=2 時。輸出 x20=7。23. 設有程序段:int k=12;while(k=1)k=k-1;則下列描述中正確的是 ( ) 。A) while 循環(huán)執(zhí)行 10 次 B) 循環(huán)是無限循環(huán)C) 循環(huán)體語句一次也不執(zhí)行 D) 循環(huán)體語句執(zhí)行一次分數(shù): 2.00 )A.B.C. VD.解析:解析本題考查while循環(huán)。while循環(huán)的控制表達式 k=1是個賦值表達式而不是邏輯表達
20、式,所 以循環(huán)體一次也不執(zhí)行。24. 下列語句組中,正確的是A) char *s; s="Olympic" B) char s7; s="Olympic"C) char *s; s="Olympic" D) char s7; s="Olympic"(分數(shù): 2.00 )A. VB.C.D.解析:解析數(shù)組名代表數(shù)組的首地址,是一個地址常量,不能對其賦值,所以選項B、D錯誤。只有在初始化時才可以用花括號,所以選項C錯誤。25. 表達式'8'-'2' 的值是( ) 。A) 整數(shù) 6 B)
21、字符 6 C) 表達式不合法 D) 字符 8(分數(shù): 2.00 )A. VB.C.D.解析: 解析 在 C 語言中,雖然字符都是變?yōu)槠鋵?ASCII 碼值來參與算術(shù)運算的,但字符間的相對 位置關(guān)系還是不變的,字符 8和字符 2的 ASCII 碼值相差仍是 6。26. 若各選項中所用變量已正確定義, fun() 函數(shù)中通過 return 語句返回一個函數(shù)值, 下列選項中錯誤的程 序是 ( ) 。A) main()x =fun(2,10);float fun(int a,int b)B) float fun(int a,int b)main()x =fun(i,j); C) float fun
22、(int,int);main()x =fun(2,10);float fun(int a,int b)D) main()float fun(int I,int j);x =fun(i,j); float fun(int a,int B)(分數(shù): 2.00 )A. VB.C.D.解析: 解析 C 語言規(guī)定,函數(shù)必須先定義,后調(diào)用 (函數(shù)的返回值類型為 int 或 char 時除外) 。在選項A)中,調(diào)用的子函數(shù)在調(diào)用后面定義,所以不正確。在選項B)、C)中,被調(diào)用函數(shù)在主調(diào)函數(shù)之前定義,再在主函數(shù)中調(diào)用,所以是正確的:在選項D)中,在主調(diào)函數(shù)中先對于函數(shù)float fun(int i,int j
23、)進行了定義,然后進行調(diào)用。27. 以下數(shù)組定義中錯誤的是A) int x 3=0; B) int x23=1,2,3,4,5,6;C) int x 3=1,2,3,4,5,6; D) int x23=1,2,3,4,5,6;(分數(shù): 2.00 )A.B. VC.D.解析:解析二維數(shù)組的初始化有以下幾種形式:分行進行初始化;不分行進行初始化;部分數(shù)組 元素進行初始化;省略第一維的定義,不省略第二維的定義。選項B)等號右邊分了 3行,大于等號左邊數(shù)組的行數(shù) 2。28. 若語句“ t=fun(fun(x,y,a),(a+b,a+c),x+y+z);"對 fun函數(shù)的調(diào)用正確,則fun函數(shù)
24、的形參個數(shù)為()A) 3 B) 4 C) 5 D) 6(分數(shù): 2.00 )A. VB.C.D.解析: 解析 本題考查函數(shù)調(diào)用時的參數(shù)個數(shù)。在函數(shù)調(diào)用時,實參必須和形參的個數(shù)、類型一一對應。 但函數(shù)的計算結(jié)果只有一個值,因而 fun 函數(shù)的參數(shù)個數(shù)為 3。29. 有如下程序段: int *p,a=10,b=1;p=&a; a= *p+b;執(zhí)行該程序段后,a的值為()。A) 12 B) 11 C) 10 D) 編譯出錯(分數(shù): 1.00 )A.B. VC.D.解析: 解析 p=&a 表達式的含義是將變量 a 的地址賦給指針變量 p;a=*p+b 表達式的含義是指針變量 p 所 指
25、內(nèi)存的值 10 與 b 的和賦給 a。30. 有以下程序:#include < stdio.h >#define N 20fun(int a ,int n,int m)int i,j;for(i=m;i > :n;i-) ai+1 =ai;main( )int i,aN. = 11,2.3,4,5,6,7,8,9,10;fun( a,2,9)for(i =0;i v 5;i + ) printf("% d" ,ai);程序運行后的輸出結(jié)果是 ( ) 。A) 10234 B) 12344 C) 12334 D) 12234(分數(shù): 1.00 )A.B.C.
26、VD.解析:解析本題函數(shù)fun的作用是將指定的數(shù)組元素(下標從n m)向后移一位。調(diào)用函數(shù) fun(a , 2, 9)將a2到a9的各元素依次向后移一位,最后 a數(shù)組中各元素的值分別為 1, 2,3,3,4,5, 6,7, 8, 9, 10,程序輸出數(shù)組的前 5 個元素: 12334。31. 有以下程序#includev stdio.h >#includev string.h >main()char a10= ”abcd";printf("%d , %d/n" , strlen(a) , sizeof(a) ;程序運行后的輸出結(jié)果是A) 7 , 4 B
27、) 4 , 10C) 8 , 8 D) 10 , 10(分數(shù): 2.00 )A.B. VC.D.解析: 解析 strlen() 用來返回字符串的長度,而 si- zeof() 返回的是一個對象或者類型所占的內(nèi)存字 節(jié)數(shù),即數(shù)組所占的內(nèi)存。32. 以下程序的輸出結(jié)果是 。structHARint x,y;structHAR*p;main()h0.x=1;h0.y=2;h1.x=3;h1.y=4;h0.p=&h1.p=h;printf("%d%d/n",(h0.p->y) ;A) 12 B) 23 C) 14 D) 32分數(shù): 2.00 )A.B.C.D. V解析
28、:評析本題中是一個含有兩個結(jié)點的循環(huán)鏈表。C語言中結(jié)構(gòu)體的定義為:srtyct結(jié)構(gòu)體類型名成員項表;33. 若有說明:int*p1 ,*p2,n=8,m下列均是正確賦值語句的選項是()。A) p1=&n;p2=&p1 ; B) p1=n ;C) p1=&n;*p2=p1 ; D) p1=&n;p2=p1 ;(分數(shù): 2.00 )A.B.C.D. V解析: 解析 本題考查指針變量的賦值。選項A)中,pl、p2本身都是地址變量,不能再將pl取地址賦給p2;選項B)中,不能將整型數(shù)據(jù)直接賦值給指針型數(shù)據(jù);選項 C)中,*p2代表了一個整型變量,而*p2=p1這個語句試
29、圖把一個地址值放入一個整型 變量中是錯誤的:選項D)中指針間的賦值是正確的。34. 有以下程序:void ss(char *s,char t)while(*s)if(*s=t)*s=t-'a'+'A's+;main()char str1100="abcddfefdbd",c='d'ss(str1,c);printf("%s/n",str1);程序運行后的輸出結(jié)果是 ( ) 。A) ABCDDEFEDBD B) abcDDfefDbDC) abcAAfefAbA D) Abcddfefdbd(分數(shù): 2.00
30、 )A.B. VC.D.解析:解析函數(shù)ss(char *s,char t)的功能是將指針s所指向的字符串中存在的字符"t ”均改寫成大寫字母;所以main函數(shù)中引用函數(shù)ss后使得數(shù)組strl中的小寫字母“ d”均變成了大寫字母“ D”,然后輸出數(shù)組 str1 ,結(jié)果為: abcDDfefDbD。35. 有以下程序:#include < string.h >main(int argc , char *argv)int i=1, n=0;while(i < argc)n=n+strlen(argvi) ; i+)printf("%d/n" , n)
31、;該程序生成的可執(zhí)行文件名為: proc.exe ,若在運行時輸入命令行:proc 123 45 67 則該程序的輸出結(jié)果是 。A) 3 B) 5C) 7 D) 11(分數(shù): 2.00 )A.B.B. VD.解析:解析main()函數(shù)中參數(shù)argc包含命令行選項的個數(shù),argv包括argc個C風格字符串。字符串 長度函數(shù) strlen(s) 計算以 s 為起始地址的字符串的長度。36. 以下語句或語句組中,能正確進行字符串賦值的是 。A) char*sp ; *sp="right!" ;B) char s10;s="right!";C) char s10
32、;*s="right!";D) char*sp="right!" ;(分數(shù): 2.00 )A.B.C.D. V解析:解析本題的考點是C語言的數(shù)組和指針。C的數(shù)組名是一個特殊類型的指針,固定指向數(shù)組第一 個元素的位置,運行過程中不能再改變其指向。因此選項B、C都是錯誤的。指針可以指向任何單元,但選項 A 是錯誤的, 因為賦值語句“ *sp="right!" ”是錯誤的, 正確寫法是“ sp="right!" ”。 而對于選項 D, 由于“ char * sp="right!"”是定義指針同時賦初值
33、,因此是正確的。37. 若有下列說明,則 ( ) 不是對 strcpy 庫函數(shù)的正確的調(diào)用。 strcpy 庫函數(shù)用于復制一個字符串: char*str1="abcd",str210,*str3="hijklmn",*str42,*str5="aaaa"A) strcpy(str2,str1) B) strcpy(str3,str1)C) strcpy(str4,str1) D) strcpy(str5,str1)(分數(shù): 2.00 )A.B.C. VD.解析:解析strcpy(s1,s2)函數(shù)的功能是將字符串s2復制到字符串si中(
34、注意:要保證si存儲區(qū)能容納下 s2 字符串 ) 。38. 有以下程序#includemain()FILE *fp; int ai0=i,2,3,i,n;fp=fopen("dl.dat","w");for(i=0;i v 3;i+) fprintf(fp,"%d",ai);fprintf(fp,"/n");fclose(fp);fp=fopen("dl.dat","r");fscanf(fp,"%d", n); fclose(fp);printf(&qu
35、ot;%d/n",n);程序的運行結(jié)果是 。(A) 12300(B) 123(C) 1(D) 321(分數(shù): 2.00 )A.B. VC.D.解析:39. 下列描述中不正確的是 ( ) 。A) 字符型數(shù)組中可以存放字符串B) 可以對字符型數(shù)組進行整體輸入、輸出C) 可以對整型數(shù)組進行整體輸入、輸出D) 不能在賦值語句中通過賦值運算符“ =”對字符型數(shù)組進行整體賦值(分數(shù): 2.00 )A.B.C. VD.解析:解析本題考查對數(shù)組的理解。C語言規(guī)定只能逐個引用數(shù)組元素,而不能一次引用整個數(shù)組。對 于字符數(shù)組,可以將整個字符串一次輸入或輸出。所以,選項C)不正確。40. 若有以下結(jié)構(gòu)體,
36、則正確的定義或引用的是 ( ) 。struct Testint x ;int y ;vl ;A) Test.x=10 ; B) Test v2;v2.x=10 ;C) struet v2;v2.x=10 ; D) struct Test v2=10;(分數(shù): 2.00 )A.B.C.D. V解析:解析 此題考查結(jié)構(gòu)體的定義和引用。選項 A) 的錯誤是通過結(jié)構(gòu)體名引用結(jié)構(gòu)體成員;選項 B) 的 錯誤是將結(jié)構(gòu)體名作為類型名使用;選項 C) 的錯誤是將關(guān)鍵字 struct 作為類型名使用;選項 D) 是定義 變量 v2 并對其初始化的語句,初始值只有前一部分,這是允許的。二、填空題 (總題數(shù): 15
37、,分數(shù): 32.00)41. 軟件定義時期主要包括 1 和需求分析兩個階段。(分數(shù): 2.00 )填空項 1: (正確答案:可行性研究)解析: 解析 軟件生命周期一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用及維護等,還可以將軟件生命周期分為三個階段:軟件定義階段:可行性研究和需求分析;軟件開發(fā)階段:設計、 實現(xiàn)和測試;軟件運行維護階段:交付使用和維護。42. 在樹形結(jié)構(gòu)中,沒有前件的結(jié)點是 。(分數(shù): 2.00 )填空項 1: (正確答案:根結(jié)點)解析: 解析 樹型結(jié)構(gòu)具有如下特點:每個結(jié)點只有一個前件,稱為父結(jié)點,沒有前件的結(jié)點只有一個,稱為樹的根結(jié)點,簡稱為樹的根;每一個結(jié)點可
38、以有多個后件,它們都稱為該結(jié)點的子結(jié)點。沒有后件的結(jié)點稱為葉子結(jié)點;一個結(jié)點所擁有的后件個數(shù)稱為樹的結(jié)點度;樹的最大層次稱為樹的深度。43. 在面向?qū)ο蠓椒ㄖ校?1 描述的是具有相似屬性與操作的一組對象。(分數(shù): 2.00 )填空項 1: (正確答案:類)解析: 解析 在面向?qū)ο蠓椒ㄖ?,把具有相同屬性和方法的對象稱為類,類是對象的抽象,對象是類的實 例。44. 測試用例包括輸入值集和 1 值集。(分數(shù): 2.00 )填空項 1: (正確答案:輸出)解析: 解析 測試用例是為測試設計的數(shù)據(jù),測試用例由測試輸入數(shù)據(jù)和與之對應的預期輸出結(jié)果兩部分 組成。測試用例的格式為: ( 輸入值集 ), (輸出
39、值集 ) 。45. 按“先進后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 1 。(分數(shù): 2.00 )填空項 1: (正確答案:?;?Stack )解析: 解析 棧和隊列是兩種特殊的線性表,其特殊性在于對它們的操作只能在表的端點進行。棧中的數(shù) 據(jù)按照后進先出的原則進行組織,而隊列中的數(shù)據(jù)是按照先進先出的原則進行組織。因此,本題的正確答 案是棧 (Stack) 。46. 下列程序的輸出結(jié)果是 。main()int i ;for(i=1;i+1 ; i+)if(i> 4)printf("%d/n", i);break ;printf("%d/n", i+);(分數(shù):
40、2.00 )填空項1: (正確答案:135)解析:解析本題考查了 for循環(huán)語句的使用,break語句用在本題中是結(jié)束 for循環(huán)直接跳岀循環(huán)體外。當i=1時,因為if語句條件不滿足,所以直接執(zhí)行printf("%d/n" , i+);輸出1,同時i自加1;執(zhí)行第二次for循環(huán)時,i=3 ;同樣的if語句條件不滿足,所以直接執(zhí)行printf("%d/n" ,i+);輸出3,同時i自加1;執(zhí)行第三次for循環(huán)時,i=5,if語句條件滿足,所以執(zhí)行printf("%d/n" ,i),輸出5,然后break語句跳出了 for循環(huán)。47. 下
41、列程序段是從鍵盤輸入的字符中統(tǒng)計小寫字母的個數(shù),用換行符結(jié)束循環(huán)。請?zhí)羁铡nt n=0 ,c;c=getchar();while(c!='/n')if()n+;(分數(shù):2.00 )填空項1: (正確答案:c > ='a'&&c < ='z')解析:解析小寫字母在內(nèi)存中以 ASCII的形式存入,且從a到z依次遞增,所以可以直接用c> ='a'&&c < ='z'判斷是不是小寫字母;c!='/n'判斷是用換行符結(jié)束循環(huán)。48. 在計算機中,字符的
42、比較是對它們的1進行比較。(分數(shù):2.00 )填空項1: (正確答案:ASCII碼)解析:解析在C語言中,對字符也可以進行比較運算,并且是按照其 ASCII碼值進行的。49. 以下程序的功能是:求岀數(shù)組x中各相鄰兩個元素的和依次存放到a數(shù)組中,然后輸岀。請?zhí)羁铡ain()int x10,a9,i;for(i=0;i < 10;i+) scanf("%d", & xi);for( 11 ;i < 10;i+)ai-1=xi+ 12 jfor(i=0;i < 9;i+) printf("%d",ai);printf("&
43、quot;);(分數(shù):4.00 )填空項1: (正確答案:i=1xi-1)解析:解析 對于 10個數(shù),相鄰的兩個數(shù)相加取和, 總共要進行 9次加法運算, 所以空 11處應填入 i=1 相鄰的兩個數(shù)相加取和,放在數(shù)組a中,x0與x1的和存放在a0中,所以空12處應填入xi-1。50. 若有定義 double a5;,則 a 數(shù)組元素下標的上限為 1 。(分數(shù): 2.00 )填空項 1: (正確答案: 4)解析: 解析一維數(shù)組元素的定義形式為:數(shù)組名 N ,則該數(shù)組中元素的下限是 0,上限是 N-1。51. 若有下列定義: int a=1,2,3,4,5,6,7,8,9,10,*p=a;,則值為
44、3 的表達式為: 1 。(分數(shù): 2.00 )填空項 1: (正確答案: p+=2, *(p+) )解析:解析由題可知a2=3,因此只要使指針 p指向a3,然后再引用指針的值就可以了52. 以下程序運行后的輸出結(jié)果是 。struct NODEint hum ;struct NODE *next ;main()structNODE s3=1, '/0', 2, '/0', 3, '/0', *p , *q , *r ;int sum=0 ;s0 next=s+1 ; s1.next=s+2;s2.next=s ;p=S; q=p- > next ; r=q- > next ;sum+=q=> next- > num; sum+=r- > next- > next- > num;printf("%d/n" , sum);(分數(shù): 2.00 )填空項 1: (正確答案: 5)解析:解析程序通過語句“ s0next = s+1 ; s1.next=s+2; s2.next = s;”將結(jié)構(gòu)體變量 s中各結(jié)點連接成了一個循環(huán)鏈表,即最后一個結(jié)點的指針域指向了頭結(jié)點,整個鏈表形成了一個環(huán),并通過語句“p= s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度旅游旺季臨時導游勞務合同范本4篇
- 2025年度個人果園綠色種植與農(nóng)產(chǎn)品溯源服務合同4篇
- 2025年度木工產(chǎn)品包裝設計與印刷合同3篇
- 二零二五年度室內(nèi)木門翻新與維修服務合同范本4篇
- 2025版煤炭行業(yè)人力資源培訓與合作合同4篇
- 2025年度美發(fā)行業(yè)技師技能認證與培訓合同4篇
- 二零二五年度木飾面原材料質(zhì)量控制與認證合同3篇
- 2025年臨時企業(yè)靈活勞務外包協(xié)議
- 2025年家族遺產(chǎn)繼承公約規(guī)劃協(xié)議
- 2025年合同追償協(xié)議
- 醫(yī)學脂質(zhì)的構(gòu)成功能及分析專題課件
- 高技能人才培養(yǎng)的策略創(chuàng)新與實踐路徑
- 2024年湖北省知名中小學教聯(lián)體聯(lián)盟中考語文一模試卷
- 2024年湖北省中考數(shù)學試卷(含答案)
- 油煙機清洗安全合同協(xié)議書
- 2024年云南省中考數(shù)學試題(原卷版)
- 污水土地處理系統(tǒng)中雙酚A和雌激素的去除及微生物研究
- 氣胸病人的護理幻燈片
- 《地下建筑結(jié)構(gòu)》第二版(朱合華)中文(2)課件
- JB T 7946.1-2017鑄造鋁合金金相
- 包裝過程質(zhì)量控制
評論
0/150
提交評論