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

2010年軟考程序員考前練習(xí)試題及答案解析(3)

考試吧整理了軟考程序員考前練習(xí)試題及答案解析,幫助考生備考程序員考試。

  41.假定a和b為int型變量,則執(zhí)行以下語(yǔ)句后b的值為( )

  a=1; b=10;

  do b-=a; a++;

  }while<(b--<0);

  A.9

  B.-2

  C.-1

  D.8

  【解析】在這個(gè)程序段中,循環(huán)開(kāi)始前變量a的值為1,b的值為10,每次循環(huán)從變量b減去a,并讓a增1,并在循環(huán)條件判定時(shí),又讓b減去1。第一次循環(huán)后,變量b的值變成9,變量a的值變?yōu)?,循環(huán)判斷時(shí),因b的值大于0,循環(huán)條件不成立,結(jié)束循環(huán)。但在循環(huán)判斷時(shí),讓b減去了1,所以循環(huán)結(jié)束時(shí),變量b的值為8。正確的解答是D。

  【參考答案】D

  42.設(shè)x和y為int型變量,則執(zhí)行下面的循環(huán)后,y的值為( )

  for(y=l, x=l; y<=50; y++){

  if(x>=10) break;

  if(x%2==1){ x+=5; continue;}

  X -= 3;

  }

  A.2

  B.4

  C.6

  D.8

  【解析】 for循環(huán)語(yǔ)句的初始化部分置變量x和y的初值為1,循環(huán)條件是(y<=50),每次循環(huán)后變量y的值增1,控制循環(huán)最多執(zhí)行50次。循環(huán)體有三個(gè)語(yǔ)句:首先在發(fā)現(xiàn)變量X的值大于等于10時(shí),結(jié)束循環(huán);接著是當(dāng)變量X除2的余數(shù)為1(即變量X是奇數(shù))時(shí),讓變量X值增5,讓X變成偶數(shù),并直接進(jìn)入下一輪循環(huán);如變量X是偶數(shù),則從變量X減去3,讓變量X變成奇數(shù)。由上述分析知,每?jī)纱窝h(huán)使變量X的值增加2.第一次循環(huán)后,變量X的值變成6。第二次循環(huán)后,變量X的值變成3。第三次循環(huán)后,變量X的位變成8。第四次循環(huán)后,變量X的值變成5。第五次循環(huán)后,變量X的值變成 10。第六次循環(huán)時(shí),因變量X的位大于等于 10,直接跳出循環(huán),這次循環(huán)是非正常結(jié)束,對(duì)變量y的修正只執(zhí)行了5次。所以循環(huán)結(jié)束后,變量y的值增至6。正確的解答是C。

  【參考答案】C

  43.在C語(yǔ)言中,下列說(shuō)法中正確的是( )

  A.不能使用“do語(yǔ)句while(條件)”的循環(huán)

  B.“do語(yǔ)句While(條件)”的循環(huán)中必須使用“break”語(yǔ)句退出循環(huán)

  C.“do語(yǔ)句while(條件)”的循環(huán)中,當(dāng)條件非0時(shí)將結(jié)束循環(huán)

  D.“do語(yǔ)句while(條件)”的循環(huán)中,當(dāng)條件為0時(shí)將結(jié)束循環(huán)

  【解析】 do-while語(yǔ)句的一般形式是:

  do語(yǔ)句

  while(表達(dá)式);

  其語(yǔ)義是重復(fù)執(zhí)行其成分語(yǔ)句,直至表示條件的表達(dá)式值為0時(shí)結(jié)束。do-while語(yǔ)句是正常使用的一種循環(huán)結(jié)構(gòu)之一。do-while語(yǔ)句的循環(huán)結(jié)束條件由while后的表達(dá)式值為0所控制,并不一定要有break語(yǔ)句跳出循環(huán)來(lái)結(jié)束循環(huán)。do-while語(yǔ)句在條件值非0時(shí),將繼續(xù)循環(huán),而不是結(jié)束循環(huán)。條件值為0時(shí),才結(jié)束循環(huán)。所以正確的選擇是D。

  【參考答案】D

  44.若有以下程序段,W和k都是整型變量,則不能與該程序段等價(jià)的循環(huán)語(yǔ)句是( )

  W= k;

  LB: if(w==0) gotO LE;

  w - -;

  printf("*");

  goto LB;

  LE:

  A. for(w=k;w!=0;W--)printf("*");

  B. w= k;

  While(W--!=0) Prinif(”* ”);

  C. w= k;

  do{w--; prinif(“*”);

 。 while( W!= 0);

  D. for(w=k;W;--W) printf("*");

  【解析】問(wèn)題所給出的程序段用goto語(yǔ)句構(gòu)造一個(gè)循環(huán)控制結(jié)構(gòu),該循環(huán)結(jié)構(gòu)的初值是讓變量W的值為k的值,循環(huán)結(jié)束條件是W的情等于0,循環(huán)體是讓變量W的值減1,并輸出一個(gè)字符* 。上述循環(huán)控制過(guò)程用for循環(huán)可描述如下:

  for=(w=k;W!=0; W--) printh("*");

  或?qū)懗桑?/P>

  for(w=k ;w;--w) printf("*");

  若用while語(yǔ)句,可描述如下:

  W=k;

  while(w--!=0)printf("*");

  w++;/*在w等于0時(shí),也執(zhí)行了一次 w--,這里是對(duì)w最后減1的補(bǔ)嘗*/

  或更直觀地寫成:

  W=k;

  while(w!=0){ w--;Printf("*");}

  若用do-while語(yǔ)句,可描述如下:

  W=k;

  if(W)

  do{

  w--; prinif("*");

  } while(w);

  若寫成:

  W=k;

  do{

  W--; printf("*");

  } while(w!=0);

  是不正確的,因?yàn)樵a當(dāng)k的值為0時(shí),不輸出字符*,而上面的改寫,當(dāng)k的值為0時(shí),將輸出許許多多的字符*。所以解答應(yīng)是C。

  【參考答案】C

  45. 若有下列說(shuō)明,則數(shù)值為4的表達(dá)式是( )

  int a[12]={ l,2,3,4,5,6,7,8,9,10,11,12 };

  char c='a',d, g;

  A.a[g-c]

  B.a[4]

  C.a['d'-'c']

  D.a['d'-c]

  【解析】數(shù)組元素的下標(biāo)自0開(kāi)始順序編號(hào),值為4的元素是a[3]。所以只有下標(biāo)表達(dá)式的值為3的才是正確的。下標(biāo)表達(dá)式g-C中的的變量g和c的值是還未被設(shè)定的,其值不確定。a[4]的值為5,下標(biāo)為4是不對(duì)的。'd'-'c'的值為1,a[l]的值是2,所以也是不對(duì)的。變量c的值為'a' ,'d'-c=3,所以正確解答是D。

  【參考答案】D

  相關(guān)推薦:計(jì)算機(jī)軟考程序員備考:程序設(shè)計(jì)知識(shí)點(diǎn)匯總
       2010年軟考程序員如何區(qū)分printf與fprintf函數(shù) 
文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。