2009年3月2008年9月2011年3月全國計(jì)算機(jī)二級(jí)C語言試題及答案[1]_第1頁
2009年3月2008年9月2011年3月全國計(jì)算機(jī)二級(jí)C語言試題及答案[1]_第2頁
2009年3月2008年9月2011年3月全國計(jì)算機(jī)二級(jí)C語言試題及答案[1]_第3頁
2009年3月2008年9月2011年3月全國計(jì)算機(jī)二級(jí)C語言試題及答案[1]_第4頁
2009年3月2008年9月2011年3月全國計(jì)算機(jī)二級(jí)C語言試題及答案[1]_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2009年3月全國計(jì)算機(jī)等級(jí)考試二級(jí) C語言筆試卷 選擇題 (1) 下列敘述中正確的是 A) 棧是“先進(jìn)先出”的線性表 B) 隊(duì)列是“先進(jìn)先出”的線性表 C) 循環(huán)隊(duì)列是非線性結(jié)構(gòu) D) 有序性表既可以采用順序存儲(chǔ)結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) (2) 支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu) 是 A) 棧B) 樹C) 隊(duì) 列D)二叉樹 (3) 某二叉樹有5個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)是 A) 10B) 8C) 6D) 4 (4) 下列排序方法中,最壞情況下比較次數(shù)最少的是 A) 冒泡排序B)簡(jiǎn)單選擇排序。直接插入排序D)堆排序 (5) 軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)

2、。下面屬 于應(yīng)用軟件的是 A) 編譯軟件B)操作系統(tǒng)C)教務(wù)管理系統(tǒng)D)匯編程序 (6) 下面敘述中錯(cuò)誤的是 A) 軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤并改正錯(cuò)誤 B) 對(duì)被調(diào)試的程序進(jìn)行“錯(cuò)誤定位”是程序調(diào)試的必要步驟 C) 程序調(diào)試通常也稱為 Debug D) 軟件測(cè)試應(yīng)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性 (7) 耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是 A) 提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性 B) 降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性 C) 耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度 D) 內(nèi)聚性是指模塊間互相連接的緊密程度 (8) 數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核

3、心問題是 A)數(shù)據(jù)庫設(shè)計(jì) B)數(shù)據(jù)庫系統(tǒng)設(shè)計(jì) C)數(shù)據(jù)庫維護(hù) D)數(shù)據(jù)庫管理員培訓(xùn) (9)有兩個(gè)關(guān)系 R, S如下: R S ABC AB a 32 a3 b 01 b 0 c 21 c 2 由關(guān)系R通過運(yùn)算得到關(guān)系S,則所使用的運(yùn)算為 D) A) 選擇B)投影C) 插入 連接 (10) 將E-R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為 A) 屬性B)鍵C) 關(guān) 系D) 域 1 (11) 以下選項(xiàng)中合法的標(biāo)識(shí)符是 B) 11C) -11D) 1- (12) 若函數(shù)中有定義語句:int k;,則 A)系統(tǒng)將自動(dòng)給k賦初值0 B)這時(shí)k中值無定義 C)系統(tǒng)將自動(dòng)給k賦初值 D)這時(shí)k中無任何值

4、(13) 以下選項(xiàng)中,能用作數(shù)據(jù)常量的是 A) 0115 B) 0118 C) 1.5e1.5 P) 115L (14) 設(shè)有定義:int x=2; ,以下表達(dá)式中,值不為 6的是 A) x*=x+1 B) x+,2*x Q x*= (1+x) D) 2*x,x+=2 (15)程序段: int x=12; double y=3.141593; printf “d%8.6f ,x,y ); 的輸出結(jié)果是 A) 123.141593 B)12 3.141593 Q 12,3.141593 D) 123.141593 (16)若有定義語句: double x,y,*px,*py, 執(zhí)行了 px=之后

5、,正確的輸 入語句是 B) scanf D) scanf A) scanf (“f%f ,x,y ); (“f%f, C) scanf ( %lf%le ,px,py ) (“l(fā)f%lf ” ,x,y ); (17) 以下是if語句的基本形式: if (表達(dá)式) 語句 其中“表達(dá)式” B)必須是關(guān)系表達(dá) A)必須是邏輯表達(dá)式 A C)必須是邏輯表達(dá)式或關(guān)系表達(dá)式D)可以是任意合法的表達(dá)式 (18) 有以下程序 #include main () int x; scanf ( %d , if (x=3) ; else if (x!=10) printf ( “d n” ,x); 程序運(yùn)行時(shí),輸入的

