首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護士
會計從業(yè)資格考試會計證) | 經(jīng)濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質量工程師 | 物業(yè)管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監(jiān)理師 | 房地產經(jīng)紀人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > C語言 > 模擬試題 > 正文

05年9月等級考試二級C語言考前密卷(七)

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

1 2 3 下一頁
文章搜索
版權聲明:如果計算機等級考試網(wǎng)所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網(wǎng)內容,請注明出處。