網(wǎng)站首頁
分類導(dǎo)航
試題中心
下載中心
英語學(xué)習(xí)
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
 05年9月等級考試二級C語言考前密卷(五)
【字體:
05年9月等級考試二級C語言考前密卷(五)
http://m.1glr.cn 來源:ChinaITLab 點(diǎn)擊: 更新:2005-9-15

一、選擇題((1)~(10)每小題2分,(11)~(50)每小題1分,共60分)
  
  下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請將正確選項(xiàng)涂寫  在答題卡相應(yīng)位置上,答在試卷上不得分。
  
  (1)算法一般都可以用________控制結(jié)構(gòu)組合而成。
  A)循環(huán)、分支、遞歸  B)順序、循環(huán)、嵌套
  C)循環(huán)、遞歸、選擇  D)順序、選擇、循環(huán)
  答案:D
  評析:算法的控制結(jié)構(gòu)給出了算法的基本框架,不僅決定了算法中各操作的執(zhí)行順序,也直接反映了算法的設(shè)計(jì)是否符合結(jié)構(gòu)化原則。一個(gè)算法一般都可以用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)組合而成。
  
  (2)數(shù)據(jù)的存儲結(jié)構(gòu)是指________。
  A)數(shù)據(jù)所占的存儲空間量
  B)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
  C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式
  D)存儲在外存中的數(shù)據(jù)
  答案:B
  評析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)。
  
  (3)設(shè)有下列二叉樹:
  
  對此二叉樹中序遍歷的結(jié)果為________。
  A)ABCDEF   B)DBEAFC  C)ABDECF  D)DEBFCA
  答案:B
  評析:中序遍歷是指首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹;并且在遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹的一種二叉樹遍歷算法。
  
  (4)在面向?qū)ο蠓椒ㄖ,一個(gè)對象請求另一對象為其服務(wù)的方式是通過發(fā)送________。
  A)調(diào)用語句  B)命令  C)口令  D)消息
  答案:D
  評析:面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動(dòng)的,對象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
  
  (5)檢查軟件產(chǎn)品是否符合需求定義的過程稱為________。
  A)確認(rèn)測試   B)集成測試  C)驗(yàn)證測試  D)驗(yàn)收測試
  答案:A
  評析:確認(rèn)測試的任務(wù)是驗(yàn)證軟件的功能和性能及其他特性是否滿足了需求規(guī)格說明中的確定的各種需求,以及軟件配置是否完全、正確。
  
  (6)下列工具中為需求分析常用工具的是________。
  A)PAD  B)PFD  C)N-S   D)DFD
  答案:D
  評析:常見的需求分析方法有:結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒ā=Y(jié)構(gòu)化分析的常用工具有:數(shù)據(jù)流圖(DFD)、數(shù)據(jù)字典(DD)、判定樹和判定表等。
  
  (7)下面不屬于軟件設(shè)計(jì)原則的是________。
  A)抽象  B)模塊化  C)自底向上  D)信息隱蔽
  答案:C
  評析:在軟件設(shè)計(jì)過程中,必須遵循軟件工程的基本原則:這些原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可靠性。
  
  (8)索引屬于_________。
  A)模式  B)內(nèi)模式  C)外模式  D)概念模式
  答案:B
  評析:內(nèi)模式(Internal Schema)又稱物理模式(Physical Schema),它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法,如數(shù)據(jù)存儲的文件結(jié)構(gòu)、索引、集簇及hash等存取方式與存取路徑。
  
  (9)在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是_________。
  A)樹結(jié)構(gòu)  B)網(wǎng)結(jié)構(gòu)  C)線性表  D)二維表
  答案:D
  評析:在關(guān)系數(shù)據(jù)庫中,用二維表來表示實(shí)體之間聯(lián)系。
  
  (10)將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成_________。
  A)屬性  B)關(guān)系  C)鍵  D)域
  答案:B
  評析:關(guān)系是由若干個(gè)不同的元組所組成,因此關(guān)系可視為元組的集合,將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成關(guān)系。
  
  (11)有如下程序
  main()
  {
  char ch[2][5]={"6937","8254"},*p[2];
  int I,j,s=0;
  for(I=O;i<2;i++)p[i]=ch[I];
  for(I=O;i<2;i++)
  for(j=0;p[i][j]>'\0';j+=2)
  s=10*s+(p[i][j].'0');
  printf("%d\n",s);
  }
  該程序的輸出結(jié)果是_________。
  A)69825  B)63825  C)6385  D)693825
  答案:C
  評析:本題"ch[2][5]={"6937","8254"}"用于2行5列的二維數(shù)組初始化,ch[O][0]-ch[O][4]的值分別為:6,9,3,7,\0;ch[1][0]-ch[1][4]的值分別為:8,2,5,4,\0;第一個(gè)for循環(huán)用于將數(shù)組指針分別指向二給數(shù)組的第一行和第二行;第二個(gè)for嵌套循環(huán)用于取出p[O][0],p[O][2],p[1][0],p[1][2]四個(gè)存儲單元的數(shù)組成一個(gè)四位數(shù)進(jìn)行輸出。
  
  (12)以下敘述不正確的是_________。
  A)分號是C語言的必要組成部分
  B)C程序的注釋可以寫在句的后面
  C)函數(shù)是C程序的基本單位
  D)主函數(shù)的名字不一定用main表示
  答案:D
  評析:c語言的程序是由主函數(shù)main()開始運(yùn)行,由主函數(shù)來調(diào)用其他函數(shù),所以D是錯(cuò)誤的。
  
  (13)若變量已正確定義并賦值,下面符合c語言的表達(dá)式是_________。
  A)a:_b+1  B)a=b=c+2  C)int 18.5%3  D)a=a+7=c+b
  答案:B
  評析:選項(xiàng)A和c一望而知其錯(cuò):對于表達(dá)式a=a+7=c+b(答案D),是先執(zhí)行賦值表達(dá)式a+7=c+b,再把這個(gè)表達(dá)式的值賦給a,顯然,表達(dá)式a+7=c+b非法,因?yàn)橘x值表達(dá)式的左側(cè)不能為常量或表達(dá)式。
  
  (14)C語言運(yùn)算對象必須是整型的運(yùn)算符是_________。
  A)%=  B)/  C)=  D)<:
  答案:A
  評析:在C語言中,模運(yùn)算(即取余運(yùn)算%)的運(yùn)算對象必須是整型數(shù)據(jù)(常量、變量或表達(dá)式)。
  
  (15)下面一組中都是C語言關(guān)鍵字的是_________。
  A)double Int for    B)main while goto
  C)volatile break static  D)malloc sizeof new
  答案:C
  評析:c語言中的關(guān)鍵字有32個(gè)關(guān)鍵字(參見c語言教程),本題中只有C符合題意。
  
  (16)若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2的值是_________。
  A)l  B)2  C)2.0  D)2.5
  答案:C
  評析:這是一個(gè)逗號表達(dá)式,它的值應(yīng)為表達(dá)式y(tǒng)=x+3/2的值,而前一個(gè)表達(dá)式已給x賦值l,在沒有進(jìn)行類型轉(zhuǎn)換的t留下,3/2的值為1,所以x+3/2的值應(yīng)為2.0。
  
  (17)執(zhí)行語句:for(、i=1;i++<4;);后變量i的值是_________。
  A)3  B)4  C)5  D)不定
  答案:C
  評析:for語句的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句,循環(huán)結(jié)束的條件是i++<4,所以當(dāng)i++_4時(shí),循環(huán)結(jié)束,此時(shí)變量i的值為5。
  
  (18)若變量a、i已正確定義,且i已正確賦值,合法的語句是_________。
  A)a==l  B)++i;  C)a=a++=5;  D)a=int(i);
  答案:B
  評析:選項(xiàng)D顯然是錯(cuò)的,而選項(xiàng)A沒有分號結(jié)束,不是c語句;a++=5違反了賦值表達(dá)式左側(cè)必須為一個(gè)變量(不能是常量或表達(dá)式)的規(guī)定.
  
  (19)有如下程序
  main()
  { int y=3,x=3,z=l;
  printf("%d %d\n",(++x,y++),z+2);
  }
  運(yùn)行該程序的輸出結(jié)果是________。
  A)3 4  B)4 2  C)4 3  D)3 3
  答案:D
  評析:逗號表達(dá)式(++X,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。
  
  (20)運(yùn)行以下程序后,如果從鍵盤上輸入65 14<回車>,則輸出結(jié)果為________。
  main()
  {
  int m,n;
  printf("Enter m,n:");
  scanf("%d%dt.,&m,&n);
  while(mI-n)
  {
  while(m>n)re-=n,
  while(n>m)n-=m;
  }
  printf("m=%d\n",m);
  }
  A)m=3  B)m=2  C)m=l  D)m=O
  答案:C
  評析:分析程序可知,該程序?qū)崿F(xiàn)的功能是對數(shù)m,n求其最大公約數(shù)。在本題中m與n的值分別為65與14,其最大公約數(shù)為1,故其輸出結(jié)果為m=l。
  
  (21)能正確表示邏輯關(guān)系:""a≥10或a≤0""的C語言表達(dá)式是________。
  A)a>=10 or a<=O  B)a>=0 I a<=10
  C)a>=10&&a<=0   D)a>=10 ll a<=10
  答案:D
  評析:c語言中的"或"關(guān)系用"‖"表示,其它相關(guān)邏輯運(yùn)算符"與"用"&&"表示;運(yùn)算符"非"用"!"來表示。
  
  (22)已經(jīng)定義ch為字符型變量,以下賦值表達(dá)式中錯(cuò)誤的是________。
  A)ch='\'  B)ch=62+3  C)ch=NULL  D)ch='\xaa'
  答案:A
  評析:反斜杠字符"\"賦給字符,應(yīng)該寫成ch='\\',所以A是錯(cuò)誤的。
  
  (23)有如下程序
  main()
  { int x=l,a=0,b=0;
  switch(x){
  case 0:b++:
  case 1:a++:
  case 2:a++;b++;
  }
  printf("a=%d,b。%d\n",a,b);
  )
  該程序的輸出結(jié)果是__________。
  A)a:2,b=1  B)a=l,b=1  C)a=l,b:O  D)a=2,b=2
  答案:A
  評析:在這個(gè)switch語句中,因?yàn)閤的值為1,所以執(zhí)行case 1:后面的a++,這樣a=1。但又由于其下沒有break語句,所以其后面的語句"a++;b++"也將被執(zhí)行,這樣一來,a=2,b=1。
  
  (24)有如下程序
  main()
  {  float x=2.0,y;
  if(x<O.O)y=0.0;
  else if(x<lO.O)y=1.O/x;
  else y=1.O;
  printf(%f\n",y);
  }
  該程序輸出結(jié)果是_________。
  A)0.000000  B)0.250000  C)0.500000  D)1.000000
  答案:C
  評析:本題考查的是if..else語句的使用。x=2.0,符合第二個(gè)IF語句的條件x<lO.O,所以執(zhí)行y=1.0/x語句,即y=1.0/2.0=0.500000。
  
  (25)有以下函數(shù)定義:
  void fun(int n,double x){……}
  若以下選項(xiàng)中的變量都已正確定義并賦值,則對函數(shù)fun正確調(diào)用語句是_______。
  A)fun(int y,double m);  B)k=fun(10,12.5);
  C)fun(x,n);        D)void fun(n,x);
  答案:C
  評析:函數(shù)調(diào)用的一般形式為:函數(shù)名(實(shí)參表列);,實(shí)參與形參的個(gè)數(shù)應(yīng)相等,類型應(yīng)一致,在調(diào)用函數(shù)時(shí),不要指定其返回類型,對于返回類型為void的函數(shù),不能作為賦值表達(dá)式的組成部分,所以選C。
  
  (26)有如下程序
  main()
  { int i,sum;
  for(i=l;i<=3;sum++) sum+=i;
  printf("%d\n",sum);
  }
  該程序的執(zhí)行結(jié)果是_________。
  A)6   B)3   C)死循環(huán)   D)O
  答案:C
  評析:在循環(huán)過程中,i的值一直沒有被改變,所以這是一個(gè)死循環(huán)。
  
  (27)下列函數(shù)定義中,會(huì)出現(xiàn)編譯錯(cuò)誤的是_________。
  A)max(int x,int y,int*z)     B)int max(im x,y)
  { *z=x>y?x:y;}         { int z;
  z=x>y?x:y;
  return z;}
  C)max(intx,inty)         D)intmax(intx,inty)
  {int z;              {return x>y?x:y;}
  z=x>y?x:y;
  return(z);}
  答案:B
  評析:在c語言中,不可以在函數(shù)的參數(shù)聲明列表中用一個(gè)類型名指定多個(gè)參數(shù)。故選項(xiàng)B是錯(cuò)誤的。
  其正確的表示方式應(yīng)為
  int max(int x,int y){……}
  或
  int max(x,y)
  int x,y;
  {……}

[1] [2] 下一頁  

文章錄入:ak47    責(zé)任編輯:ak47  
 版權(quán)聲明
   如果本網(wǎng)站所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本網(wǎng)內(nèi)容,請注明出處。
 發(fā)表評論
關(guān)于本站 網(wǎng)站聲明 廣告服務(wù)  聯(lián)系方式  付款方式  站內(nèi)導(dǎo)航  客服中心  友情鏈接   
Copyright © 2004-2006 考試吧 (Exam8.com) All Rights Reserved 
中國科學(xué)院研究生院中關(guān)村園區(qū)(北京市海淀區(qū))