6、值在哪個(gè)范圍才會(huì)有輸出結(jié)果 A) 不等于10的整數(shù)B)大于3且不等于10的整數(shù) C) 大于3或等于10的整數(shù) D)小于3的整數(shù) (19) 有以下程序 #include Main () int a=1,b=2,c=3,d=0; if (a= =1 else printf ( %d,%d,%d n ,a,b,c ); else printf ( %d,%d,%dn ,a,b,c ); 程序運(yùn)行后的輸出結(jié)果是 A) 1,2,3B) 1,3,2C) 1,3,3D) 3,2,1 (20) 以下程序中的變量已正確定義 for (i=0;i4;i+,i+ for (k=1;k3;k+ ) ;printf(*

7、”); 程序段的輸出結(jié)果是 *B)* *D)* (21) 有以下程序 #include main () char *s= ( AB。; do printf ( “d ,*s%10);s+; while (*s); 注意,字母A的ASCII碼值為65o程序運(yùn)行后的輸出結(jié)果是 A) 5670B) 656667C) 567D) ABC (22) 設(shè)變量已正確定義,以下不能統(tǒng)計(jì)出一行中輸入字符個(gè)數(shù)(不包含回車符)的程 序段是 A) n=O;while ( (ch=getchar ()!= n ) n+;B) n=O;while (getchar 0 != n ) n+; C) for (n=0; ge

8、tchar () != n ;n+);D) n=0;for (ch=getchar () ;ch!= n ;n+); (23) 有以下程序 #include main () int a1 ,a2;char c1,c2; scanf ( a%d%c%d%q printf ( a%d,%c,%d,%c , 若想通過鍵盤輸入,使得 a1的值為12,a2的是為34, c1的值為字符a,c2的值為字符 b,程序輸出結(jié)果是:12,a,34,b,則正確的輸入格式是(以下代表空格,CR:代表回 車) A) 12a34bB) 12 a34 b C) 12,a,34,bD) 12a34b (24) 有以下程序 #

9、include int f (int x,int y) return () y-x ) *x) ; 3 main () int a=3,b=4,c=5,d; d=f (f (a,b) ,f (a,c ); printf ( “d n” ,d); 程序運(yùn)行后的輸出結(jié)果是 A) 10B) 9C) 8D) 7 (25) 有以下程序 #include void fun (char *s) while (*s) if (*s%2=0) printf ( %c ,*s ); s+; main () char a= “good ; fun (a) ;printf( “ n); 注意:字母a的ASQ碼值為9乙

10、程序運(yùn)行后的輸出結(jié)果是 A) dB) goC) godP) good (26) 有以下程序 #include void fun ( int *a,int *b) int *c; c=a;a=b;b=c; main () int x=3,y-5,*P= fun (p,q ) jprintf( “d,%d: ,*p,*q ); fun ( 程序運(yùn)行后的輸出結(jié)果是 D) 5,3,5,3 A) 3,5,5,3B) 3,5,3,5C) 5,3,3,5 (27) 有以下程序 #include viod f (int *p,int *q ); main () intm=1,n=2,*r= f (r, voi

11、d f (int *p,int *q) p=p+1;*q=*q+1; 程序運(yùn)行后輸出的結(jié)果是 # A) 1,3 B) 2,3C) 1,4D) 1,2 (28) 以下函數(shù)按每行8個(gè)輸出數(shù)組中的數(shù)據(jù) void fun ( int *w,int n) int for (i=0;in;i+) printf ( “d ,w) printf ( “ n); 下劃線處應(yīng)填入的語句是 A) if (i/8=0 ) print ( “ B) if (i/8=0 ) continue; C) if (i%8=0) print ( D) if (i%8=0) continue; (29) 若有以下定義 int x1

12、0,*pt=x; 則對(duì)x數(shù)組元素的正確應(yīng)用是 B) * (x+3) C) * (pt+10 ) D) pt+3 (30)設(shè)有定義:char s81;int i=10;,以下不能將一行(不超過80個(gè)字符)帶有 空格的字符串真確讀入的語句或語句組是 A gets (s) B) while ( (si+=getchar () ) != n ;s=0; C) scanf ( a%s ,s); D) doscanf ( a%c ,while (si+!= ” n ) ;s= ”0; (31) 有以下程序 #include main () char *a= “abed”,” ef”,” gh”,” ijk

13、 ” ;intI; for (i=0;i4;i+) printf ( %c ,*a ); 程序運(yùn)行后輸出的結(jié)果是 A) aegiB) dfhk (32) 以下選項(xiàng)中正確的語句組是 A) chars;s= ” BOOK!; C) chars10;s= ” BOOK!; (33) 有以下程序 #include int funint x,inty if (x=y) return (x); else returen ( (x+y) /2 ) C) abedD) abedefghijk B) char *s;s= ” BOOK! ; D) char *s;s= ” BOOK!; main () int

