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

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

一、選擇題((1)~(10)每小題2分,(11)~(50)每小題1分,共60分)
  
  下列各題A)、B)、c)、D)四個選項(xiàng)中,只有一個選項(xiàng)是正確的,請將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
  
  (1)算法的空間復(fù)雜度是指________。
  A)算法程序的長度      B)算法程序中的指令條數(shù)
  c)算法程序所占的存儲空間  D)算法執(zhí)行過程中所需要的存儲空間
  答案:D
  評析:一個算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需的內(nèi)存空間。
  一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行過程中所需要的額外空間。
  
  (2)下列關(guān)于棧的敘述中正確的是________。
  A)在棧中只能插入數(shù)據(jù)   B)在棧中只能刪除數(shù)據(jù)
  C)棧是先進(jìn)先出的線性表  D)棧是先進(jìn)后出的線性表
  答案:D
  評析:棧是限定在一端進(jìn)行插入與刪除的線性表。
  棧是按照"先進(jìn)后出"的或"后進(jìn)先出"的原則組織數(shù)據(jù)的,因此,棧也被稱為"先進(jìn)后出"表或"后進(jìn)先出"表。
  
  (3)在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個數(shù)為________。
  A)32  B)31  C)16   D)15
  答案:C
  評析:所謂滿二叉樹是指除最后一層外,每層上的所有結(jié)點(diǎn)都有兩個子結(jié)點(diǎn)。也就是說,在滿二叉樹中,每一層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第K層上有2K-1個結(jié)點(diǎn),且深度為m的滿二叉樹有2m個結(jié)點(diǎn)。
  在滿二叉樹中,最后一層的結(jié)點(diǎn)個數(shù)就是葉子結(jié)點(diǎn)的個數(shù),本題中深度為5,故葉子結(jié)點(diǎn)數(shù)為25-1=24=16。
  
  (4)對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是________。
  A)程序應(yīng)簡單、清晰、可讀性好  B)符號名的命名要符合語法
  c)充分考慮程序的執(zhí)行效率    D)程序的注釋可有可無
  答案:A
  評析:要形成良好的程序設(shè)計風(fēng)格,主要應(yīng)注重和考慮下述一些因素:符號名的命名應(yīng)具有一定的實(shí)際含義,以便于對程序功能的理解;正確的注釋能夠幫助讀者理解程序;程序編寫應(yīng)優(yōu)先考慮清晰性,除非對效率有特殊要求,程序編寫要做到清晰第一,效率第二。
  
  (5)下面對對象概念描述錯誤的是________。
  A)任何對象都必須有繼承性  B)對象是屬性和方法的封裝體
  C)對象間的通訊靠消息傳遞  D)操作是對象的動態(tài)性屬性
  答案:A
  評析:對象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接的對應(yīng)關(guān)系。對象之間通過傳遞消息互相聯(lián)系,以模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系。
  
  (6)下面不屬于軟件工程的3個要素的是________。
  A)512具  B)過程  C)方法  D)環(huán)境
  答案:D
  評析:軟件工程包括3個要素,即方法、工具和過程。
  
  (7)程序流程圖(PFD)中的箭頭代表的是________。
  A)數(shù)據(jù)流  B)控制流  C)調(diào)用關(guān)系  D)組成關(guān)系
  答案:B
  評析:程序流程圖(PFD)是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計表示工具,通常也稱為程序框圖,其箭頭代表的是控制流。
  
  (8)在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階  段。其中數(shù)據(jù)獨(dú)立性最高的階段是________。
  A)數(shù)據(jù)庫系統(tǒng)   B)文件系統(tǒng)  c)人工管理  D)數(shù)據(jù)項(xiàng)管理
  答案:A
  評析:在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)。
  
  (9)用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱為________。
  A)關(guān)系模型   B)層次模型  C)網(wǎng)狀模型  D)數(shù)據(jù)模型
  答案:B
  評析:層次模型是最早發(fā)展出來的數(shù)據(jù)庫模型。它的基本結(jié)構(gòu)是樹形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中很普遍,如家族結(jié)構(gòu)、行政組織機(jī)構(gòu),它們自頂向下、層次分明。
  
  (10)關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算包括________。
  A)排序、索引、統(tǒng)計  B)選擇、投影、連接
  C)關(guān)聯(lián)、更新、排序  D)顯示、打印、制表
  答案:B
  評析:關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實(shí)現(xiàn)的專門關(guān)系運(yùn)算,包括選擇運(yùn)算、投影運(yùn)算、連接運(yùn)算。
  
  (11)下列語句中符合C語言語法的賦值語句是________。
  A)a--7+b+c--a+7    B)a=a+7
  C)a=7+b,b++,a+7;  D)a=7+b,c=a十7;
  答案:D
  評析:由于賦值語句是由賦值表達(dá)式加分號構(gòu)成,所以選項(xiàng)A、B均不是合法的賦值語句;選項(xiàng)c中,存在兩種運(yùn)算符:逗號運(yùn)算符和賦值運(yùn)算符,其中賦值運(yùn)算符的優(yōu)先級高,選項(xiàng)c也不是。
  
  (12)下面程序
  main()
  { int y=9;
  for(;y>O;y--i){
  if (y%3==O)
  { printf("%d",--y);
  continuei
  }
  }
  }
  的輸出是________。
  A)741  B)852  C)963  D)875421
  答案:B
  評析:"%"是求余運(yùn)算符,所以if判斷語句中實(shí)際是指出只有當(dāng)y可以被3整除時方可以繼續(xù);--y是先進(jìn)行y的自減運(yùn)算,再使用y值。所以,最后的打印結(jié)果應(yīng)當(dāng)為"852"。
  
  (13)下列四個敘述中,錯誤的是________。
  A)C語言中的關(guān)鍵字必須小寫
  B)c語言中的標(biāo)識符必須全部由字母組成
  C)c語言不提供輸入輸出語句
  D)C語言中的注釋行可以出現(xiàn)在程序的任何位置
  答案:B
  評析:c語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線。
  
  (14)下面程序
  main()
  {
  int a=-l,b=4,k;
  k=(a++<=0)&&(!(b一一<=O));
  printf("%d%d%d\n",k,a,b);
  }
  的輸出是________。
  A)0 0 3  B)0 1 2  C)1 0 3  D)1 1 2
  答案:C
  評析:a++是先使用a值再將a的值加1,b--是先使用b的值再將b的值減1,所以題中的邏輯運(yùn)算表達(dá)式的值應(yīng)當(dāng)為真,即為1,而經(jīng)過運(yùn)算后,a和b的值已經(jīng)分別變成0和3了。
  
  (15)以下敘述中正確的是________。
  A)預(yù)處理是指完成宏替換和文件包含中指定文件的調(diào)用
  B)預(yù)處理也是C語句
  C)C源程序中,凡是行首以掙標(biāo)識的控制行都是預(yù)處理指令
  D)預(yù)處理就是完成c編譯程序?qū)源程序的第一遍掃描,為編譯的詞法分析和語法分析作準(zhǔn)備
  答案:C
  評析:預(yù)處理功能主要有以下三種:宏定義、文件包含和條件編譯,所以A不正確。預(yù)處理不是c語句,所以B不正確。預(yù)處理命令是由ANSI c統(tǒng)一規(guī)定的,編譯程序不能識別它們,D也不正確。
  
  (16)下面的程序片段
  y=-l;
  If(x!=0)
  If(x>0) y=1;else y=0;
  所表示的數(shù)學(xué)函數(shù)關(guān)系是_________.
  -1(x<O)        l (x<O)
  A)y=  0 (x=0)    B)y=  -1(x=0)
  1 (x>0)        0 (x>0)
  0 (x<0)        -1 (x<0)
  C)y=  -1(x=O)     D)y=  l (x=O)
  1 (x>O)        0 (x>O)
  答案:C
  評析:本題的考查點(diǎn)是根據(jù)程序?qū)懗鰯?shù)學(xué)函數(shù)關(guān)系。
  題中的兩個判斷語句實(shí)際上指出了y取值的條件,即是當(dāng)x大于零時y取l;當(dāng)x小于零時y取0;當(dāng)x等于零時y值不變,為-1。
  
  (17)下面的程序
  main()
  { int x=3,y=O,z=O;
  if(x=y+z)printf("* * * *");
  else printf("####");
  }
  _________。
  A)有語法錯誤不能通過編譯
  B)輸出* * * *。
  c)可以通過編譯,但是不能通過連接,因而不能運(yùn)行
  D)輸出####
  答案:D
  評析:本題的考查點(diǎn)是運(yùn)算符在表達(dá)式中的處理原則。
  本題中把y+z的值賦給x,由于y和z都等于0,所以x的值也為0,表達(dá)式值為false,輸出撐撐撐撐。if語句中if后面的表達(dá)式一般為邏輯或關(guān)系表達(dá)式,但也可以是任意的數(shù)值類型。
  
  (18)在c語言中,合法的長整型常數(shù)是________。
  A)OL  B)4962710  C)04312765  D)0xa34b7fe
  答案:A
  評析:在一個整常量后面加一個字母l或L,則認(rèn)為是long int型常量。
  
  (19)下面函數(shù)
  int funl(char*x)
  { char*y=x;
  while(*y++);
  return(y-x-1);
  }
  的功能是__________。
  A)求字符串的長度      B)比較兩個字符串的大小
  C)將字符串x復(fù)制到字符串y  D)將字符串x連接到字符串y后面
  答案:A
  評折:本題的考查點(diǎn)是while()循環(huán)語句。
  本題首先要注意的是對*y++的運(yùn)算,由于++和*為同一優(yōu)先級別,且結(jié)合方向?yàn)樽杂蚁蜃,因此它相?dāng)于*(y++)。由于++在y的右側(cè),是"后加",因此先對y的原值進(jìn)行*運(yùn)算,然后使y的值改變。
  
  (20)設(shè)int i=2j=l,k=3,則表達(dá)式i&&(i+j)&k︱i+j的值是________。
  A)O  B)2  C)l  D)3
  答案:C
  評析:本題表達(dá)式中優(yōu)先級順序從高到低為括號、+、&、︱、&&。
  
  (21)已知字母A的ASCII碼為十進(jìn)制的65,下面程序
  main()
  { char chl,ch2;
  chl='A'+'5'-'3':
  ch2='A'+'6'-'3':
  printf("%d,%Cn",chl,ch2);
  }
  的輸出_________。
  A)67,D  B)B,C  C)C,D   D)不確定的值
  答案:A
  評析:由于字符"5"和"3"的ASCII碼相差為2,所以ch1過運(yùn)算后的值應(yīng)為65+2=67;同理,ch2經(jīng)過運(yùn)算后的值應(yīng)為65+3=68,即是字符"D"。
  
  (22)以下程序的輸出結(jié)果是________。
  #include<stdio.h>
  main()
  {
  int a,b,d=24l:
  a=d/l00%9;
  b=(-1)&&(-1);
  printf("%d,%d\n",a,b);
  }
  A)6,1  B)2,1  C)6,0  D)2,0
  答案:B
  評析:第一個表達(dá)式中,運(yùn)算的方向是從左至右,所以a的值為2;第二個表達(dá)式中,等式右邊是一個邏輯表達(dá)式,由于結(jié)果為真,所以表達(dá)式的值為l,即b為1。
  
  (23)下列選項(xiàng)中非法的表達(dá)式是________。
  A)0<=x<100  B)I=j==0  C)(char)(65+3)  D)x-t-l=x+l
  答案:D
  評析:值表達(dá)式的左側(cè)不能為常量或表達(dá)式,所以D是非法的表達(dá)式。
  
  (24)以下程序的輸出結(jié)果是________。
  #include<stdio.h>
  main()
  {
  print刖%~n",NULL);
  }
  A)不確定的(因變量無定義)   B)0
  C)-l             D)l
  答案:B
  評析:NULL在c編譯器中是一個值為0的常量,它的定義在頭文件"stdio.h"中,本題的程序在一開始就包含了這個頭文件',所以,在打印的時候,將打印出0。
  
  (25)在下面的語句中,賦值語句錯誤的是________。
  A)a=(b=(c=2,d=3));  B)i++:
  C)a--a/b=2;      D)a=a<a+1:
  答案:C
  評析:c語言中的賦值號"="是一個運(yùn)算符;②賦值語句是由賦值表達(dá)式加上一個分號構(gòu)成。賦值表達(dá)式的左側(cè)不能為常量或表達(dá)式。

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