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

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

[1] [2] 下一頁  

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