歷年計(jì)算機(jī)軟考程序員筆試真題及答案_第1頁
歷年計(jì)算機(jī)軟考程序員筆試真題及答案_第2頁
歷年計(jì)算機(jī)軟考程序員筆試真題及答案_第3頁
歷年計(jì)算機(jī)軟考程序員筆試真題及答案_第4頁
歷年計(jì)算機(jī)軟考程序員筆試真題及答案_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!歷年計(jì)算機(jī)軟考程序員筆試真題及答案試題一閱讀下列說明、流程圖和算法,將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi).[流程圖說明]下面的流程圖用N—S盒圖形式描述了數(shù)組A中的元素被劃分的過程.其劃分方法是:以數(shù)組中的第一個(gè)元素作為基準(zhǔn)數(shù),將小于基準(zhǔn)數(shù)的元素向低下標(biāo)端移動(dòng),而大于基準(zhǔn)數(shù)的元素向高下標(biāo)端移動(dòng).當(dāng)劃分結(jié)束時(shí),基準(zhǔn)數(shù)定位于A[i],并且數(shù)組中下標(biāo)小于i的元素的值均小于基準(zhǔn)數(shù),下標(biāo)大子i的元素的值均大于基準(zhǔn)數(shù)。設(shè)數(shù)組A的下界為low,上界為high,數(shù)組中的元素互不相同。例如,對數(shù)組(4,2,8,3,6),以4為基準(zhǔn)數(shù)的劃分過程如下:[算法說明]將上述劃分的思想進(jìn)一步用于被劃分出的數(shù)組的兩部分,就能夠?qū)φ麄€(gè)數(shù)組實(shí)現(xiàn)遞增排序。設(shè)函數(shù)intp(intlow,inthigh)實(shí)現(xiàn)了上述流程圖的劃分過程并返回基準(zhǔn)數(shù)在數(shù)組A中的下標(biāo)。遞歸函數(shù)voidsort(intL,intH)的功能是實(shí)現(xiàn)數(shù)組A中元素的遞增排序。[算法]voidsort(intH){if(L試題二閱讀下列函數(shù)說明和C函數(shù),將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。[函數(shù)2.1說明]函數(shù)palindrome(chars[])的功能是:判斷字符串s是否為回文字符串,若是,則返回0,否則返回-1。若一個(gè)字符串順讀和倒讀都一樣時(shí),稱該字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。[函數(shù)2.1]intpalindrome(charS[]){char*pi,*pj;pi=S;pj=s+strlen(S)-1:while(pi2.2說明]函數(shù)f(char*str,chardel)的功能是;將非空字符串str分割成若干個(gè)子字符串并輸出,del表示分割時(shí)的標(biāo)志字符。例如若str的值為“33123333435”,del的值為‘3’,調(diào)用此函數(shù)后,將輸出三個(gè)子字符串,分別為“12”、“4”和“5”。[函數(shù)2.2]voidf(char*str,chardel){inti,j,len;len=strlen(str);i=while(i試題三以下是與VisualBasic開發(fā)應(yīng)用相關(guān)的5個(gè)問題.對每一個(gè)問題,請將解答填入答題紙的對應(yīng)欄內(nèi)。(1)在VisualBasic中,工程文件、窗體文件和標(biāo)準(zhǔn)模塊文件的擴(kuò)展名是什么?請從下列選項(xiàng)中選擇:prg、prj、exe、vbp、rom、frm、win、fra,std、bas、vbs、Vbm(2)設(shè)某窗體上有一個(gè)命令按鈕,其名稱為CmdSave,運(yùn)行時(shí)該按鈕上顯示有“保存(S)”字樣的信息。為使熱鍵ALT+S與該命令按鈕相關(guān)聯(lián),應(yīng)該對按鈕CmdSave的Caption屬性設(shè)置什么樣的屬性值?(3)設(shè)某窗口內(nèi)有一個(gè)圖像框Image1,以及兩個(gè)命令按鈕“放大”和“縮小”。單擊“放大”按鈕就會使該圖像框的長和寬都放大10%;單擊“縮小”按鈕就會使該圖像框的長和寬都縮小10%(該圖像框的左上角不動(dòng))。請分別寫出這兩個(gè)命令按鈕的單擊事件過程中的程序代碼。(4)為使某個(gè)單選按鈕初始時(shí)默認(rèn)被選中,在開發(fā)時(shí)應(yīng)怎樣做?(5)若有語句Tmpval=MsgBox(非法操作!,ybOKCancel+vbCritical,"提示"),請簡要描述程序運(yùn)行時(shí)彈出的消息框的主要特征。試題四閱讀以下說明和C代碼,將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。[說明]函數(shù)MultibaseOutput(longB)的功能是:將一個(gè)無符號十進(jìn)制整數(shù)n轉(zhuǎn)換成B(2≤B≤16)進(jìn)制數(shù)并輸出。該函數(shù)先將轉(zhuǎn)換過程中得到的各位數(shù)字入棧,轉(zhuǎn)換結(jié)束后再把B進(jìn)制數(shù)從棧中輸出。相關(guān)棧操作的諸函數(shù)功能見相對應(yīng)函數(shù)中的注釋。C代碼中的符號常量及棧的類型定義如下:#defineKAXSIZE32typedefstruct{int*elem;intint/*棧的存儲區(qū)*//*棧的容量,即找中最多能存放的元素個(gè)數(shù)*//*棧頂指針*/}Stack;[C代碼]intlnitStack(Stackn)/*創(chuàng)建容量為n的空棧*/{S->elem=(int*)matloc(n*if(S->elem==NULL)returnS->max=n;__(1)__=0;return}intPush(Stack*S,intitem)/*將整數(shù)item壓入棧頂*/{if(S->top==S->max){printf("Stackis-1;}__(2)__;item;return}intStackEmpty(StackS){return(!S.top)?/*判斷棧是否為空*/intPop(Stack*S)/*棧頂元素出棧*/{if(!S->top){printf("Popanempty-1;)return__(3)__;}voidMultibaseOutput(longB){intm;StackS;if(initStack(&S,MAXSIZE)){printf("Failure!\n");return;}do{if(Push(&s,__(4)__)){printf("Failure!\n");return;}n=__(5)__:}while(n!=while(!StackEmpty(S)){m=Pop(&S);/*輸出B進(jìn)制的數(shù)*/if(m試題五閱讀以下應(yīng)用說明及VisualBasic程序代碼,將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。[應(yīng)用說明5.1]本應(yīng)用程序的窗體中有一個(gè)下拉式列表框(名稱為Combol)和兩個(gè)文本框(名稱分別為Txtl和Txt2)。運(yùn)行時(shí),用戶從Combol的列表中實(shí)行選擇,程序就會將選中條目的內(nèi)容以及編號(從0開始)分別在文本框Txt1和Txt2中顯示出來。[程序代碼5.1]PrivateSubCombol_C1ick()Txtl.Text=Combol.__(1)__Txt2.Text=Combol.__(2)__EndSub(注:可供(2)處選擇的選項(xiàng):List,Index,Listlndex,ListCount,Number)[應(yīng)用說明5.2]本應(yīng)用程序的運(yùn)行窗口如下圖所示:當(dāng)用戶在輸入框(名為Txtln)中輸入數(shù)值數(shù)據(jù),并從下拉式列表框(名為CmbOp)中選擇所需的運(yùn)算后,輸出框(名為TxtOut)中就會顯示運(yùn)算的結(jié)果。用戶單擊“清除”按鈕(名為CmdClear)后,輸入框和輸出框都清空。開發(fā)該應(yīng)用的部分程序代碼如下:[程序代碼5.2]PrivateSubCmbOp_Click()DimDataInAsDouble,DataOutasDoubleDataIn=__(3)__SelectCase__(4)__CaseDataOut=Int(Dataln)Case"求平方根"IfDataln試題六閱讀下列函數(shù)說明和C函數(shù),將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。[函數(shù)6說明]函數(shù)DelAInsB(LinkedListLa,LinkedListkey1,intkey2,intlen)的功能是,將線性表A中關(guān)鍵碼為keyl的結(jié)點(diǎn)開始的len個(gè)結(jié)點(diǎn),按原順序移至線性表B中關(guān)鍵碼為key2的結(jié)點(diǎn)之前,若移動(dòng)成功,則返回0;否則返回-1。線性表的存儲結(jié)構(gòu)為帶頭結(jié)點(diǎn)的單鏈表,La為表A的頭指針,Lb為表B的頭指針。單鏈表結(jié)點(diǎn)的類型定義為:typedefstructnode{intstructnode*next;}*Linkedhist;[函數(shù)6]intDelllnsB(LinkedLiStLa,LinkedListkeyl,intkey2,intlen){LinkedListp,q,S,prep,pres;intif(!La->next||!Lb->next||prep=while(p&&p->key!=keyl){的結(jié)點(diǎn)*//*查找表A中鍵值為key1prep=p=p->next;}if(!p)returnkey1的結(jié)點(diǎn)*//*表A中不存有鍵值為/*在表A中找出待刪除q=k=while(q&&__(1)__){的len個(gè)結(jié)點(diǎn)*/__(2)__:k++;}if(!q)return除的len個(gè)結(jié)點(diǎn)*/·/*表A中不存有要被刪S=Lb->next;__(3)__;while(s&&s->key!=key2){的結(jié)點(diǎn)*//*查找表B中鍵值為key2pres=s=s->next;}if(!s)returnkey2的結(jié)點(diǎn)*//*表B中不存有鍵值為/*將表A中的len個(gè)結(jié)點(diǎn)__(4)__q->next;刪除*/q->next:__(5)__pres->next=*//*將len個(gè)結(jié)點(diǎn)移至表Breturn}試題七閱讀以下應(yīng)用說明、屬性設(shè)置及VisualBasic程序代碼,將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。[應(yīng)用說明7]本應(yīng)用程序的運(yùn)行窗口如下圖所示:只要用戶單擊“閃爍”按鈕,文字“歡迎光臨”就會以0.3秒消失、0.3秒顯示反復(fù)實(shí)行閃爍;單擊“停止”按鈕時(shí),閃爍停止,恢復(fù)圖示的初態(tài)。在開發(fā)過程中,需要設(shè)置的屬性如下:[屬性設(shè)置7]在開發(fā)過程中,需要編寫的程序代碼如下;[程序代碼7]PrivateSubCmdFClick()Timerl.__(3)__=TrueLabel.Visible=FalseEndSubPrivateSubTimerl_Timer()__(4)__=notLabel.VisibleEndSubPrivateSubCmdTClick()Timerl.Enabled=__(5)__Label.Visible=trueEndSub試題八閱讀下列程序說明和C程序,將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi)。[程序8說明]程序8用于計(jì)算某公司每個(gè)職工應(yīng)繳納的個(gè)人所得稅額和全體職工繳納的個(gè)人所得稅總額。職工的當(dāng)月收入(工資或薪金)通過鍵盤輸入,每次輸入一個(gè)職工的工號和工資(或薪金)。因?yàn)樵摴镜墓べY或薪金是不定時(shí)發(fā)放的,所以輸入過程中每個(gè)職工的收入會出現(xiàn)多次輸入,整個(gè)輸入以工號小于等于0結(jié)束。假設(shè)個(gè)人所得稅法規(guī)定;個(gè)人收入所得,按月計(jì)稅,以每月收入總額減除免稅金額800元后的余額作為該月的月應(yīng)納稅所得額,適用稅率如下表所示。上表表明,個(gè)人收入所得稅是按照超額累進(jìn)的稅率來征收的。設(shè)一個(gè)人的月應(yīng)納稅所得額為K(元),用下面的公式計(jì)算其應(yīng)繳納的個(gè)人所得稅額S(元):若0若500若2000若5000例如,某人某月工資總額為4100元,減去800元后,應(yīng)納稅所得額為3300元,其應(yīng)繳納的個(gè)人所得稅額為500*5%+1500*10%+1300*15%=370元。[程序8]#include#defineMaxNum50#defineBASE800/*免稅金額基數(shù)*/intpaylevel[]={0,500,2000,5000,20000,40000,60000,80000,100000,100000¨:inttaxPrate[]={5,10,15,20,25,30,35,40,45):/*稅率表*/typedefstruct{intlongSalary;/*職工的工資*/}Info;/*職工的工號*/./*查找工號為Id的職工在數(shù)組employee中的下標(biāo),返回值為0表示沒有*/intfind(intemployee[],intm){intemployee[0].Id=Id;for(j=m;__(1)__;j--);return}voidmain(void){InfoemployeeCHaxNum+1];longdoublesumsinti,j,N=0,Code;scanf("M%ld",&Code,&Wage);/*讀入職工號、工資或薪金*/while(Code>0){i=find(Code,employee,N);if(i>0)employee[i].Salary+=else{__(2)__;employee[N].Id=Code;employee[N].Salary=Wage;}scanf("%d%ld",&Code,&Wage):}for(i=1;i0){for(j=1;j試題九閱讀以下應(yīng)用說明及VisualBasic程序代碼,將應(yīng)填入__(n)__處的字句寫在答題紙的對應(yīng)欄內(nèi).[應(yīng)用說明9]本應(yīng)用程序的運(yùn)行窗口如下圖所示:窗口中的三個(gè)文本框和兩個(gè)按鈕名稱分別為Txt_salary、Txt_base、ht_tax、Cmdcompute和Cmd_quit.運(yùn)行時(shí),文本框Txt_base中存放的是免稅金額基數(shù)(應(yīng)扣除的基本費(fèi)用)。當(dāng)用戶在文本框ht_salary中輸入月收入(工資或薪金)并單擊“計(jì)算”按鈕Crud_compute后,Txt_tax框中就顯示計(jì)算所得的應(yīng)納稅額。文本框Txt_base和Txt_tax在運(yùn)行時(shí)不接受用戶輸入,Txt_base的內(nèi)容以灰色顯示。個(gè)人工資(或薪金)所得稅是按照超額累進(jìn)的稅率來征收的,方法是:以每月收入總額減去免稅金額基數(shù)后的余額作為該月的月應(yīng)納稅所得額,再將應(yīng)納稅所得額按相對應(yīng)級數(shù)采用相對應(yīng)的稅率實(shí)行累進(jìn)計(jì)算.當(dāng)前的免稅金額基數(shù)為800元,稅率如下表所示:個(gè)人工資(或薪金)所得稅是按照超額累進(jìn)的稅率來征收的,方法是:以每月收入總額減去免稅金額基數(shù)后的余額作為該月的月應(yīng)納稅所得額,再將應(yīng)納稅所得額按相對應(yīng)級數(shù)采用相對應(yīng)的稅率實(shí)行累進(jìn)計(jì)算.當(dāng)前的免稅金額基數(shù)為800元,稅率如下表所示:設(shè)一個(gè)人的月應(yīng)納稅所得額為K(元),用下面的公式計(jì)算其應(yīng)繳納的個(gè)人所得稅額S(元):若0若500若2000若5000例如,某人某月工資總額為4100元,減去800元后,應(yīng)納稅所得額為3300元,其應(yīng)繳納的個(gè)人所得稅額為500*5%+1500*10%+1300*15%=370元。在開發(fā)過程中,需要編寫的程序代碼如下:[程序代碼]OptionBase0PrivateSubCmdcompute-C1ick()Dimpaylevel,taxPratepaylevel=Array(0,500,2000,5000,20000,40000,60000,80000,100000,1000001)taxPrate=Array(5,10,15,20,25,30,35,40,45)K=__(1)__S=0If(K>0)ThenForj=1To9If__(2)__ThenS=S+(paylevel(j)-paylevel(j-1))*taxPrate(j-1)/100ElseS=S+(__(3)__)*taxPrate(j-1)/100ExitForEndlfNextjEndlf__(4)__=Str$(S)EndSubPrivateSubCmd_quit_C1ick()EndEndSubPrivateSubForm_Load()Txt_tax.Text=""Txt_salary.Text=""Txt_base.Text=800Txt_tax.Locked=TrueTxt_base.Enabled=__(5)__EndSub答案試題一(1)i:1,1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論