14、a=4,b=5,c=6; printf ( %d n ,fun ( 2*a,fun (b,c ) 程序運(yùn)行后的輸出結(jié)果是 A) 3B) 6C) 8D) 12 (34) 設(shè)函數(shù)中有整型變量 n,為保證其在未賦值的情況下初值為 別是 A) autoB) registerQ static (35) 有以下程序 #include int b=2; int fun (int *k) b=*k+b;return (b) ; main () int a10=1,2,3,4,5,6,7,8,l; for (i=2;i4;i+) b=fun (printf ( “d ,b) printf ( n); 程序運(yùn)行后

15、輸出的結(jié)果是 A) 1012B)810C) 1028 (36) 有以下程序 #include #define PT 3.5; #define S (x) PT*x*x; 0,應(yīng)選擇的存儲(chǔ)類 0)auto 或 register ; D)1016 mian () int a=1,b=2; printf ( %4.1f n” ,S ( a+b) ) ; 程序運(yùn)行后輸出的結(jié)果是 A) 14.0B) 31.5 C) 7.5 D)程序有錯(cuò)無輸出結(jié)果 (37)有以下程序 #include structord intx,y;dt2=1,2,3,4; main () structord *p=dt; print

16、f( “d,” ,+p -x) 程序的運(yùn)行結(jié)果是 ;printf ( “d n” ,+p -y); A) 1,2B) 2,3 C) 3,4 D) 4,1 (38)設(shè)有宏定義:include IsDIV (k,n ) (k%n=1) ?1:0且變量 m已正確 定義并賦值,則宏調(diào)用:IsDIV (m,5) t= (a2|b) ; printf ( “d n” ,t ) 程序運(yùn)行后的輸出結(jié)果是 A) 21B) 11C) 6D) 1 (40)有以下程序 #include main () EILE *f; f=fopen ( afilea.txt ,w w ); fprintf (f, ” abc);

17、fclose (f); 若文本文件filea.txt 中原有內(nèi)容為:hello ,則運(yùn)行以上程序后,文件 filea.txt 中 的內(nèi)容為 A) helloabcB) abcloC) abcD) abchello 二、填空題(每空2分,共30分) 請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】至【15序號(hào)的橫線上,答在試卷 上不得分。 (1) 假設(shè)一個(gè)長度為50的數(shù)組(數(shù)組元素的下標(biāo)從0到49)作為棧的存儲(chǔ)空間,棧 底指針bottom指向棧底元素,棧頂指針 top指向棧頂元素,如果 bottom=49 , top=30 (數(shù)組下標(biāo)),則棧中具有 【1】個(gè)元素。 (2) 軟件測(cè)試可分為白盒測(cè)試和黑盒測(cè)試

18、?;韭窂綔y(cè)試屬于【2】 測(cè)試。 (3) 符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【3】o (4) 數(shù)據(jù)庫系統(tǒng)的核心是【4】 (5) 在E-R圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實(shí)體聯(lián)系的是【5 框。 (6) 表達(dá)式(int )( ( double )(5/2 ) +2.5 )的值是【6 (7) 若變量x、y已定義為int類型且x的值為99, y的值為9,請(qǐng)將輸出語句printf (7 , x/y);補(bǔ)充完整,使其輸出的計(jì)算結(jié)果形式為:x/y=11 (8) 有以下程序 #include main() char c1,c2; scanf( while(c190)scan

