最全历年程序员软考考试下午真题合集.doc
《最全历年程序员软考考试下午真题合集.doc》由会员分享,可在线阅读,更多相关《最全历年程序员软考考试下午真题合集.doc(325页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、申明:此为 2004 上半年至今的所有程序员软考下午试题真题并且每套后面均配有答案,接近 30 套,每年两套。由于文件过大,拆成上午试题 和下午试题,在百度文 库同样 可以搜索“ 最全历年程序员软考考试上午真题合集“。此外还有模拟试题提供,百度文 库搜索“ 最全程序员软考考试上午模拟试题合集”和“最全程序员软考考试下午模拟试题合集”。注:如果图片显示不全,适当将 图片缩小即可。过来人总结,多做做下午场试题 ,最好打印。上午场试题对着电脑即可,只要不是一点不懂基本上午场没问题。初级程序员 2004 上半年下午试题1、试题 1阅读下列说明、流程图和算法,将应填入_处。流程 图说 明下面的流程图用
2、N-S盒图形式描述了数组 A中的元素被划分的过程。其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下 标端移动,大于基准数的元素向高下标端移动。当划分结 束时,基准数定位于 Ai,并且数组中下标小于 i的元素的值均小于基准数,下标大于 i的元素的值均大于基准数。设数组 A的下界为 low,上界 为high,数 组中的元素互不相同。例如,对数组(4,2, 8,3,6),以 4为基准数的划分过程如下:流程 图算法 说明 将上述划分的思想进一步用于被划分出的数组的 2部分,就可以对整个数组实现递增排序。设函数 int p(intA,int low,int high)实现了上述流程
3、图的划分过程并返回基准数在数组 A中的下标。递归函数 void sort(int A,int L,int H)的功能是实现数组 A中元素的 递增排序。算法 void sort(int A,int L,int H)if(LH)k=p(A,L,H); /*p()返回基准数所在数组 A中的下标 */sort( (4) ); /*小于基准数的元素排序 */sort( (5) ); /*大于基准数的元素排序 */;2、试题 2阅读下列函数说明和 C函数,将应填入_处的语句写在答题纸的对应栏内。函数 2.1说明函数 palindrome(char s)的功能是:判断字符串 s是否为回文字符串,若是, 则返
4、回 0,否 则返回-1。若一个字符串顺读和倒读都一样,称该字符串是回文字符串,例如,“LEVEL”是回文字符串,而“LEVAL”不是。函数 2.1int palindrome(char s)char *pi, *pj;pi=s;pj=s+strlen(s)-1;while(pipj& (1) ) pi+;pj-;if( (2) ) return-1;else return 0;函数 2.2说明函数 f(char *str,char del)的功能是:将非空字符串 str分割成若干个子字符串并输出,del 表示分割时的标志字符。例如,若 str的值为“33123333435” ,del的值为“3
5、” ,调用此函数后,将输出 3个子字符串,分别为“12” ,“4”和“5” 。函数 2.2void f(char *str,char del)int i,j,len;len=strlen(str);i=0;While(ilen)While( (3) )i+; /* 忽略连续的标志字符 */* 寻找从 stri开始直到标志字符出现的一个子字符串 */ji+1;while(strj!=del &strj!0)j+;(4) =0; /* 给找到的字符序列置字符串 结束标志 */printf(“%st“,&stri);(5) ;3、试题 3以下是与 Visual Basic开发应用有关的 5个问题。对
6、每个问题,请将答案填入答题纸的对应栏内。(1)在 Visual Basic中,工程文件、窗体文件和标准模块文件的扩展名是什么?从下列选项中选择: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
7、%;单击“缩小” 按钮就会使该图像框的长和宽都缩小 10%(该图像框的左上角不动) 。分别写出这 2个命令按钮的单击事件过程中的程序代码。(4)为使某个单选按钮初始时默认被选中,在开 发时应怎样做?(5)若有语句 TmpvalMsgBox(“非法操作!” ,vbOKCancel+vbCritical,“提示”),简要描述程序运行时弹出的消息框的主要特征。4、试题 4阅读以下说明和 C程序代 码,将应填入_处的语句写在答题纸的对应栏内。说 明函数 MultibaseOutput(long n,intB.的功能是:将一个无符号十进制整数 n转换成 B(2B16)进制数并输出。该函数先将转换过程中得
8、到的各位数字入栈,转换结束后再把 B进制数从 栈中输出。有关栈操作的诸函数功能见相应函数中的注释。 C代码中的符号常量及栈的类型定义如下:# define MAXSIZE 32typedef structint * elem; /* 栈的存储区 */int max; /* 栈的容量,即 栈中最多能存放的元素个数 */int top; /* 栈顶指针 */Stack;C代码int InitStack(Stack * S,int n) / * 创建容量 为 n的空栈 */ S-elem=(int *)malloc(n * sizeof(int);if(S-elem=NULL)return-1;S-
9、max=n; (1) =O;return 0;int Push(Stack * S,int item) / * 将整数 item压入栈顶 * / if(S-top=S-max) printf(“Stack is full! n”);return-1;(2) =item;return 0;int StackEmpty(StackS) return (! S.top)? 1:0; / * 判断栈是否为空 * /int Pop(Stack *S ) / * 栈顶元素出栈 * / if(! S-top)printf(“Pop an empty stack! n”);return-1;return (3
10、) ;void MultibaseOutput(long n,intB. int m;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(m10)printf(“%d” ,m); / * 小于 10,输出数字 * /else printf(“%c”,m+55); / * 大于或等于 10,输
11、出相应的字符 * /printf(“n”);5、试题 5阅读以下应用说明及 Visual Basic程序代码,将应真入_处的语句写在答题纸的对应栏内。应 用说明 5.1应用程序的窗体中有 1个下拉式列表框( 名称为 Combol)和 2个文本框(名称分别为Txt1和 Txt2)。运行时,用户从 Combo1的列表中进行选择,程序就会将选中条目的内容及编号(从 0开始 )分别在文本框 Txt1和 Txt2中显示出来。程序代 码 5.1Private Sub Combol_Click()Txt1,Text=Combol. (1) Txt2Text=Combol. (2) End Sub(注意:可供
12、(2)处选择的选项有 List,Index,ListIndex,LisCount,Number)应 用说明 5.2本应用程序的运行窗口如图 2-1所示。当用户在输入框(名为 TxtIn)中输入数值数据,并从下拉式列表框(名称为 CmbOp)中选择所需的运算后,输出框 (名为 TxtOut)中就会显示运算的 结果。用户单击“清除”按钮(名为 CmdClear)后,输入框和输出框都清空。程序代 码 5.2Private Sub CmbOp_Click()Dim DataIn As Double,DataOut as DoubleDataIn (3) Select Case (4) Case“取整数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 历年 程序员 考试 下午 真题合集
限制150内