網(wǎng)站首頁
分類導(dǎo)航
試題中心
下載中心
英語學(xué)習(xí)
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
 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)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
  
  (1)算法分析的目的是________。
  A)找出數(shù)據(jù)結(jié)構(gòu)的合理性   B)找出算法中輸入和輸出之間的關(guān)系
  C)分析算法的易懂性和可靠性 D)分析算法的效率以求改進(jìn)
  答案:D
  評析:算法分析是指對一個算法的運行時間和占用空間做定量的分析,一般計算出相應(yīng)的數(shù)掌級,常用時間復(fù)雜度和空間復(fù)雜度表示。分析算法的目的就是要降低算法的時間復(fù)雜度和空間復(fù)雜度,提高算法的執(zhí)行效率。
  
  (2)n個頂點的強連通圖的邊數(shù)至少有________。
  A)n-1  B)n(n-1)  C)n   D)n+l
  答案:C
  評析:在有向圖中,若任意兩個頂點都連通,則稱該圖是強連通圖,這樣的有向圖的形狀是環(huán)狀,因而至少應(yīng)有n條邊。
  
  (3)已知數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),為節(jié)省時間,應(yīng)采用的算法是________。
  A)堆排序  B)直接插入排序  C)快速排序 D)直接選擇排序
  答案:B
  評析:當(dāng)數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),說明數(shù)據(jù)表A按關(guān)鍵字值基本有序,在待排序序列基本有序的情況.下,采用插入排序所用時間最少,故答案為選項B。
  
  (4)用鏈表表示線性表的優(yōu)點是________。
  A)便于插入和刪除操作     B)數(shù)據(jù)元素的物理順序與邏輯順序相同
  C)花費的存儲空間較順序存儲少 D)便于隨機存取
  答案:A
  評析:鏈?zhǔn)酱鎯Y(jié)構(gòu)克服了順序存儲結(jié)構(gòu)的缺點:它的結(jié)點空間可以動態(tài)申請和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點的指針來指示,不需要移動數(shù)據(jù)元素。故鏈?zhǔn)酱鎯Y(jié)構(gòu)下的線性表便于插入和刪除操作。
  
  (5)下列不屬于結(jié)構(gòu)化分析的常用工具的是________。
  A)數(shù)據(jù)流圖  B)數(shù)據(jù)字典  C)判定樹  D)PAD圖
  答案:D
  評析:結(jié)構(gòu)化分析的常用工具有數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹和判定表。而PAD圖是常見的過程設(shè)計工具中的圖形設(shè)計。
  
  (6)軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成________。
  A)定義、開發(fā)、運行維護
  B)設(shè)計階段、編程階段、測試階段
  C)總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試
  D)需求分析、功能定義、系統(tǒng)設(shè)計
  答案:A
  評析:通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。它可以分為軟件定義、軟件開發(fā)及軟件運行維護三個階段。
  
  (7)在軟件工程中,白盒測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是________。
  A) 循環(huán)的集合 B)地址的集合 C)路徑的集合 D)目標(biāo)的集合
  答案:C
  評析:軟件的白盒測試方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進(jìn)行測試。
  
  (8)在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有________。
  A)數(shù)據(jù)無冗余     B)數(shù)據(jù)可共享
  C)專門的數(shù)據(jù)管理軟件  D)特定的數(shù)據(jù)模型
  答案:D
  評析:在文件系統(tǒng)中,相互獨立的記錄其內(nèi)部結(jié)構(gòu)的最簡單形式是等長同格式記錄的集合,易造成存儲空間大量浪費,不方便使用。而在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)是結(jié)構(gòu)化的,這種結(jié)構(gòu)化要求在描述數(shù)據(jù)時不僅描速數(shù)據(jù)本身,還要描述數(shù)據(jù)間的關(guān)系,這正是通過采用特定的數(shù)據(jù)模型來實現(xiàn)的。
  
  (9)分布式數(shù)據(jù)庫系統(tǒng)不具有的特點是________。
  A)分布式          B)數(shù)據(jù)冗余
  C)數(shù)據(jù)分布性和邏輯整體性  D)位置透明性和復(fù)制透明性
  答案:B
  評析:分布式數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)分布性、邏輯整體性、位置透明性和復(fù)制透明性的特點,其數(shù)據(jù)也是分布的;但分布式數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)經(jīng)常重復(fù)存儲,數(shù)據(jù)也并非必須重復(fù)存儲,主要視數(shù)據(jù)的分配模式而定。若分配模式是一對多,即一個片段分配到多個場地存放,則是冗余的數(shù)據(jù)庫,否則是非冗余的數(shù)據(jù)庫。
  
  (10)下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是________。
  A)數(shù)據(jù)結(jié)構(gòu) B)數(shù)據(jù)操作  C)數(shù)據(jù)查詢  D)數(shù)據(jù)約束
  答案:C
  評析:數(shù)據(jù)模型所描述的內(nèi)容有3個部分,它們是數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。數(shù)據(jù)操作主要是描述在相應(yīng)數(shù)據(jù)結(jié)構(gòu)上的操作類型與操作方式;數(shù)據(jù)模型中的數(shù)據(jù)約束主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、語義聯(lián)系,它們之間的制約與依存關(guān)系,以及數(shù)據(jù)動態(tài)變化的規(guī)則,以保證數(shù)據(jù)的正確、有效與胡容。
  
  (11)在結(jié)構(gòu)化程序設(shè)計中,限制使用goto語句的原因是________。
  A)提高程序的執(zhí)行效率
  B)提高程序的清晰性和可靠性
  C)便于程序的合成
  D)該語句對任何結(jié)構(gòu)的程序都不適用
  答案:B
  評析:在c語言中,限制使用goto語句,其目的是為了提高程序的清晰性與可靠性,一般來說,除了從多重循環(huán)中跳出,一般不使用goto語句。
  
  (12)以下選項中合法的實型常數(shù)是________。
  A)5E2.0  B)E-3  C).2E0  D)1.3E
  答案:C
  評析:以指數(shù)形式表示實數(shù)時,字母e(或E)之前必須有數(shù)字,且e后面指數(shù)必須為整數(shù)。
  
  (13)下列敘述中,正確的是________。
  A)C語言中既有邏輯類型也有集合類型
  B)c語言中沒有邏輯類型但有集合類型
  B)C語言中有邏輯類型但沒有集合類型
  B)C語言中沒有邏輯類型也沒有集合類型
  答案:B
  評析:在c語言中只提供了整型、浮點型、字符型這幾種基本類型,c語言沒有提供邏輯類型,在c中一般用整型來表示邏輯類型。在自定義類型中,c提供了struct,enum及union類型,但沒有提供集合類型,在pascal中提供了集合類型set。
  
  (14)已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量'\10l'是________。
  A)字符A  B)字符a  C)字符e  D)非法的常量
  答案:A
  評析:八進(jìn)制101轉(zhuǎn)換為十進(jìn)制即為65,而字母A的ASCII碼是65,所以用八進(jìn)制表示的字符常量'\101'是A。
  
  (15)設(shè)a和b均為double型常量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是________。
  A)6.500000 B)6  C)5.500000  D)6.000000
  答案:D
  評析:各類數(shù)值型數(shù)據(jù)在進(jìn)行混合運算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運算。轉(zhuǎn)換的規(guī)則為:總是轉(zhuǎn)換為精度更大的數(shù)據(jù)類型,字符數(shù)據(jù)轉(zhuǎn)換為整數(shù),short型轉(zhuǎn)為int型,float型數(shù)據(jù)在運算時轉(zhuǎn)換成雙精度型,以提高運算精度。
  
  (16)以下四個選項中不能看作一條語句的是________。
  A){;}  B)a=0,b:0,c=0; C)if(a>0);  D)if(b==0)m=l;n=2;
  答案:D
  評析:選項A為空語句,選項B是一個由逗號運算符表達(dá)式形成的語句,選項c為一個條件語句,選項D有兩個分號,是由兩個語句構(gòu)成,不能看成一條語句。
  
  (17)已知i、j、k為int型變量,若從鍵盤輸入:1,2,3↙,使i的值為l、j的值為2、k的值為3,以下選項中正確的輸入語句是________。
  A)scanf("%2d%2d%2 dtt,&i,&j,&k);
  B)scanf("%d。。",&i,&j,&k);
  C)scanf("%d,%d,%dfI,&i,&j,&k);
  D)scanf("i=%d,j=%d,k=%d-t,&i,&j,&k);
  答案:C
  評析:如果在"格式控制"字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。
  
  (18)關(guān)于goto語句的使用,下面正確的是________。
  A)goto 2;   B)goto g;   C)goto g:;   D)goto 2;
  2:exit(0);  g:exit(O);  g:exit(O);  2 exit(0);
  答案:B
  評析:在c中,goto語句后面的標(biāo)號的命名規(guī)則與c語言中標(biāo)識符的命名規(guī)則相同,在goto語句后面的標(biāo)號后不要加":"號,在某一行上添加標(biāo)號時,在標(biāo)號的后面要添加":"號。
  
  (19)若有以下程序:
  main()
  {int k=2,i=2,m;
  m=(k+=I*=k);
  printf("%d,%d、n",m,i);
  }
  執(zhí)行后的輸出結(jié)果是__________。
  A)8,6  B)8,3  C)6,4  D) 7,4
  答案:C
  評析:在賦值符"="之前加上其它運算符,可以構(gòu)成復(fù)合的運算符。此運算為右結(jié)合性,即從右往左計算。I*=k即i=i*k=2*2=4,k=k+i=2+4=6,然后將k的值賦給m。
  
  (20)以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。
  #define N 10
  void arrin(int x[N])
  { int i=0;
  while(i<N)scanf("%d",_________);
  }
  在下劃線處應(yīng)填入的是_________。
  A)x+i  B)&x[i+l]  C)x+(i++)  D)&x[++I]
  答案:C
  評析:在c中,對于一維數(shù)組而言,數(shù)組變量表示數(shù)組中首元素的的地址。當(dāng)用scanf函數(shù)向數(shù)組x的第i個元素中輸入整型數(shù)據(jù)時,只要執(zhí)行scanf("%d"x+i):由于要循環(huán)輸入數(shù)組中和各個元素,必須要使其地址值不斷自增。故本題答案為c。
  
  (21)已有定義:int x=3,y=4,z=5;,則表達(dá)式!(x+y)+z-l&&y+z/2的值是_________。
  A)6  B)0  C)2  D)1
  答案:D
  評析:在本題中,運算符的優(yōu)先級分別為:!>/>+,->&&即:!(3+4)+5-1&&4+5/2=0+5-1&&4+2=4&&6=l。
  
  (22)以下選項中,與k=11++完全等價的表達(dá)式是__________。
  A)k=n,n=n+1  B)n=n+1,l(=n  C)l(=什n  D)k+--n+1
  答案:A
  評析:n++是自增運算,是先使用,然后再使n加1,分開來寫即為:k=n,n=n+l。
  
  (23)以下程序運行后,輸出結(jié)果為__________。
  main()
  {
  int y=18,i=0J,a[8];
  do
  {a[I]=y%2;i++;y。y/2;
  }while(y>。1);
  for(j=i一1 0>=00一)
  printf("%d"a[j]);
  printf("\n");
  }
  A)10000  B)10010  C)00l 10  D)10100
  答案:B
  評析:分析程序不難得知該程序的功能實際上就是采用除余取整法實現(xiàn)將10進(jìn)制數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制數(shù)。對于10進(jìn)制數(shù)18,其轉(zhuǎn)化為二進(jìn)制數(shù)后,結(jié)果為10010。
  
  (24)以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績,計算出每位學(xué)生的平均分并輸出,程序如下:
  main()
  {int n,k;
  float score,sum,ave;
  sum=0.0;
  for(n=1;n<=10;n++)
  {for(k=l;k<=4;k++)
  {seal3f("%f",&score);
  sum+=score;
  }
  ave=sum/4.0;
  printf("NO%d:%f\n",n,ave);
  }
  }
  上述程序運行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序的位置不正確。這條  語句是________。
  A)sum=O.O;     B)sum+=score;
  C)ave=sum/4.0;  D)printf("NO%d:%fua",n,ave);
  答案:A
  評析:題目中要求每位學(xué)生的平均分?jǐn)?shù),首先要求每位學(xué)生的總分,也就是程序中的Sum,所以sum應(yīng)在第一個for循環(huán)體內(nèi)賦初值,如果在循環(huán)體外賦初值就會得到所有學(xué)生的分?jǐn)?shù)總和,不合題意。
  
  (25)下面程序執(zhí)行后的輸出結(jié)果是__________。
  main()
  {
  charx=Oxddff;
  printf("%d\n",x);
  }
  A)-35  B)-1  C)255  D)-8705
  答案:B
  評析:由于程序中對字符變量x賦值為0xddff,而字符型變量只占一個字節(jié),故實際存入c單元的為該16進(jìn)制的低字節(jié)部分,即ff。對該數(shù)按整型格式輸出,其結(jié)果為-1。
  
  (26)有以下程序
  main()
  { int a=15,b=21,m=O;
  switch(a%3)
  { case O:m++;break;
  case l:m++:
  switch(b%2)
  { default:m++;
  case O:m++;break;
  }
  }
  printf("%d\n",m);
  }
  程序運行后的輸出結(jié)果是_________。
  A)l  B)2  C)3  D)4
  答案:A
  評析:因為a%3是個常數(shù),所以只執(zhí)行一次就跳出switch結(jié)構(gòu)。即只執(zhí)行m++,此時m為1。
  
  (27)若有說明:int n=2,*p=&n,*q=p;,則以下非法的賦值語句是_________。
  A)p=q;  B)*p=*q;    C)n=*q;  D)p*n;
  答案:D
  評析:指針變量不同于整型變量和其它類型的變量,它是用來存放地址(指針)的,不能將一個整型量(或任何其它非地址類型的數(shù)據(jù))賦給一個指針變量,這樣的賦值是不合法的。

[1] [2] 下一頁  

文章錄入:ak47    責(zé)任編輯:ak47  
 版權(quán)聲明
   如果本網(wǎng)站所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(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ū))