19、f( c2=c1+32; printf( “ 程序運(yùn)行輸入65回車后,能否輸出結(jié)果、結(jié)束運(yùn)行(請(qǐng)回答能或不能)【8 o #include main() int k=1 , s=0; do if ( ( k (10) 下列程序運(yùn)行時(shí),若輸入Iabced12dfv回車輸出結(jié)果為【 #include main() char a =0,ch; while(ch=getchar()!= n) if(aputchar(ch); printf( “ n”); (11) 有以下程序,程序執(zhí)行后,輸出結(jié)果是【111 #include void fun (int *a) a0=a1; main() int a10

20、=10,9,8,7,6,5,4,3,2,1,i; for(i=2;i=0;i-)fun for(i=0;i10;i+)printf(“ printf( “ n”); (12) 請(qǐng)將以下程序中的函數(shù)聲明語句補(bǔ)充完整 #include 10 int 12; main() int x,y,Cp)(); p=max; printf( “ Int max(int a,intb) return (ab/a:b); (13) 以下程序用來判斷指定文件是否能正常打開,請(qǐng)?zhí)羁?#include main() FILE *fp; 8 if (fp=fopen( test.txt ”,” r )= 13) prin

21、tf (未能打開文件!n); else printf( “文件打開成功!n”); (14)下列程序的運(yùn)行結(jié)果為【14 #include #include struct A int a;char b10;double c; void f (structA main() struct A a=(1001, w ZhangDa ,1098,0); f(printf( voidf (structA *t) strcpy(t- b,” ChangRon ); (15) 以下程序把三個(gè)NODETYP型的變量鏈接成一個(gè)簡(jiǎn)單的鏈表,并在 while循環(huán)中輸 出鏈表結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù),請(qǐng)?zhí)羁?#include

22、struct node int data; struct node *next; typedef struct node NODETYPE; 9 main() NODETYPE a,b,c,*h,*p; a. data=10;b.data=20;c.data=30;h= b. next=b.next=c.next= O; P=h; while(p)printf( 15 ; 2009年3月二級(jí)C參考答案 選擇題: 110:DACDCABABC 11-20:CBDDACDBCB 21-30:CDABABACBC 31-40:ADBCCCBDAC 填空題: (1) 19 (2) 白盒 (3) 順序結(jié)

23、構(gòu) (4) 數(shù)據(jù)庫管理系統(tǒng)(DBM$ (5) 菱形 (6) 4 (7) x/y=%d 能 (9) s=0 (10) 1AbCeDf2dF (11) 7777654321 (12) max(int a,int b) (13) NULL (14) 1001,ChangRong,1098.0 (15) p=p next 2008年9月二級(jí)C語言筆試真題及答案 (1)一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧, 然后再依次出棧,則元素出棧的順序是( )o A) 12345ABCDE B) EDCBA54321 C) ABCDE12345 D) 54321EDCBA (

24、2)下列敘述中正確的是()。 A)循環(huán)隊(duì)列有隊(duì)頭和隊(duì)尾兩個(gè)指針,因此,循環(huán)隊(duì)列是非線性結(jié)構(gòu) B)在循環(huán)隊(duì)列中,只需要隊(duì)頭指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況 C)在循環(huán)隊(duì)列中,只需要隊(duì)尾指針就能反映隊(duì)列中元素的動(dòng)態(tài)變化情況 D)循環(huán)隊(duì)列中元素的個(gè)數(shù)是由隊(duì)頭指針和隊(duì)尾指針共同決定 3)在長度為n的有序線性表中進(jìn)行二分查找,最壞情況下需要比較的次數(shù)是()o 12)計(jì)算機(jī)能直接執(zhí)行的程序是() A) 0(n) B) 0(n2) C) O(log2n) D) O(nlog2n) 4)下列敘述中正確的是()。 A)順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的 B) C) 順序存儲(chǔ)

25、結(jié)構(gòu)節(jié)省存儲(chǔ)空間 D)鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比 5) A) 6) A) 7) A) 8) A) 9) A) 數(shù)據(jù)流圖中帶有箭頭的線段表示的是( 控制流B)事件驅(qū)動(dòng) C)模塊調(diào)用 D)數(shù)據(jù)流 在軟件開發(fā)中,需求分析階段可以使用的工具是( N-S圖B) DFD 圖C) PAD圖 D)程序流程圖 在面向?qū)ο蠓椒ㄖ?,不屬于?duì)象基本特點(diǎn)的是( 一致性B)分類性C)多態(tài)性D)標(biāo)識(shí)唯一性 一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( 一對(duì)一 B) 一對(duì)多 C)多對(duì)一 D)多對(duì)多 在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是( 人工管理階段 B)文件系統(tǒng)階段 C)數(shù)據(jù)庫系統(tǒng)階段 D) ) 三個(gè)階段相同 (1

26、0)有三個(gè)關(guān)系 R、S和T如下: RST n235 由關(guān)系R和S通過運(yùn)算得到關(guān)系 T,則所使用的運(yùn)算為( 順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu) 順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表 A) C程序的基本組成單位是語句 C)簡(jiǎn)單C語句必須以分號(hào)結(jié)束 A)笛卡爾積 B)交C)并D)自然連接 (11)以下敘述中正確的是()o B)C程序中的每一行只能寫一條語句 D) C語句必須在一行內(nèi)寫完 A) 源程序B)目標(biāo)程序 C)匯編程序 D)可執(zhí)行程序 13) 以下選項(xiàng)中不能作為C語言合法常量的是()o A) cd B) 0.1 e+6 C) a D) 011 14) 以下

27、選項(xiàng)中正確的定義語句是( )o A) double a; b; B) double a=b=7; C) double a=7, b=7; D) double, a, b; 15) 以下不能正確表示代數(shù)式2ab cd 的C語言表達(dá)式是()。 A) 2*a*b/c/d B) a*b/c/d*2 C) a/c/d*b*2 D) 2*a*b/c*d 16) C源程序中不能表不的數(shù)制是() A) 二進(jìn)制 B)八進(jìn)制 C)十進(jìn)制 D)十六進(jìn)制 17) 若有表達(dá)式(w)?(-x):(+y),則其中與w等價(jià)的表達(dá)式是() A) w=l B) w=0 C) w!=l D) w!=0 18) 執(zhí)行以下程序段后,w

