考试总分:9分
考试类型:模拟试题
作答时间:60分钟
已答人数:967
试卷答案:有
试卷介绍: 2004年上半年程序员下午试题
A(1)__;j--);returnj;}voidmain(void){InfoemployeeCHaxNum+1];longWage;doublesums0,K,S:inti,j,N=0,Code;scanf("M%ld",&Code,&Wage);/*读入职工号、工资或薪金*/while(Code>0){i=find(Code,employee,N);if(i>0)employee[i].Salary+=Wage:else{__
B(2)__;employee[N].Id=Code;employee[N].Salary=Wage;}scanf("%d%ld",&Code,&Wage):}for(i=1;i<=N;i++){K=__
C(3)__;/*计算月应纳税所得额*/S=0;/*月应纳税额赋初值*/if(K>0){for(j=1;j<=9;j++)if(__
D(4)__)/*月应纳税所得额超过第j级*/S=S+(paylevel[j]-paylevel[j-1])*taxPrate[j-1]/100;else{S=S+(__
E(5)__)*taxPrate[j-1]/100;break;}}printf("职工%d应缴纳的个人所得税额:%10.21f\n",employee[i].Id,S);sum+=S;}printf("全体职工个人所得税总额:%10,21f\n",sum);}[15分]
A(1)__S=0If(K>0)ThenForj=1To9If__
B(2)__ThenS=S+(paylevel(j)-paylevel(j-1))*taxPrate(j-1)/100ElseS=S+(__
C(3)__)*taxPrate(j-1)/100ExitForEndlfNextjEndlf__
D(4)__=Str$(S)EndSubPrivateSubCmd_quit_C1ick()EndEndSubPrivateSubForm_Load()Txt_tax.Text=""Txt_salary.Text=""Txt_base.Text=800Txt_tax.Locked=TrueTxt_base.Enabled=__
E(5)__EndSub[15分]
A(1)__){pi++;pj--;}if(__
B(2)__)return-1;elsereturn0;}[函数2.2说明]函数f(char*str,chardel)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。[函数2.2]voidf(char*str,chardel){inti,j,len;len=strlen(str);i=0;while(i<len){while(__
C(3)__)i++;/*忽略连续的标志字符*//*寻找从str[i]开始直到标志字符出现的一个子字符串*/j=i+1;while(str[j]!=del&&str[j]!='\0')j++;__
D(4)__="\0";/*给找到的字符序列置字符串结束标志*/printf("%s\t",&str[i]):’__
E(5)__;}}[15分]
A(1)在VisualBasic中,工程文件、窗体文件和标准模块文件的扩展名是什么?请从下列选项中选择:prg、prj、exe、vbp、rom、frm、win、fra,std、bas、vbs、Vbm
B(2)设某窗体上有一个命令按钮,其名称为CmdSave,运行时该按钮上显示有“保存(S)”字样的信息。为使热键ALT+S与该命令按钮相关联,应该对按钮CmdSave的Caption属性设置什么样的属性值?
C(3)设某窗口内有一个图像框Image1,以及两个命令按钮“放大”和“缩小”。单击“放大”按钮就会使该图像框的长和宽都放大10%;单击“缩小”按钮就会使该图像框的长和宽都缩小10%(该图像框的左上角不动)。请分别写出这两个命令按钮的单击事件过程中的程序代码。
D(4)为使某个单选按钮初始时默认被选中,在开发时应怎样做?
E(5)若有语句Tmpval=MsgBox(非法操作!,ybOKCancel+vbCritical,"提示"),请简要描述程序运行时弹出的消息框的主要特征。[15分]
A(1)__=0;return0;}intPush(Stack*S,intitem)/*将整数item压入栈顶*/{if(S->top==S->max){printf("Stackisfull!\n");return-1;}__
B(2)__;item;return0;}intStackEmpty(StackS){return(!S.top)?1;0;)/*判断栈是否为空*/intPop(Stack*S)/*栈顶元素出栈*/{if(!S->top){printf("Popanemptystack!\n");return-1;)return__
C(3)__;}voidMultibaseOutput(longn,intB){intm;StackS;if(initStack(&S,MAXSIZE)){printf("Failure!\n");return;}do{if(Push(&s,__
D(4)__)){printf("Failure!\n");return;}n=__
E(5)__:}while(n!=0);while(!StackEmpty(S)){/*输出B进制的数*/m=Pop(&S);if(m<10)printf("Kd",m);/*小于10,输出数字*/elseprintf("%c,m+55);/*大于或等于10,输出相应的字符*/}printf("\n");}[15分]
A(1)__Txt2.Text=Combol.__
B(2)__EndSub(注:可供(2)处选择的选项:List,Index,Listlndex,ListCount,Number)[应用说明5.2]本应用程序的运行窗口如下图所示:当用户在输入框(名为Txtln)中输入数值数据,并从下拉式列表框(名为CmbOp)中选择所需的运算后,输出框(名为TxtOut)中就会显示运算的结果。用户单击“清除”按钮(名为CmdClear)后,输入框和输出框都清空。开发该应用的部分程序代码如下:[程序代码5.2]PrivateSubCmbOp_Click()DimDataInAsDouble,DataOutasDoubleDataIn=__
C(3)__SelectCase__
D(4)__Case"取整数部分"DataOut=Int(Dataln)Case"求平方根"IfDataln<OThenMsgBox$("负数不能开平方!")ElseDataOut=Sqr(Dataln)EndIfCase"取绝对值"DataOut=Abs(Dataln)(TxtOut.Text=str$(DataOut)__5)__EndSub[15分]
A(1)__){/*在表A中找出待删除的len个结点*/__
B(2)__:k++;}if(!q)return-1;/*表A中不存在要被删除的len个结点*/•S=Lb->next;__
C(3)__;while(s&&s->key!=key2){/*查找表B中键值为key2的结点*/pres=s;s=s->next;}if(!s)return-1;/*表B中不存在键值为key2的结点*/__
D(4)__q->next;/*将表A中的len个结点删除*/q->next:__
E(5)__pres->next=p;/*将len个结点移至表B*/return0;}[15分]