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

一、選擇題(1)~(10)每小題2分,(11)~(50)每小題1分,共60分)
  
  下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應位置上,答在試卷上不得分。
  
  (1)數(shù)據(jù)的存儲結構是指________。
  A)存儲在外存中的數(shù)據(jù)  B)數(shù)據(jù)所占的存儲空間量
  C)數(shù)據(jù)在計算機中的順序存儲方式  D)數(shù)據(jù)的邏輯結構在計算機中的表示
  答案:D
  評析:數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式形式稱為數(shù)據(jù)的存儲結構(也稱數(shù)據(jù)的物理結構)。
  
  (2)下列關于棧的描述中錯誤的是________。
  A)棧是先進后出的線性表
  B)棧只能順序存儲
  C)棧具有記憶作用
  D)對棧的插入與刪除操作中,不需要改變棧底指針
  答案:B
  評析:棧是一種特殊的線性表,又稱先進后出表(FILO---First In Last Out)。
  
  (3)對于長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數(shù)中正確的是
  ________。
  A)冒泡排序為n2  B)冒泡排序為n
  C)快速排序為n   D)快速排序為n(n一1)/2
  答案:D
  評析:假設線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過n/2遍的從前往后掃描和n/2遍的從后往前掃描,需要比較次數(shù)為n(n-1)/2。快速排序法的最壞情況比較次數(shù)也是n(n-1)/2。
  
  (4)對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為________。
  A)log2n  B)n/2   C)n   D)n+l
  答案:C
  評析:順序查找過程中,如果被查找的元素是線性表中的最后一個元素,或者元素不在線性表中,則需要與線性表中所有的元素進行比較。對長度為n的線性表進行順序查找,在最壞情況下需要比較n次。
  
  (5)下列對于線性鏈表的描述中正確的是________。
  A)存儲空間不一定是連續(xù),且各元素的存儲順序是任意的
  B)存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面
  C)存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面
  D)存儲空間必須連續(xù),且各元素的存儲順序是任意的
  答案:A
  評析:在鏈式存儲結構中,存儲數(shù)據(jù)結構的存儲空間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,而數(shù)據(jù)元素之間的邏輯關系是由指針域來確定的。
  
  (6)下列對于軟件測試的描述中正確的是________。
  A)軟件測試的目的是證明程序是否正確
  B)軟件測試的目的是使程序運行結果正確
  C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤
  D)軟件測試的目的是使程序符合結構化原則
  答案:C
  評析:關于軟件測試的目的,Grenford J.Myers再《The Art of Software Testing》一書中給出了深刻的闡述,整體來說,軟件測試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯誤。
  
  (7)為了使模塊盡可能獨立,要求________。
  A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強
  B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
  C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
  D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強
  答案:B
  評析:模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。軟件設計,應盡量做到高內(nèi)聚,低耦合,有利于提高模塊的獨立性。
  
  (8)下列描述中正確的是________。
  A)程序就是軟件
  B)軟件開發(fā)不受計算機系統(tǒng)的限制
  C)軟件既是邏輯實體,又是物理實體
  D)軟件是程序、數(shù)據(jù)與相關文檔的集合
  答案:D
  評析:計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關文檔的完整集合。
  
  (9)數(shù)據(jù)獨立性是數(shù)據(jù)庫技術的重要特點之一,所謂數(shù)據(jù)獨立性是指________。
  A)數(shù)據(jù)與程序獨立存放
  B)不同的數(shù)據(jù)被存放在不同的文件中
  C)不同的數(shù)據(jù)只能被對應的應用程序所使用
  D)以上三種說法都不對
  答案:D
  評析:數(shù)據(jù)獨立性是數(shù)據(jù)與程序間的互不依賴性,即數(shù)據(jù)庫中數(shù)據(jù)獨立于應用程序而不依賴于應用程序。也就是說,數(shù)據(jù)的邏輯結構、存儲結構與存取方式的改變不會影響應用程序。選項A、B、C三種說法都是錯誤的。
  
  (10)用樹形結構表示實體之間聯(lián)系的模型是________。
  A)關系模型  B)網(wǎng)狀模型  C)層次模型  D)以上三個都是
  答案:C
  評析:層次模型是最早發(fā)展起來的數(shù)據(jù)庫模型,它的基本結構是樹形結構。
  
  (11)算法具有五個特性,以下選項中不屬于算法特性的是________。
  A)有窮性  B)簡潔性  C)可行性  D)確定性
  答案:B
  評析:有窮性、確定性、有零個或多個輸入、有一個或多個輸出、有效性是算法的基本特性。
  
  (12)以下選項中可作為c語言合法常量的是________。
  A)-80.  B)-080  C)-8e1.0  D)-80.0e
  答案:A
  評析:c語言的常量分為整型常量、實型常量和字符型常量。選項A屬于實型常量中的十進制小數(shù)形式的表示法,是合法的。
  
  (13)以下敘述中正確的是________。
  A)用C程序實現(xiàn)的算法必須要有輸入和輸出操作
  B)用C程序實現(xiàn)的算法可以沒有輸出但必須要輸入
  C)用C程序實現(xiàn)的算法可以沒有輸入但必須要有輸出
  D)用C程序實現(xiàn)的算法可以既沒有輸入也沒有輸出
  答案:C
  評析:算法的特性中包括"有零個或多個輸入"及"有一個或多個輸出"這兩個特性。一個算法得到的結果就是算法的輸出,沒有輸出的算法是沒有意義的,所以一個算法必須至少有一個輸出。
  
  (14)以下不能定義為用戶標識符的是________。
  A)Main  B)_0   C)_int   D)sizeof
  答案:D
  評析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線三種符號組成,而且第一個字符必須是字母或下劃線。注意:大寫字母和小寫字母被認為是兩個不同的字符。A中Main與主i函數(shù)名main不同。
  
  (15)以下選項中不能作為合法常量的是________。
  A)1.234e04  B)1.234e0.4  C)1.234e+4 D)1.234e0
  答案:B
  評析:指數(shù)形式的實型常量要求字每e(或E)之前必需有數(shù)字,且e后面的指數(shù)必須為整數(shù),所以本題中選項B非法。
  
  (16)數(shù)字字符0的ASCII值為48,若有以下程序
  main()
  {char a="1",b="2";
  printf("%c,",b++);
  printf("%d\n",b-a);
  )
  程序運行后的輸出結果是________。
  A) 3,2  B)50,2  C)2,2  D)2,50
  答案:C
  評析l執(zhí)行語句"printf("%c,ll,b++);"后,b的值變成字符3,執(zhí)行"printf("%d\n",b-a);",即'3'-'1'。
  
  (17)有以下程序
  main( )
  {
  int m=12, n=34;
  printf("%d%d",m++,++n);
  printf("%d%d\n",n++,++m);
  }
  程序運行后的輸出結果是________。
  A)12353514  B)12353513  C)12343514  D)12343513
  答案:A
  評析:執(zhí)行"printf("%d%d"m++,++n);"后,輸出的是m和n+l的值1235,接著執(zhí)行
  "printf("%d%d\n",n++,++m);"輸出n和m+l的值3514。
  
  (18)有定義語句:int b;char c[10】;,則正確的輸入語句是________。
  A) scanf("%d%s",&b,&C);  B) scanf("%d%s",&b,C);
  C) scanf("%d%s",b,C);   D) scanf("%d%s",b,&C);
  答案:B
  評析:scanf函數(shù)中的"格式控制"后面應當是地址,而不是變量名。對于變量,通過地址運算符"&"求出內(nèi)存中的地址;對于數(shù)組c[10],數(shù)組名c即為數(shù)組在內(nèi)存中的地址。
  
  (19)有以下程序
  main()
  {int m,n,p;
  scanf("m=%dn=%dp=%d",&m,&n,&p);
  printf("%d%d%d\n",m,n,p);
  }
  若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,
  則正確的輸入是________。
  A) m。123n=456p=789   B) m=123 n=456 p=789
  C) m=123,n=456,p=789  D) 123 456 789
  答案:A
  評析:根據(jù)本題的數(shù)據(jù)輸入形式"scanf("m=%dn=%dp=%d"&m,&n,&p);"說明在輸入數(shù)據(jù)時,必須輸入"m="、"n="、"p="字符,且中間不能含有空格。
  
  (20)有以下程序
  main()
  { int a,b,d=25;
  a=d/10%9;
  b=a&&(-1);
  printf("%d,%d\n",a,b);
  }
  程序運行后的輸出結果是________。
  A)6,l   B)2,l   C)6,0   D)2,0
  答案:B
  評析:本題中"a=d/10%9;"的值為25/10%9=2; "b=a&&(-1);"為2&&(-1)=1(注意:-1表示真,只有O才表示假),所以a,b的值分別為2,1。
  
  (21)有以下程序
  main()
  {
  int i=1 j=2,k=3;
  if(i++==1&&(++j==3||k++==3))
  printf("%d%d%d\n",i,j,k);
  }
  程序運行后的輸出結果是________。
  A)l 2 3   B)2 3 4   C) 2 2 3.  D)2 3 3
  答案:D
  評析:執(zhí)行"i++==1&&(++j==3‖k++==3)"時,表達式"i++==1"嗨值為真,其值為1,表達式"++j=3"的值為真,根據(jù)短路原理,右邊的表達式"k++==3"不再進行運算。括號中表達的值為l,作與運算后整個表達式的值也為l,輸出i.j,k時,由于未執(zhí)行過k,所以它們的值分別為2,3,3。
  
  (22)若整型變量a、b、c、d中的值依次為:1、4、3、2。則條件表達式a<b?a:c<d?c:d的值是________。
  A)l   B)2   C)3   D)4
  答案:A
  評析:條件表達式的一般形式為:表達式17表達式2:表達式3
  本題先求的是a<b的值,為真,所以整個表達式"a<b?a:c<d?c:d"的值為a的值1。
  
  (23)有以下程序
  main( )
  {
  int p[8]={11,12,13,14,15,16,17,18},i=O,j=0;
  while(i++<7)if p[i]%2)j+-=p[i];
  printf("%d\n",j);
  }
  程序運行后的輸出結果是________。
  A)42   B)45   C)56  D)60
  答案:B
  評析:本程序的作用是求除p[O]外的其它奇數(shù)的和。
  
  (24)有以下程序
  main()
  {
  char a[7]= "a0\OaO\0"; int i,j;
  i=sizeof(a);j=strlen(a);
  printf("%d%d\n",i,j);
  )
  程序運行后的輸出結果是________。
  A)2 2   B)7 6   C)7 2   D)6 2
  答案:C
  評析:c語言中以'\0'作為字符串的結束符,且strlen()函數(shù)計算的是'\0'字符前的所有字符的個數(shù)。數(shù)組定義以后系統(tǒng)就為其分配相應大小的內(nèi)存空間,而不論其中有沒有內(nèi)容。
  
  (25)以下能正確定義一維數(shù)組的選項是________。
  A)int a[5]={0,1,2,3,4,5;    B)char a[]={0,1,2,3,4,5};
  C)char a={'A','B','C'};   D)int a[5]="0123";
  答案:B
  評析:選項A中定義的是5個數(shù)組元素,但賦值的時候賦的是6個元素,所以出錯;選項c不符合數(shù)組定義形式,數(shù)組名后應加上"[]";選項D的類型說明符錯誤,如果用char定義就對了;選項B中的0,1,2,3,4,5分別表示對應字符的ASCII碼,所以選項B是正確的。
  
  (26)有以下程序
  int fl(int x,int y){return x>y?x:y;}
  int f2(int x,int y){return x>y?y:x;}
  main()
  {
  int a=4,b=3,c=5,d=2,e,f,g;
  e=f2(f1(a,b),f1(c,d));f=fl(f2(a,b),f2(c,d));
  g=a+b+c+d-e-f;
  printf("%d,%d,%d\n",e,f,g);
  )
  程序運行后的輸出結果是________。
  A)4,3,7   B)3,4,7   C)5,2,7   D)2,5,7
  答案:A
  評析:函數(shù)n的功能是返回兩個數(shù)中比較大的值,f2的功能是返回兩個數(shù)中比較小的值。
  
  (27)已有定義:char a[]="xyz",b[]={'x','y','z};,以下敘述中正確的是________。
  A)數(shù)組a和b的長度相同    B)a數(shù)組長度小于b數(shù)組長度
  C)a數(shù)組長度大于b數(shù)組長度  D)上述說法都不對
  答案:C
  評析:c語言規(guī)定'\0'為字符串結束標志。所以"char a[]="xyz""的數(shù)組長度為4,而"b[]={'x','y','z'};"的數(shù)組長度為3,數(shù)組長度與strlen函數(shù)所求的長度不同,本題是指數(shù)組占內(nèi)存空間的大小。

   相關閱讀:   
    -----------------------------------------------
    05年9月等級考試二級C語言考前上機密卷2
     05年9月等級考試二級C語言考前上機密卷1
     05年9月等級考試二級C語言考前密卷(十)
     05年9月等級考試二級C語言考前密卷(九)
     05年9月等級考試二級C語言考前密卷(八)
     05年9月等級考試二級C語言考前密卷(七)
     05年9月等級考試二級C語言考前密卷(六)
     05年9月等級考試二級C語言考前密卷(五)
     05年9月等級考試二級C語言考前密卷(四)
     05年9月等級考試二級C語言考前密卷(三)
    ------------------------------------------------

[1] [2] 下一頁  

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