28、的值為()o int w=A, x=14, y=15; w=(x | y) c=a; printf(a=%d b=%d c=%dn ” , a, b, c);程序的輸出結(jié)果是()。 A) a=10 b=50 c=10 B) a=10 b=50 c=30 C) a=10 b=30 c=10 D) a=50 b=30 c=50 (21) 若有定義語句:int m=5,4,3,2,1,i=4;,貝U下面對(duì) m數(shù)組元素的引用中錯(cuò)誤的 是()。 A) m-i B) m2*2 C) mmO D) mmi (22) 下面的函數(shù)調(diào)用語句中func函數(shù)的實(shí)參個(gè)數(shù)是()。 func (f2(v1, v2), (v

29、3, v4, v5), (v6, max(v7, v8); A) 3 B) 4 C) 5 D) 8 (23) 若有定義語句:double x5=1.0,2.0,3.0,4.0,5.0, *p=x ;則錯(cuò)誤引用x數(shù)組元素 的是()。 A) *p B) x5 C) *(p+1) D) *x (24) 若有定義語句:char s10=123456700;,貝U strlen(s)的值是()。 A) 7 B) 8 C) 9 D) 10 (25) 以下敘述中錯(cuò)誤的是()o A) 用戶定義的函數(shù)中可以沒有return語句 B) 用戶定義的函數(shù)中可以有多個(gè) return語句,以便可以調(diào)用一次返回多個(gè)函數(shù)值

30、C) 用戶定義的函數(shù)中若沒有 return語句,則應(yīng)當(dāng)定義函數(shù)為 void類型 D)函數(shù)的 return語句中可以沒有表達(dá)式 (26) 以下關(guān)于宏的敘述中正確的是( )o A)宏名必須用大寫字母表示B)宏定義必須位于源程序中所有語句之前 C) 宏替換沒有數(shù)據(jù)類型限制D)宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間 (27) 有以下程序 #include main() int i, j; for(i=3; i=l; i-) forO=1; j=2; j+) printf(%d, i+j); printf(n); 程序的運(yùn)行結(jié)果是()o D) 4534344523 A) 2 34 B) 432 345543 C) 2

31、 3 (28) 有以下程序 #include main() int x=l, y=2, z=3; if(xy) if(yz) printf(%d, +z); else printf(%d, +y); printf(%dn, x+); 程序的運(yùn)行結(jié)果是()。 A) 331 B) 41 C) 2 D) 1 (29) 有以下程序 # include main() int i=5; do if (i%3=1) if (i%5=2) printf(*%d, i); break; i+; while(i!=0); printf(n); 程序的運(yùn)行結(jié)果是()o A) *7 B) *3*5C) *5 D) *

32、2*6 (30) 有以下程序 #include int fun(int a,int b) if(b=O) return a; else return(fun(-a,-b); main() printf(%dn, fun(4,2); 程序的運(yùn)行結(jié)果是() A) 1 B) 2 C) 3 D) 4 (31) 有以下程序 #include #include int fun(int n) int *p; p=(int*)malloc(sizeof(int); *p=n; return *p; main() int a; a = fun(10); printf(%dn, a+fun(10); 程序的運(yùn)行結(jié)

33、果是()。 A) 0 B) 10 C) 20 D)出錯(cuò) (32) 有以下程序 #include void fun(int a, int b) int t; t=a; a=b; b=t; # main() int c10=1,2,3,4,5,6,7,8,9,0), i; for (i=0; i10; i+=2) fun(ci, ci+l); for (i=0; i10; i+) printf(%d, ci); printf(n); 程序的運(yùn)行結(jié)果是()。 A) 1,2,3,4,5,6,7,8,9,0,B) 2,1,4,3,6,5,8,7,0,9, C) 0,9,87,6,5,4,3,2,1,D)

34、 0,1,2,3,4,5,6,7,8,9, (33) 有以下程序 #include struct st int x, y;) data2=l, 10,2,20; main() struct st *p=data; printf(%d, p-y); printf(%dn,什+p)-x); 程序的運(yùn)行結(jié)果是()o A) 10,1 B) 20,1 C) 10,2 D) 20,2 (34) 有以下程序 #include void fun(int a, int n) int i, t; for(i=0; in/2; i+) t=ai; ai=an-1-i; an-1-i=t; main() int k1

