历年计算机软考程序员笔试真题及答案.docx
- 文档编号:3117165
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:11
- 大小:19.98KB
历年计算机软考程序员笔试真题及答案.docx
《历年计算机软考程序员笔试真题及答案.docx》由会员分享,可在线阅读,更多相关《历年计算机软考程序员笔试真题及答案.docx(11页珍藏版)》请在冰豆网上搜索。
历年计算机软考程序员笔试真题及答案
历年计算机软考程序员笔试真题及答案
试题一
阅读下列说明、流程图和算法,将应填入__(n)__处的字句写在答题纸的对应栏内.
[流程图说明]
下面的流程图用N—S盒图形式描述了数组A中的元素被划分的过程.其划分方法是:
以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动.当划分结束时,基准数定位于A[i],并且数组中下标小于i的元素的值均小于基准数,下标大子i的元素的值均大于基准数。
设数组A的下界为low,上界为high,数组中的元素互不相同。
例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:
[算法说明]
将上述划分的思想进一步用于被划分出的数组的两部分,就能够对整个数组实现递增排序。
设函数intp(intA[],intlow,inthigh)实现了上述流程图的划分过程并返回基准数在数组A中的下标。
递归函数voidsort(intA[],ihtL,intH)的功能是实现数组A中元素的递增排序。
[算法]
voidsort(intA[],ihtl,intH) {
if(L
试题二
阅读下列函数说明和C函数,将应填入__(n)__处的字句写在答题纸的对应栏内。
[函数2.1说明]
函数palindrome(chars[])的功能是:
判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。
若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:
“LEVEL”是回文字符串,而“LEVAL”不是。
[函数2.1]
intpalindrome(charS[])
{char *pi,*pj;
pi=S;pj=s+strlen(S)-1:
while(pi[函数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
试题三
以下是与VisualBasic开发应用相关的5个问题.对每一个问题,请将解答填入答题纸的对应栏内。
(1)在VisualBasic中,工程文件、窗体文件和标准模块文件的扩展名是什么?
请从下列选项中选择:
prg、prj、exe、vbp、rom、frm、win、fra,std、bas、vbs、Vbm
(2)设某窗体上有一个命令按钮,其名称为CmdSave,运行时该按钮上显示有“保存(S)”字样的信息。
为使热键ALT+S与该命令按钮相关联,应该对按钮CmdSave的Caption属性设置什么样的属性值?
(3)设某窗口内有一个图像框Image1,以及两个命令按钮“放大”和“缩小”。
单击“放大”按钮就会使该图像框的长和宽都放大10%;单击“缩小”按钮就会使该图像框的长和宽都缩小10%(该图像框的左上角不动)。
请分别写出这两个命令按钮的单击事件过程中的程序代码。
(4)为使某个单选按钮初始时默认被选中,在开发时应怎样做?
(5)若有语句Tmpval=MsgBox(非法操作!
,ybOKCancel+vbCritical,"提示"),请简要描述程序运行时弹出的消息框的主要特征。
试题四
阅读以下说明和C代码,将应填入__(n)__处的字句写在答题纸的对应栏内。
[说明]
函数MultibaseOutput(longn,intB)的功能是:
将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。
该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。
相关栈操作的诸函数功能见相对应函数中的注释。
C代码中的符号常量及栈的类型定义如下:
#defineKAXSIZE32
typedefstruct{
int*elem; /*栈的存储区*/
intmax; /*栈的容量,即找中最多能存放的元素个数*/
inttop; /*栈顶指针*/
}Stack;
[C代码]
intlnitStack(Stack*S,intn) /*创建容量为n的空栈*/
{S->elem=(int*)matloc(n*sizeof(int));
if(S->elem==NULL)return-1;
S->max=n;__
(1)__=0;return0;
}
intPush(Stack*S,intitem) /*将整数item压入栈顶*/
{if(S->top==S->max){printf("Stackisfull!
\n");return-1;}
__
(2)__;item;return0;
}
intStackEmpty(StackS){return(!
S.top)?
1;0;) /*判断栈是否为空*/
intPop(Stack*S) /*栈顶元素出栈*/
{if(!
S->top){printf("Popanemptystack!
\n");return-1;)
return__(3)__;
}
voidMultibaseOutput(longn,intB)
{intm;StackS;
if(initStack(&S,MAXSIZE)){printf("Failure!
\n");return;}
do{
if(Push(&s,__(4)__)){printf("Failure!
\n");return;}
n=__(5)__:
}while(n!
=0);
while(!
StackEmpty(S)) { /*输出B进制的数*/
m=Pop(&S);
if(m试题五
阅读以下应用说明及VisualBasic程序代码,将应填入__(n)__处的字句写在答题纸的对应栏内。
[应用说明5.1]
本应用程序的窗体中有一个下拉式列表框(名称为Combol)和两个文本框(名称分别为Txtl和Txt2)。
运行时,用户从Combol的列表中实行选择,程序就会将选中条目的内容以及编号(从0开始)分别在文本框Txt1和Txt2中显示出来。
[程序代码5.1]
PrivateSubCombol_C1ick()
Txtl.Text=Combol.__
(1)__
Txt2.Text=Combol.__
(2)__
EndSub
(注:
可供
(2)处选择的选项:
List,Index,Listlndex,ListCount,Number)
[应用说明5.2]
本应用程序的运行窗口如下图所示:
当用户在输入框(名为Txtln)中输入数值数据,并从下拉式列表框(名为CmbOp)中选择所需的运算后,输出框(名为TxtOut)中就会显示运算的结果。
用户单击“清除”按钮(名为CmdClear)后,输入框和输出框都清空。
开发该应用的部分程序代码如下:
[程序代码5.2]
PrivateSubCmbOp_Click()
DimDataInAsDouble,DataOutasDouble
DataIn=__(3)__
SelectCase__(4)__
Case"取整数部分"
DataOut=Int(Dataln)
Case"求平方根"
IfDataln
试题六
阅读下列函数说明和C函数,将应填入__(n)__处的字句写在答题纸的对应栏内。
[函数6说明]
函数DelAInsB(LinkedListLa,LinkedListlb,intkey1,intkey2,intlen)的功能是,将线性表A中关键码为keyl的结点开始的len个结点,按原顺序移至线性表B中关键码为key2的结点之前,若移动成功,则返回0;否则返回-1。
线性表的存储结构为带头结点的单链表,La为表A的头指针,Lb为表B的头指针。
单链表结点的类型定义为:
typedefstructnode{
intkey;
structnode*next;
}*Linkedhist;
[函数6]
intDelllnsB(LinkedLiStLa,LinkedListLb,intkeyl,intkey2,intlen)
{LinkedListp,q,S,prep,pres;
intk;
if(!
La->next||!
Lb->next||lennext;prep=La;
while(p&&p->key!
=keyl){ /*查找表A中键值为key1的结点*/
prep=p;p=p->next;
}
if(!
p)return-1; /*表A中不存有键值为key1的结点*/
q=p;k=1;
while(q&&__
(1)__){ /*在表A中找出待删除的len个结点*/
__
(2)__:
k++;
}
if(!
q)return-1; /*表A中不存有要被删除的len个结点*/·
S=Lb->next;__(3)__;
while(s&&s->key!
=key2){ /*查找表B中键值为key2的结点*/
pres=s;s=s->next;
}
if(!
s)return-1; /*表B中不存有键值为key2的结点*/
__(4)__q->next; /*将表A中的len个结点删除*/
q->next:
__(5)__
pres->next=p; /*将len个结点移至表B*/
return0;
}
试题七
阅读以下应用说明、属性设置及VisualBasic程序代码,将应填入__(n)__处的字句写在答题纸的对应栏内。
[应用说明7]
本应用程序的运行窗口如下图所示:
只要用户单击“闪烁”按钮,文字“欢迎光临”就会以0.3秒消失、0.3秒显示反复实行闪烁;单击“停止”按钮时,闪烁停止,恢复图示的初态。
在开发过程中,需要设置的属性如下:
[属性设置7]
在开发过程中,需要编写的程序代码如下;
[程序代码7]
PrivateSubCmdFClick()
Timerl.__(3)__=True
Label.Visible=False
EndSub
PrivateSubTimerl_Timer()
__(4)__=notLabel.Visible
EndSub
PrivateSubCmdTClick()
Timerl.Enabl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 计算机 程序员 笔试 答案