最全历年程序员软考考试下午真题合集Word格式.docx

上传人:b****0 文档编号:13940196 上传时间:2022-10-15 格式:DOCX 页数:23 大小:163.30KB
下载 相关 举报
最全历年程序员软考考试下午真题合集Word格式.docx_第1页
第1页 / 共23页
最全历年程序员软考考试下午真题合集Word格式.docx_第2页
第2页 / 共23页
最全历年程序员软考考试下午真题合集Word格式.docx_第3页
第3页 / 共23页
最全历年程序员软考考试下午真题合集Word格式.docx_第4页
第4页 / 共23页
最全历年程序员软考考试下午真题合集Word格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

最全历年程序员软考考试下午真题合集Word格式.docx

《最全历年程序员软考考试下午真题合集Word格式.docx》由会员分享,可在线阅读,更多相关《最全历年程序员软考考试下午真题合集Word格式.docx(23页珍藏版)》请在冰豆网上搜索。

最全历年程序员软考考试下午真题合集Word格式.docx

例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:

[流程图]

[算法说明]

将上述划分的思想进一步用于被划分出的数组的2部分,就可以对整个数组实现递增排序。

设函数intp(intA[],intlow,inthigh)实现了上述流程图的划分过程并返回基准数在数组A中的下标。

递归函数voidsort(intA[],intL,intH)的功能是实现数组A中元素的递增排序。

[算法]

voidsort(intA[],intL,intH){

if(L<H){

k=p(A,L,H);

/*p()返回基准数所在数组A中的下标*/

sort((4));

/*小于基准数的元素排序*/

sort((5));

/*大于基准数的元素排序*/

};

}

2、试题2

阅读下列函数说明和C函数,将应填入______处的语句写在答题纸的对应栏内。

[函数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<pj&

&

(1) 

){

pi++;

pj--;

}

if( 

(2) 

)return-1;

elsereturn0;

[函数2.2说明]

函数f(char*str,chardel)的功能是:

将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。

例如,若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出3个子字符串,分别为“12”,“4”和“5”。

[函数2.2]

voidf(char*str,chardel)

inti,j,len;

len=strlen(str);

i=0;

While(i<len){

While( 

(3) 

)i++;

/*忽略连续的标志字符*/

/*寻找从str[i]开始直到标志字符出现的一个子字符串*/

j=i+1;

while(str[j]!

=del&

str[j]!

'

\0'

)j++;

 

(4) 

='

/*给找到的字符序列置字符串结束标志*/

printf("

%s\t"

,&

str[i]);

(5) 

3、试题3

以下是与VisualBasic开发应用有关的5个问题。

对每个问题,请将答案填入答题纸的对应栏内。

(1)在VisualBasic中,工程文件、窗体文件和标准模块文件的扩展名是什么?

从下列选项中选择:

prg,prj,exe,vbp,form,frm,win,fra,std,bas,vbs,vbm。

(2)设某窗体上有1个命令按钮,其名称为CmdSave,运行时该按钮上显示有“保存(S)”字样的信息。

为使热键Alt+S与该命令按钮相关联,应该对按钮CmdSave的Caption属性设置什么样的属性值?

(3)设某窗口内有1个图像框Imagel及2个命令按钮“放大”和“缩小”。

单击“放大”按钮就会使该图像框的长和宽都放大10%;

单击“缩小”按钮就会使该图像框的长和宽都缩小10%(该图像框的左上角不动)。

分别写出这2个命令按钮的单击事件过程中的程序代码。

(4)为使某个单选按钮初始时默认被选中,在开发时应怎样做?

(5)若有语句Tmpval=MsgBox(“非法操作!

”,vbOKCancel+vbCritical,“提示”),简要描述程序运行时弹出的消息框的主要特征。

4、试题4

阅读以下说明和C程序代码,将应填入______处的语句写在答题纸的对应栏内。

[说明]

函数MultibaseOutput(longn,intB.的功能是:

将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。

该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。

有关栈操作的诸函数功能见相应函数中的注释。

C代码中的符号常量及栈的类型定义如下:

#defineMAXSIZE32

typedefstruct{

int*elem;

/*栈的存储区*/

intmax;

/*栈的容量,即栈中最多能存放的元素个数*/

inttop;

/*栈顶指针*/

}Stack;

[C代码]

intInitStack(Stack*S,intn)/*创建容量为n的空栈*/

S->elem=(int*)malloc(n*sizeof(int));

if(S->elem==NULL)return-1;

S->max=n;

=O;

return0;

intPush(Stack*S,intitem)/*将整数item压入栈顶*/

if(S->top==S->max){printf(“Stackisfull!

\n”);

return-1;

(2) 

=item;

intStackEmpty(StackS){return(!

S.top)?

1:

0;

}/*判断栈是否为空*/

intPop(Stack*S)/*栈顶元素出栈*/

if(!

S->top){printf(“Popanemptystack!

return 

voidMultibaseOutput(longn,intB.

{intm;

StackS;

if(InitStack(&

S,MAXSIZE.){printf(“Failure!

return;

do{

if(Push(&

S, 

)){printf(“Failure!

n= 

}while(n!

=0);

while(!

StackEmpty(S)){ 

/*输出B进制的数*/

m=Pop(&

S);

if(m<10)printf(“%d”,m);

/*小于10,输出数字*/

elseprintf(“%c”,m+55);

/*大于或等于10,输出相应的字符*/

printf(“\n”);

5、试题5

阅读以下应用说明及VisualBasic程序代码,将应真入______处的语句写在答题纸的对应栏内。

[应用说明5.1]

应用程序的窗体中有1个下拉式列表框(名称为Combol)和2个文本框(名称分别为Txt1和Txt2)。

运行时,用户从Combo1的列表中进行选择,程序就会将选中条目的内容及编号(从0开始)分别在文本框Txt1和Txt2中显示出来。

[程序代码5.1]

PrivateSubCombol_Click()

Txt1,Text=Combol. 

Txt2.Text=Combol. 

EndSub

(注意:

可供

(2)处选择的选项有List,Index,ListIndex,LisCount,Number)

[应用说明5.2]

本应用程序的运行窗口如图2-1所示。

当用户在输入框(名为TxtIn)中输入数值数据,并从下拉式列表框(名称为CmbOp)中选择所需的运算后,输出框(名为TxtOut)中就会显示运算的结果。

用户单击“清除”按钮(名为CmdClear)后,输入框和输出框都清空。

[程序代码5.2]

PrivateSubCmbOp_Click()

DimDataInAsDouble,DataOutasDouble

DataIn= 

SelectCase 

Case“取整数部分”

DataOut=Int(DataIn)

Case“求平方根”

IfDataIn<0Then

MsgBox$(“负数不能开平方!

Else

DataOut=Sqr(DataIn)

EndIf

Case“取绝对值”

DataOut=Abs(DataIn)

TxtOut.Text=str$(DataOut)

6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1