35、0=1,2,3,4,5,6,7,8,9,10, i; fun(k,5); for(i=2; i8; i+) printf(%d, ki); printf(n); 程序的運(yùn)行結(jié)果是()o A) 345678 B) 876543 C) 1098765 D) 321678 (35) 有以下程序 #include #define N 4 void fun(int aN, int b) int i; for(i=0; iN; i+) bi=aii; main() intxN=1,2,3),4),5,6,7,8),9,10,yN, i; fun(x,y); for (i=0; iN; i+) printf

36、(%d, yi); printf(n); 程序的運(yùn)行結(jié)果是()。 A) 1,2,3,4,B) 1,0,7,0, C) 1,4,5,9, D) 3,4,8,10, (36) 有以下程序 #include int fun(int (*s)4,int n, int k) int m, i; m=s0k; for(i=l; im) m=sik; return m; 13 main() int a44=1,2,3,4),11,12,13,14,2l,22,23,24,31,32,33,34; printf(%dn, fun(a,4,0); 程序的運(yùn)行結(jié)果是()o A) 4 B) 34 C) 31 D)

37、32 (37) 有以下程序 #include main() struct STU char name9; char sex; double score2; struct STU a=Zhao,m,85.0,90.0), b=Qian,f,95.0,92.0);b=a; printf(%s,%c,%2.0f,%2.0fn,,b.sex,b.score0,b.score1); 程序的運(yùn)行結(jié)果是()o A) Qian,f,95,92 B) Qian,m,85,90C) Zhao,f,95,92 D) Zhao,m,85,90 (38) 假定已建立以下鏈表結(jié)構(gòu),且指針 p和q已指向如圖所示

38、的結(jié)點(diǎn): head a b c data next Tp Tq 則以下選項(xiàng)中可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語句組是( )o A) (*p).next=(*q).next; free(p); B) p=q-next; free(q); C) p=q; free(q);D) p-next=q-next; free(q); (39) 有以下程序 #include main() char a=4; printf(%dn, a=a1); 程序的運(yùn)行結(jié)果是()。 A) 40 B) 16 C) 8D) 4 (40) 有以下程序 #include main() FILE *pf; char *s C

39、hina,*s2=Beijing; pf=fopen(abc.dat,wb+); fwrite(s2,7,l,pf); rewind(pf); fwrite(s1,5,1,pf); fclose(pf); 以上程序執(zhí)行后abc.dat文件的內(nèi)容是()。 A) China B) Chinang C) ChinaBeijing D) BeijingChina 二、填空題(每空2分,共30分) 1)對(duì)下列二叉樹進(jìn)行中序遍歷的結(jié)果1 O A BC DEF X YZ (2) 按照軟件測(cè)試的一般步驟,集成測(cè)試應(yīng)在 【2】 測(cè)試之后進(jìn)行。 (3) 軟件工程三要素包括方法、工具和過程,其中,【3】 支持軟件開

40、發(fā)的各個(gè)環(huán)節(jié) 的控制和管理。 (4) 數(shù)據(jù)庫設(shè)計(jì)包括概念設(shè)計(jì)、【4】和物理設(shè)計(jì)。 (5) 在二維表中,元組的 【5】 不能再分成更小的數(shù)據(jù)項(xiàng)。 (6) 設(shè)變量a和b已正確定義并賦初值。請(qǐng)寫出與a-=a+b等價(jià)的賦值表達(dá)式【6】 15 (7) 若整型變量a和b中的值分別為7和9,要求按以下格式輸出a和b的值: a=7 b=9 請(qǐng)完成輸出語句:printf (7 ,a,b);。 (8) 以下程序的輸出結(jié)果是【8】o #include main() int i,j,sum; for(i=3;i=1;i-) sum=O; for(j=1;j=i;j+) sum+=i*j; printf(%dn,sum

41、); (9) 以下程序的輸出結(jié)果是【9】o #include main() intj,a=1,3,5,7,9,11,13,15,*p=a+5; for(j=3; j; j-) switch(j) case 1: case 2: printf(%d,*p+); break; case 3: printf(%d,*(-P); (10) 以下程序的輸出結(jié)果是 10 o #include #define N 5 int fun(int *s, int a, int n) intj; *s=a; j=n; while(a!=sj)j-; return j; main() int sN+1; int k;

