網(wǎng)站首頁
分類導(dǎo)航
試題中心
下載中心
英語學(xué)習(xí)
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
 05年9月等級(jí)考試二級(jí)C語言考前密卷(七)
【字體:
05年9月等級(jí)考試二級(jí)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)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
  
  (1)在下列選項(xiàng)中,_________不是一個(gè)算法一般應(yīng)該具有的基本特征。
  A)確定性  B)可行性  C)無窮性  D)擁有足夠的情報(bào)
  答案:C
  評(píng)析:一個(gè)算法,一般應(yīng)具有以下幾個(gè)基本特征。①可行性②確定性③有窮性④擁有足夠的情報(bào)
  
  (2)希爾排序法屬于_________類型的排序法。
  A)交換類排序法  B)插入類排序法
  C)選擇類排序法  D)建堆排序法
  答案:B
  評(píng)析:希爾排序法的基本思想是:將整個(gè)無序序列分割成若干小的子序列分別進(jìn)行插入排序。所以希爾排序法屬于插入類排序,但它對(duì)簡(jiǎn)單插入排序做了很大的改進(jìn)。
  
  (3)下列關(guān)于隊(duì)列的敘述中正確的是_________。
  A)在隊(duì)列中只能插入數(shù)據(jù)   B)在隊(duì)列中只能刪除數(shù)據(jù)
  C)隊(duì)列是先進(jìn)先出的線性表  D)隊(duì)列是先進(jìn)后出的線性表
  答案:C
  評(píng)析:隊(duì)列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表。它又稱為"先進(jìn)先出"或"后進(jìn)后出"的線性表,體現(xiàn)了"先來先服務(wù)"的原則。
  
  (4)對(duì)長(zhǎng)度為N的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為_________。
  A)N+I  B)N  C)(N+I)/2  D)N/2
  答案:B
  評(píng)析:在進(jìn)行順序查找過程中,如果被查的元素是線性表中的最后一個(gè),或者被查元素根本不在線性表中,則為了查找這個(gè)元素需要與線性表中所有元素進(jìn)行比較,這是順序查找最壞的情況。
  
  (5)信息隱蔽的概念與下述_________概念直接相關(guān)。
  A)軟件結(jié)構(gòu)定義  B)模塊獨(dú)立性
  C)模塊類型劃分  D)模擬耦合度
  答案:B
  評(píng)析:信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說是不能訪問的。模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。衡量軟件的模塊獨(dú)立性的度量標(biāo)準(zhǔn)是耦合性和內(nèi)聚性。一個(gè)模塊的內(nèi)聚性越強(qiáng),則該模塊的模塊獨(dú)立性越強(qiáng)。而內(nèi)聚性是信息隱蔽和局部化概念的自然擴(kuò)長(zhǎng)。
  
  (6)面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是_________。
  A)模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
  B)強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
  C)使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題
  D)鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考
  答案:C
  評(píng)析:面向?qū)ο蟮脑O(shè)計(jì)方法基本原理:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,鼓勵(lì)開發(fā)者在軟件開發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。
  
  (7)在結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開發(fā)中的_________階段。
  A)詳細(xì)設(shè)計(jì) B)需求分析  C)總體設(shè)計(jì)  D)編程調(diào)試
  答案:C
  評(píng)析:總體設(shè)計(jì)過程通常由兩個(gè)主要階段組成:系統(tǒng)設(shè)計(jì),確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì),確定軟件結(jié)構(gòu)。為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。
  
  (8)軟件調(diào)試的目的是_________。
  A)發(fā)現(xiàn)錯(cuò)誤    B)改正錯(cuò)誤
  C)改善軟件的性能  D)挖掘軟件的潛能
  答案:B
  評(píng)析:由程序調(diào)試的概念可知:程序調(diào)試活動(dòng)由兩部分組成,其一是根據(jù)錯(cuò)誤的跡象確定程序中錯(cuò)誤的確切性質(zhì)、原因和位置。其二,對(duì)程序進(jìn)行修改,排除這個(gè)錯(cuò)誤。所以程序調(diào)試的目的就是診斷和改正程序中的錯(cuò)誤。
  
  (9)按條件f對(duì)關(guān)系R進(jìn)行選擇,其關(guān)系代數(shù)表達(dá)式為_________。
  RooR
  A)RooR  B) f  C)6f(R)  D)兀f(R)
  答案:C
  評(píng)析:選擇運(yùn)算是一個(gè)一元運(yùn)算,關(guān)系R通過選擇運(yùn)算(并由該運(yùn)算給出所選擇的邏輯條件)后仍為一個(gè)關(guān)系。這個(gè)關(guān)系是由R中那些滿足邏輯條件的元組所組成。如果關(guān)系的邏輯條件為C則R滿足f的選擇運(yùn)算可以寫成:6f(R)。
  
  (10)數(shù)據(jù)庫的物理設(shè)計(jì)是為一個(gè)給定的邏輯結(jié)構(gòu)選取一個(gè)適合應(yīng)用環(huán)境的_______的過程,  包括確定數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法。
  A)邏輯結(jié)構(gòu) B)物理結(jié)構(gòu)  C)概念結(jié)構(gòu)  D)層次結(jié)構(gòu)
  答案:B
  評(píng)析:根據(jù)數(shù)據(jù)庫物理設(shè)計(jì)的概念可知:為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計(jì)。數(shù)據(jù)庫的物理結(jié)構(gòu)就是指數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法。
  
  (11)下列敘述中正確的是_______。
  A)C語言編譯時(shí)不檢查語法
  B)C語言的子程序有過程和函數(shù)兩種
  C)C語言的函數(shù)可以嵌套定義
  D)C語言中,根據(jù)函數(shù)能否被其它源文件調(diào)用,被區(qū)分為內(nèi)部函數(shù)和外部函數(shù)
  答案:D
  評(píng)析:選項(xiàng)A的錯(cuò)誤在于編譯過程中是檢查語法的,若發(fā)現(xiàn)源程序有語法錯(cuò)誤,則系統(tǒng)會(huì)提示出錯(cuò)信息;選項(xiàng)B的錯(cuò)誤在于c語言中,子程序的作用是由函數(shù)來完成的,無過程的概念;選項(xiàng)c的錯(cuò)誤在于函數(shù)不可以嵌套定義,但可以嵌套調(diào)用。
  
  (12)有以下程序:
  main()
  {
  int a:
  char c=10;
  float f=100.0;double x;
  a=f/=c*=(x=6.5);
  printf("%d%d%3.1f%3.1f\n",a,c,f,x);
  }
  程序運(yùn)行后的輸出結(jié)果是_______。
  A)1 65 1 6.5  B)1 65 1.5 6.5  C)l 65 1.0 6.5  D)2 65 1.5 6.5
  答案:B
  評(píng)析:本題求解步驟如下:先進(jìn)行"c*=(x=6.5)"的運(yùn)算,由于x=6.5,表達(dá)式相當(dāng)于c=c*6.5=10*6.5=65.再進(jìn)行"f/=65"的運(yùn)算,相當(dāng)于f=-f/65=100.0/65,由于f為單精度實(shí)型變量,因此f的值約為1.538462.然后進(jìn)行"a=f"的運(yùn)算,由于a為整型變量,因此a=1.最后將各個(gè)變量的值按照printf中的格式要求輸出到屏幕,注意變量f,x按照"%3.1f"格式輸出,,即只輸出一位小數(shù)。
  
  (13)以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x/(y*z)的C語言表達(dá)式是_______。
  A)x/y*z  B)x*(1/(y*z))  C)x/y*1/z  D)x/y/z
  答案:A
  評(píng)析:按照自左向右的運(yùn)算邏輯,選項(xiàng)A是先做x/y,然后再乘以x,顯然與題意不符。
  
  (14)若a為int類型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的值是_______。
  A)-3  B)9  C)-12  D)6
  答案:C
  評(píng)析:c語言中對(duì)賦值運(yùn)算的運(yùn)算順序是自右向左。本題中,計(jì)算a*a之后,a的值依然為3,表達(dá)式a*a的值為9;a-=9,a=3-9=-6;a+=-6,a=-6+-6=-12。
  
  (15)以下程序段中與語句k=a>b?(b>c?1:0):0;功能等價(jià)的是_______。
  A)if((a>b)&&(b>C))k=l;else k=0;
  B)if((a>b)‖(b>C))k=l;else k=O;
  C)if(a<=b)k=0;else if(b<=C)k=1;
  D)if(a>b)k=1,else if(b>C)k=l;else k=0;
  答案:A
  評(píng)析:"a>b?(b>c?1:0):0"的求解順序是:先判斷a>b是否為真,如果為真,則執(zhí)行b>c?1:0:如果b>c為真,則(b>c?l:0)的值為1,從而整個(gè)表達(dá)式返回1,否則整個(gè)表達(dá)式返回0;如果a<=b,則表達(dá)式返回0。因此功能等價(jià)的語句應(yīng)為if((a>b)&&(b>C))k=l;else k=0;。
  
  (16)設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x‖++y;后,y的值為_______。
  A)不定值  B)4  C)3  D)1
  答案:C
  評(píng)析:e語言中在做邏輯或運(yùn)算時(shí),自左向右判斷各個(gè)參加或運(yùn)算的表達(dá)式,一旦運(yùn)算到某式的值為非零時(shí),表明整個(gè)表達(dá)式一定為真,余下的語句則不再進(jìn)行運(yùn)算。本題中,++x的值為真,則++y并沒有進(jìn)行運(yùn)算,所以y值不變。
  
  (17)假設(shè)a和b為int型變量,則執(zhí)行以下語句后,b的值為_______。
  a=l:b=10:
  do
  { b-=a: a++:
  } while(b一<0):
  A)9  B)-2  C)-l  D)8
  答案:D
  評(píng)析:本題程序第一輪循環(huán)后b的值為9,在進(jìn)行循環(huán)條件測(cè)試時(shí),先取b的現(xiàn)值9與O比較,然后再將b減l。由于9<0不成立,因此循環(huán)結(jié)束,這時(shí)b的值已變成8,本題正確答案為D。
  
  (18)若執(zhí)行以下程序時(shí)從鍵盤上輸入9,則輸出結(jié)果是_________。
  main()
  {
  int n:
  scanf("%d:",&n);
  if(n++<10)printf("%d\n",n);
  else printf("%d\n",n--);
  }
  A)ll  B)lO  C)9  D)8
  答案:B
  評(píng)析:n++是在語句結(jié)束后再加l,因此,if語句中相當(dāng)于判斷的是9<10,當(dāng)然是執(zhí)行if語句后面的lorintf語句,而這時(shí),因?yàn)閕f語句被執(zhí)行,n的值也被加1,所以在打印時(shí),n值為10,而n--是在printf語句執(zhí)行完畢后再減1的。
  
  (19)有以下程序段
  int k=O:
  while(k=l)k++;
  while循環(huán)執(zhí)行的次數(shù)是_________。
  A)無限次      B)有語法錯(cuò),不能執(zhí)行
  C)一次也不執(zhí)行   D)執(zhí)行1次
  答案:A
  評(píng)析:c語言里關(guān)系表達(dá)式的等于應(yīng)該是"=="。一個(gè)等于號(hào)表示賦值,即這里面重復(fù)的把1賦給k,自然表達(dá)式k=l的值總為1,while后面的表達(dá)式恒為真,當(dāng)然會(huì)進(jìn)入死循環(huán)。
  
  (20)有以下程序:
  void sum(int*a)
  {a[O]=a[1];}
  main()
  {
  Int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
  for(i=1;i>O;i--)sum(&aa[i]);
  printf("%d\n",aa[0]);
  )
  程序運(yùn)行后的輸出結(jié)果是_________。
  A)4  B)3  C)2   D)1
  答案:D
  評(píng)析:c語言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是"值傳遞",只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。函數(shù)調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。本題要求輸出aa[0]的值,結(jié)果應(yīng)為1。
  
  (21)以下程序執(zhí)行后sum的值是_________。
  main()
  {
  int I,sum;
  for(i=1;i<6;i++)sum+=i;
  printf("%d\n",sum);
  }
  A)15  B)14  C)不確定  D)0
  答案:C
  評(píng)析:變量sum在使用時(shí)未賦初值,所以無法確定sum最終的值。
  
  (22)有以下程序:
  main()
  {
  int x[8]={8,7,6,5,0,0},*s;
  s=x+3:
  printf("%d\n",s[2]);
  }
  程序運(yùn)行后的輸出結(jié)果是________。
  A)隨機(jī)值  B)0  C)5  D)6
  答案:B
  評(píng)析:本題定義了數(shù)組x[8]和指針變量s,由c語言規(guī)定,指針加1的含義是使指針指向數(shù)組的下一個(gè)元素,而不是指針值簡(jiǎn)單的加l,因此通過s=x+3;使s指向數(shù)組元素x[3]。由于指向數(shù)據(jù)的指針變量可以帶下標(biāo)表示,如s[i]與*(s+i)等價(jià)。因此題目要求輸出s[2]的值,即+(s+2)的值,也就是x[51的值,為0。
  
  (23)有以下程序段
  int x=3:
  do
  {
  printf("%d",x-=2);
  }
  while(!(--x));
  其輸出結(jié)果是_______。
  A)l  B)3 0  C)1 -2  D)死循環(huán)
  答案:C
  評(píng)析:本題中循環(huán)執(zhí)行了兩次,第一次,執(zhí)行完printf語句后,x=l,而--X是先自減后執(zhí)行語句,所以(!(--X))的值為非零,所以又執(zhí)行了一次。第二次x的值為-2,--x的值為-3,求非后,值為0,跳出循環(huán)。
  
  (24)若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是_______。
  A)'a'<=c<='z'      B)(c>='a')‖(c<='z')
  C)('a'<=C)and('z'>=C)  D)(c>='a')&&(c<='z')
  答案:D
  評(píng)析:(c>='a')和(c<='z')的關(guān)系應(yīng)該是"與"的關(guān)系。
  
  (25)下列不合法的main函數(shù)命令行參數(shù)的表示形式是_______。
  A)main(n a,char*c[]);    B)main(ac,av)int arc;char**av;
  C)main(C,V)int c,char*v[];  D)main(argc,argv)int argc;char argv[];
  答案:D
  評(píng)析:main函數(shù)的參數(shù)通常有兩個(gè),前者為整型,后者為字符型指針數(shù)組。參數(shù)的名字可以是任意合法的標(biāo)識(shí)符。而且,形如**av與*av[]等價(jià),所以選項(xiàng)A、B、c均正確,選項(xiàng)D是錯(cuò)誤的。
  
  (26)以下所列的各函數(shù)首部中,正確的是_______。
  A)void play(var a:Integer,var b:Integer)
  B)void play(int a,b)
  C)void play(int a,int b)
  D)Sub play(a as integer,b as integer)
  答案:C
  評(píng)析:除選項(xiàng)c項(xiàng)外,其它各項(xiàng)都沒有按照c語言中的函數(shù)定義規(guī)則定義函數(shù)。
  
  (27)在c語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是_______。
  A)整型常量        B)整型表達(dá)式
  C)整型常量或整型表達(dá)式  D)任何類型的表達(dá)式
  答案:C
  評(píng)析:c語言規(guī)定只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組,數(shù)據(jù)元素的表示形式為數(shù)組名[下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式。

[1] [2] 下一頁  

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