首頁(yè) 考試吧論壇 Exam8視線(xiàn) 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱(chēng)英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專(zhuān)四專(zhuān)八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱(chēng)日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱(chēng)計(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ì)工作者 | 外銷(xiāo)員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢(xún)師考試 | 秘書(shū)資格 | 心理咨詢(xún)師考試 | 出版專(zhuān)業(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ì)職稱(chēng) | 注冊(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à)員 | 咨詢(xún)工程師 | 監(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í) | 作文大全 | 求職招聘 | 論文下載 | 訪(fǎng)談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 復(fù)習(xí)資料 > 程序員資料 > 正文

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

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

  二、程序分析

  1.main()

  { char str[]="1234567";

  int i;

  for(j=0;i<7;i十=3)

  printf("%s\n",str+i);

 。

  【解析】分析份循環(huán)語(yǔ)句可知,控制變量 i的值只能依次等于0、3、6。再分析輸出語(yǔ)句中的輸出格式,這是字符串格式,要求輸出表達(dá)式是存放字符串的首地址。而輸出表達(dá)式是“str+i”。我們針對(duì)i不同值來(lái)-一分析:i=0,str+0就是str,其中存放的字符串是“1234567”,所以第1行上的輸出就是:1234567。當(dāng) i=3時(shí),str+3,代表了數(shù)組元素str[3]的地址,從這兒開(kāi)始的字符率串是“4567”,所以第2行輸出的是:4567。同樣道理,i=6時(shí), str+6是元素str[6]的地址,從該地址存放的字符率是"7",所以第3行輸出的是:7。

  【參考答案】 1234567

  4567

  7

  2.struct a{ char name[10];

  int age;

  }aa[3]={{"abc",20},{"def",21},{"ghi",22}};

  main()

  { struct a *paa=aa;

  printf("%c%c%c",(*(paa+1)).name[0]

  (*paa++).name[1]

  (*(paa+1)).name[2]);

 。

  【解析】本程序并不復(fù)雜,關(guān)鍵在于如何使用指向結(jié)構(gòu)型數(shù)組的指針變量來(lái)引用該數(shù)組元素,以及如何引用結(jié)構(gòu)型成員是數(shù)組的數(shù)組元素。

  首先看結(jié)構(gòu)型a及對(duì)應(yīng)數(shù)組aa的定義和賦予的初值。

  結(jié)構(gòu)型a共有兩個(gè)成員,一個(gè)是字符型數(shù)組name,另一個(gè)是整型age。

  結(jié)構(gòu)型數(shù)組aa有3個(gè)元素,所賦予的初值如下:

  aa[0].name="abc" aa[0].age=20

  aa[1].name="def" aa[1].age=21

  aa[2].name="ghi" aa[2].age=22

  主函數(shù)中的第1個(gè)語(yǔ)句是定義結(jié)構(gòu)型指針變量paa,并且使它指向結(jié)構(gòu)型數(shù)組aa的首地址。注意,此后的*paa就是aa[0],*(paa+i)就是aa[i]。

  現(xiàn)在可以分析輸出語(yǔ)句了。輸出格式是3個(gè)字符格式,按照printf()函數(shù)的規(guī)定,表達(dá)式表中表達(dá)式計(jì)算順序是自右向左進(jìn)行的,下面依次討論這3個(gè)字符格式對(duì)應(yīng)的輸出表達(dá)式。

  第3個(gè)輸出表達(dá)式是“(*(paa十1)).name[2]",其中的“*(paa+1)”代表“aa[1]”,所以該表達(dá)式就是“aa[1].name[2]”,對(duì)應(yīng)的字符是'f'。

  第 2個(gè)輸出表達(dá)式是"(*paa++).name[1]”,其中“*ppa++”的“*”和“++”是同級(jí)運(yùn)算符,結(jié)合性是自右向左的,所以“++”先計(jì)算,由于是后綴,所以要先計(jì)算“*paa”,它代表“aa[0]”,所以該表達(dá)式就是“aa[0].name[1]”,對(duì)應(yīng)的字符是'b'。注意,最后要對(duì)paa進(jìn)行“++”運(yùn)算,使其指向aa[1]。

  第 1個(gè)輸出表達(dá)式是“(*(paa+1)).name[0]”,注意現(xiàn)在的paa以及指向aa[1]了,所以其中的“*(paa+1)”代表“aa[2]”,所以該表達(dá)式就是“aa[2].name[0]”,對(duì)應(yīng)的字符是'g'。

  現(xiàn)在可以得出結(jié)論:程序的輸出是 3個(gè)字符:gbf

  【參考答案】gbf

  相關(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)注明出處。