42、 for(k=l; k=N; k+) sk=k+l; printf(%dn,fun(s,4,N); (11) 以下程序的輸出結(jié)果是 11 o #include int fun(int x) static int t=0; return (t +=x); main() ints,i; for(i=l;i=5;i+) s=fun(i); printf(%dn,s); (12) 以下程序按下面指定的數(shù)據(jù)給 x數(shù)組的下三角置數(shù),并按如下形式輸出,請(qǐng)?zhí)?空。 4 3 7 269 1 58 10 #include 15 main() int x44,n=0,i,j; for(j=0;j=j;【12 】)n

43、+;xij=【13 】; for(i=0;i4;i+) for(j=0;j=i;j+) printf(%3 d,xij); printf(n); 13)以下程序的功能是:通過函數(shù) func輸入字符并統(tǒng)計(jì)輸入字符的個(gè)數(shù)。輸入時(shí)用字 符作為輸入結(jié)束標(biāo)志。請(qǐng)?zhí)羁铡?#include long【14】; main() long n; n=func(); printf(n=%ldn,n); long func() long m; for( m=0; getchar()!=;【15】); retum m; 2008年9月筆試卷參考答案 一、選擇題 二、填空題 (1)【1】DBXEAYFZC ( 2)【2】

44、單元(3)【3】過程 (4)【4】邏輯設(shè)計(jì)(5)【5】 分量(6)【6】a=a-(a+b)或(a=-b)( 7)【7】a=%dnb=%d( 8)【8】1(9)【9】9911 (10)【10】3( 11)【11】15 ( 12)【12】i- (13)【13】n ( 14)【14】func()( 15)【15】 m+ 2010年9月答案 選擇題: 110:DACDCABABC 1120: CBDDACDBCB 2130: CDABABACBC 3140: ADBCCCBDAC 填空題: (1)19( 2)白盒(3)順序結(jié)構(gòu)(4 )數(shù)據(jù)庫管理系統(tǒng)(DBMS)( 5)菱形 (6)4( 7)x/y=%d

45、( 8)能(9)s=0(10) 1AbCeDf2dF (11)7777654321(12) max(int a,int b)(13) NULL (14)1001,ChangRong,1098.0 ( 15)p=p next 27 (1)B) (2)D) (3)C)( 4)A)( 5)D) (6)B) (7) A)8) B)( 9) C) (10) D) (11) C) (12)D) (13)A) (14) C) (15) D)( 16) A) 17) D) (18) C) (19) B) (20)A) (21)C) (22) A) (23) B)(24) A)( 25) B) (26) C)

46、(27) D) (28)D) (29)A) (30) B) 31) C) (32) A) (33) C) (34) D) (35) B) (36)C) (37) D) (38) D) (39) C)( 40) B) 2011年3月計(jì)算機(jī)二級(jí)C語言筆試試題(文字版) 20四年9月19曰計(jì)算機(jī)等級(jí)考試二販匸誥咅答秦 一、選擇題 (1)下列關(guān)于棧敘述正確的是 A)棧頂元素最先能被刪除B)棧頂元素最后才能被刪除 C 日 A B (ft) A c / b) e p) C :1O (11)0 (12) C A (a (15) B (16) D (17) C 113)A (1=) 4 (20) B (21

47、n (22) C (291 A 也二 :25) 0 】3 (27) A 何9 / 3 C (30) B (51 D MR A 討A (56: 3 (37) A 卿D g c (g c C)棧底元素永遠(yuǎn)不能被刪除D)以上三種說法都不對(duì) 下列敘述中正確的是 A) 有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu) B) 只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu) C) 循環(huán)鏈表是非線性結(jié)構(gòu) D) 雙向鏈表是非線性結(jié)構(gòu) (3) 某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹的深度為(假設(shè)根結(jié) 點(diǎn)在第1層) A)3 B)4 C)6D)7 (4) 在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是 A)軟件集成

48、測(cè)試計(jì)劃B)軟件詳細(xì)設(shè)計(jì)說明書 C)用戶手冊(cè)D)軟件需求規(guī)格說明書 (1) 1d (2) 鮮判貼 (3需氓方桿 W)糾諉 舟的證每 5 1 (G) 1 3 (5) 結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括 A)順序結(jié)構(gòu)B)GOTO 跳轉(zhuǎn) C)選擇(分支)結(jié)構(gòu) D)重復(fù)(循環(huán))結(jié)構(gòu) (6) 下面描述中錯(cuò)誤的是 A) 系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì) B) 軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程 C) 數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一 D) PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具 (7) 負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是 A)數(shù)據(jù)定義語言B)數(shù)據(jù)管理語言 C)數(shù)據(jù)操縱語言D)數(shù)據(jù)控制語言 (10

49、1 0 1 1?3 11:凹 25 叩 ip D (匕 nov* rc jou? Hav f Uti U5J 1 36 (8) 一個(gè)教師可講授多門課程,一門課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián) 系是 A)1:1聯(lián)系B)1:m聯(lián)系 C)m:1聯(lián)系D)m:n聯(lián)系 (9) 有三個(gè)關(guān)系 R、S和T如下: A B C a 1 2 b 2 i c h 1 則由關(guān)系R和S得到關(guān)系T的操作是 A)自然連接 B)交 C)除 D)并 (10) 定義無符號(hào)整數(shù)類為 Ulnt,下面可以作為類 Ulnt實(shí)例化值的是 A)-369 B)369 C)0.369 D)整數(shù)集合1,2,3,4,5 (11) 計(jì)算機(jī)高級(jí)語

50、言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的 是 A) C語言程序僅可以編譯執(zhí)行 B) C語言程序僅可以解釋執(zhí)行 C) C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行 D) 以上說法都不對(duì) (12) 以下敘述中錯(cuò)誤的是 A) C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的 B) 用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行 C) 通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行 D) 在沒有安裝C語言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件 (13) 以下選項(xiàng)中不能用作 C程序合法常量的是 A)1,234B)123C)123D)x7G (14) 以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是

51、A).1e0B)3.0e0.2 C)E9 D)9.12E (15) 若有定義語句:int a=3,b=2,c=1;,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是 A)a=(b=4)=3; B)a=b=c+1; C)a=(b=4)+c;D)a=1+(b=c=4); (16) 有以下程序段 char name20; int num; scanf(name=%s num=%d,name; 當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001回車后,name的值為 A) Lili B) name=Lili C) Lili num= D) name=Lili num=1001 (17) if語句的基本形

52、式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的 是 A)必須是邏輯值B)必須是整數(shù)值 C)必須是正數(shù)D)可以是任意合法的數(shù)值 (18) 有以下程序 #include main() int x=011; printf(%dn,+x); 程序運(yùn)行后的輸岀結(jié)果是 A)12 B)11 C)10D)9 (19) 有以下程序 #include main() int s; scanf(%d, while(s0) switch(s) case1:printf(%d,s+5); case2:printf(%d,s+4); break; case3:printf(%d,s+3); default:p

53、rintf(%d,s+1);break; scanf(%d, 運(yùn)行時(shí),若輸入1 2 3 4 5 0回車,則輸出結(jié)果是 A)6566456 B)66656C)66666D)6666656 (20) 有以下程序段 int i,n; for(i=0;i=0 printf(%dn,n); 程序運(yùn)行后的輸岀結(jié)果是 A)0 B)3 C)7 D)8 (22) 若i和k都是int類型變量,有以下for語句 for(i=0,k=-1;k=1;k+) printf(*n); 下面關(guān)于語句執(zhí)行情況的敘述中正確的是 A)循環(huán)體執(zhí)行兩次B)循環(huán)體執(zhí)行一次 C)循環(huán)體一次也不執(zhí)行D)構(gòu)成無限循環(huán) (23) 有以下程序 #

54、include main() char b,c; int i; b=a; c=A; for(i=0;i=a c+; main() char s81; gets(s); fun(s); puts(s): 當(dāng)執(zhí)行程序時(shí)從鍵盤上輸入Hello Beijingv回車,則程序的輸岀結(jié)果是 A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing (30) 以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。 #include #define N 10 void fun(int xN) int i=0; while(i 在程序中

55、下劃線處應(yīng)填入的是 A)x+i B) scanf(%s,a); gets(b); printf(%sn %sn,a,b); 程序運(yùn)行時(shí)若輸入: how are you? I am fine 則輸岀結(jié)果是 A)how are you? B)how I am fine are you? I am fine C)how are you? I am fine D)row are you? (32) 設(shè)有如下函數(shù)定義 int fun(int k) if (k1) return 0; else if(k=1) return 1; else return fun(k-1)+1; 若執(zhí)行調(diào)用語句:n=fun(

56、3);,則函數(shù)fun總共被調(diào)用的次數(shù)是 A)2 B)3 C)4 D)5 (33) 有以下程序 #include int fun (int x,int y) if (x!=y) return (x+y);2); else return (x); main() int a=4,b=5,c=6; printf(%dn,fun(2*a,fun(b,c); 程序運(yùn)行后的輸岀結(jié)果是 A)3 B)6 C)8 D)12 (34) 有以下程序 #include int fun() static int x=1; x*=2; return x; main() int i,s=1; for(i=1;ix); printf(%dn,+(p-y); 程序運(yùn)行后的輸岀結(jié)果是 A)1,2 B)4,1 C)3,4 D)2,3 (38) 有以下程序 #include struct S int a,b;data2=10,100,20,200; main() struct S p=data1; printf(%dn,+(p.a); 程序運(yùn)行后的輸岀結(jié)果是 A)10 B)11 C)20 D)21 (39) 有以下程序 #include main() unsigned char a=8,c; c=a3;

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論