欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】初级程序员下午试题-65及答案解析.doc

    • 资源ID:1330125       资源大小:55KB        全文页数:12页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】初级程序员下午试题-65及答案解析.doc

    1、初级程序员下午试题-65 及答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.【说明】下列流程图(如图 4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+(-1)nx2n+1/(2n+1)!+【流程图】(分数:15.00)填空项 1:_二、试题二(总题数:1,分数:15.00)2.【说明 2.1】 以下 C语言函数用二分插入法实现对整型数组 a中 n个数的排序功能。【函数 2.1】void fun1 (int a)int i,j,k,r,x,m;for(i=2;i=n;i+)(1) ;k=1;r=i-1;whi

    2、le(k=r)m=(k+r)/2;if(xam)r=m-1;else (2) ;for(j=i-1;j=k;j-)aj+l=aj;(3) ;【说明 2.2】以下程序可以把从键盘上输入的十进制数(long 型)以二十六进制形式输出。【程序 2.2】#includestdio.hmain()charb16=0,l,2,3 ,4,5,6,7,8,9,A,B,C,D,E,F;int c64,d,i=0,base;long n;printf(“enter a number:/n“);scanf(“%1d“,printf(“enter new basc:/n“);scanf(“%d“, doci= (4)

    3、 ;i+; n=n/base;while(n!=0);printf(“transmite new base:/n“);for(-i;i=0;-i)d=ci;printf(“%c“, (5) );(分数:15.00)填空项 1:_三、试题三(总题数:1,分数:15.00)3.【说明】本题给出四个函数,它们的功能分别是:1int push(PNODE*top,int e)是进栈函数,形参 top是栈顶指针的指针,形参 e是入栈元素。2int pop(PNODE*top,int*e)是出栈函数,形参 top是栈顶指针的指针,形参 e作为返回出栈元素使用。3int enQueue(PNODE*tail

    4、,int e)是入队函数,形参 tail是队尾指针的指针,形参 e是入队元素。4int deQueue(PNODE*tail,int*e)是出队函数,形参 tail是队尾指针的指针,形参 e作为返回出队元素使用。以上四个函数中,返回值为。表示操作成功,返回值为-1 表示操作失败。栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:typedef struct node int value;struct node * next;NODE, * PNODE;【函数 1】int push(PNOOE * top,int e)PNODE p = (PNODE)

    5、malloc (sizeof (NODE);if (! p) return-1;p-value=e;(1) ;.*top=p;return 0;【函数 2】int pop (PNODE * top,int * e)PNODE p = * top;if(p = NULL) return-1;* e = p-value;(2) ;free(p);return 0;【函数 3】int enQueue (PNODE * tail,int e)PNODE p,t;t= *tail;p = (PNODE) malloc(sizeof(NODE);if(!p) return-1;p-value=e;p-ne

    6、xt=t-next;(3) ;* tail = p;return 0;【函数 4】int deQueue(PNODE * tail,int * e)PNODE p,q;if( * tail)-next = * tail) return-1;p= (* tail)-next;q = p -next;* e =q -value;(4) =q-next;if(,tail=q) (5) ;free(q);return 0;(分数:15.00)填空项 1:_四、试题四(总题数:1,分数:15.00)4.【说明】下面程序的功能是:在含有 10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可

    7、能不止一个。例如:若输入2 8 5 7 8 4 8 3 2 8则应输出The max:8Total:4 /最大数出现次数The positions:1 4 6 9【函数】#includestdio.h#define M 10int fun(int* a,int * n,int pos )int i, k max = - 32767;(1) for(i=0;iM;i+)if( (2) )max=ai;for(i=0;iM;i+)if( (3) )posk+=i;*n=k;return max;main()int aM,posM,i=0j,n;printf(“Enter 10umber:“)for

    8、(i=0,iM;i+)scanf(“%d“, (4) );j=fun( (5) );printf(“The max:%d/n“,j);printf(“Total: %d“, n);printf(“The position:“)for (i=0; in;i+) printf (“%4d“, posi);printf(“/n“);(分数:15.00)填空项 1:_五、试题五(总题数:1,分数:15.00)5.在 Visual Basic中,工程文件、窗体文件和标准模块文件的扩展名是什么?请从下列选项中选择:prg、prj、exe、vbp、form、frm、win、fra、std、bas、vbs、v

    9、bm2设某窗体上有一个命令按钮,其名称为 CmdSave,运行时该按钮上显示有“保存(S(下划线)”字样的信息。为使热键 Alt+S与该命令按钮相关联,应该对按钮 CmdSave的 Caption属性设置什么样的属性值?3设某窗口内有一个图像框 Imagel,以及两个命令按钮“放大”和“缩小”。单击“放大”按钮就会使该图像框的长和宽都放大 10%;单击“缩小”按钮就会使该图像框的长和宽都缩小 10%(该图像框的左上角不动)。请分别写出这两个命令按钮的单击事件过程中的程序代码。4为使某个单选按钮初始时默认被选中,在开发时应怎样做?5若有语句 Tmpval=MsgBox(“非法操作!”,vbOKC

    10、ancel+vbCritical,“提示”),请简要描述程序运行时弹出的消息框的主要特征。(分数:15.00)填空项 1:_六、试题六(总题数:1,分数:15.00)6.【说明】本应用程序是一个小写数字转换成大写格式的转换器,其运行窗口如图 5所示。(分数:15.00)填空项 1:_七、试题七(总题数:1,分数:15.00)7.【说明】设计一个评选优秀教师和学生的程序,其类结构如图 6所示。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。(分数:15.00)填空项 1:_八、试题八(总题数:1,分数:15.00)8.【说明】下面的程序中定义了两个方法求自然数 1100 的和。具体

    11、如下:int suml(int n);利用循环求 1n 的和,int sum2(int n);利用递归方法求和 1n 的和;在 main()方法中调用这两个方法求 1100 的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。public class Sum public static void main (1) /1. 调用 sum1(int n),求 1100 的和 /标准输出(2) (“1100 的和:“ +sum1(100);/2. 调用 sum2(int n),求 1100 的和 /标准输出(2) (“1100 的和:“+sum2(100);static iht su

    12、m1( int n)int result=0;for(int i=1;i=n;i+)(3) retrun result;static int sum2(int n)if (4) return 1else(5) (分数:15.00)填空项 1:_初级程序员下午试题-65 答案解析(总分:120.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.【说明】下列流程图(如图 4所示)用泰勒(Taylor)展开式sinx=x-x3/3!+x5/5!-x7/7!+(-1)nx2n+1/(2n+1)!+【流程图】(分数:15.00)填空项 1:_ (正确答案:x*x (2)x-t (

    13、3)t: (4)s+2-s(5)(-1) * t* x2/(s* (s-1))解析:解析 该题的关键是搞清楚几个变量的含义。很显然变量 t是用来保存多项式各项的值,变量 s和变量 x2的作用是什么呢?从流程图的功能上看,需要计算 11、3!、5!,又从变量 s的初值置为1可知,变量 s主要用来计算这此数的阶乘的,但没有其他变量用于整数自增,这样就以判断 s用来存储奇数的,即 s值依次为 1、3、5,。但 x2的功能还不明确,现在可以不用管它。(2)空的作用是给 t赋初值,即给它多项式的第一项,因此应填写“x-t”。(3)空处需填写循环条件,显然当 t的绝对值小于 (0)就表示已经达到误差要求,

    14、因此(3)空应填入“t:”。由变量 s的功能可知,(4)空应当实现变量 s的增加,因此(4)空应填入“s+2-s”。 (5)空应当是求多项式下一项的值,根据多项式连续两项的关系可知,当前一项为 t时,后一项的值为(-1)*t*x*x/(s*(s-1)。但这样的话,每次循环都需要计算一次 x*x,计算效率受到影响,联想到变量 x2还没用,这时就可以判断 x2就是用来存储 x*x的值,使得每次循环者少进行一次乘法运算。因此(1)空处应填入“x*x”,(5)空处应填入“(-1)*t*x2/(s*(s-1)”。二、试题二(总题数:1,分数:15.00)2.【说明 2.1】 以下 C语言函数用二分插入法

    15、实现对整型数组 a中 n个数的排序功能。【函数 2.1】void fun1 (int a)int i,j,k,r,x,m;for(i=2;i=n;i+)(1) ;k=1;r=i-1;while(k=r)m=(k+r)/2;if(xam)r=m-1;else (2) ;for(j=i-1;j=k;j-)aj+l=aj;(3) ;【说明 2.2】以下程序可以把从键盘上输入的十进制数(long 型)以二十六进制形式输出。【程序 2.2】#includestdio.hmain()charb16=0,l,2,3 ,4,5,6,7,8,9,A,B,C,D,E,F;int c64,d,i=0,base;lo

    16、ng n;printf(“enter a number:/n“);scanf(“%1d“,printf(“enter new basc:/n“);scanf(“%d“, doci= (4) ;i+; n=n/base;while(n!=0);printf(“transmite new base:/n“);for(-i;i=0;-i)d=ci;printf(“%c“, (5) );(分数:15.00)填空项 1:_ (正确答案:x=ai (2)ak=x (3)k=m+1 (4) n% base(5)bd)解析:解析 函数 3.1的思想是依次将数组中的每一个元素插入到有序段中,使有序段的长度不断地

    17、扩大。对于待插入元素,先用二分查找法找出应该插入的位置。然后将元素插入。对数组来说,就是将该位置以后的元素依次后移,然后将待插入元素放到移出来的空位中。程序 3.2用的思想是除 base(base在二十六进制之间)取余法求得相应进制数,然后再转换输出。三、试题三(总题数:1,分数:15.00)3.【说明】本题给出四个函数,它们的功能分别是:1int push(PNODE*top,int e)是进栈函数,形参 top是栈顶指针的指针,形参 e是入栈元素。2int pop(PNODE*top,int*e)是出栈函数,形参 top是栈顶指针的指针,形参 e作为返回出栈元素使用。3int enQueu

    18、e(PNODE*tail,int e)是入队函数,形参 tail是队尾指针的指针,形参 e是入队元素。4int deQueue(PNODE*tail,int*e)是出队函数,形参 tail是队尾指针的指针,形参 e作为返回出队元素使用。以上四个函数中,返回值为。表示操作成功,返回值为-1 表示操作失败。栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:typedef struct node int value;struct node * next;NODE, * PNODE;【函数 1】int push(PNOOE * top,int e)PNODE

    19、p = (PNODE) malloc (sizeof (NODE);if (! p) return-1;p-value=e;(1) ;.*top=p;return 0;【函数 2】int pop (PNODE * top,int * e)PNODE p = * top;if(p = NULL) return-1;* e = p-value;(2) ;free(p);return 0;【函数 3】int enQueue (PNODE * tail,int e)PNODE p,t;t= *tail;p = (PNODE) malloc(sizeof(NODE);if(!p) return-1;p-

    20、value=e;p-next=t-next;(3) ;* tail = p;return 0;【函数 4】int deQueue(PNODE * tail,int * e)PNODE p,q;if( * tail)-next = * tail) return-1;p= (* tail)-next;q = p -next;* e =q -value;(4) =q-next;if(,tail=q) (5) ;free(q);return 0;(分数:15.00)填空项 1:_ (正确答案:p-next=*top (2)*top=p-next 或* top=(*top)-next(3)t-next=

    21、p 或(*tail)-next=p(4)p-next 或(*tail)-next-next(5)*tail=p或*tail=(*tail)-next)解析:解析 (1)插入结点 p后,p 应当指向插入前头结点,所以填入 p -next=*top。(2)出栈后,头指针应指向它的下一结点,所以填入 *top=p-next 或*top=(*top)-next。(3)入队时,需要将结点插入队尾,所以应当填入(*tail)-next=p 或 t-next=p(t 也指向尾结点)。(4)出队时,需要删除队头结点,通过(*tail)-next 可以得到对队头结点的引用。(4)处是正常删除队头结点的情况,空格

    22、处应填入头结点指向下一结点的指针,即 p-next 或(*tail)-next-next。(5)处是需要考虑的特殊情况,即队列中最后一个元素出队后,要更新队尾指针,即填入*tail=p 或*tail=(*tail)-next。四、试题四(总题数:1,分数:15.00)4.【说明】下面程序的功能是:在含有 10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。例如:若输入2 8 5 7 8 4 8 3 2 8则应输出The max:8Total:4 /最大数出现次数The positions:1 4 6 9【函数】#includestdio.h#define M 10i

    23、nt fun(int* a,int * n,int pos )int i, k max = - 32767;(1) for(i=0;iM;i+)if( (2) )max=ai;for(i=0;iM;i+)if( (3) )posk+=i;*n=k;return max;main()int aM,posM,i=0j,n;printf(“Enter 10umber:“)for(i=0,iM;i+)scanf(“%d“, (4) );j=fun( (5) );printf(“The max:%d/n“,j);printf(“Total: %d“, n);printf(“The position:“)

    24、for (i=0; in;i+) printf (“%4d“, posi);printf(“/n“);(分数:15.00)填空项 1:_ (正确答案:k=0 (2)aimax (3)ai=max(4)a+i或/2. 调用 sum2(int n),求 1100 的和 /标准输出(2) (“1100 的和:“+sum2(100);static iht sum1( int n)int result=0;for(int i=1;i=n;i+)(3) retrun result;static int sum2(int n)if (4) return 1else(5) (分数:15.00)填空项 1:_ (正确答案:String args (2)System. out(3)result=result+n;或等价形式 (4)n=1;(5)return n+sum2 (n-1);)解析:解析此处为 Java主函数的参数,是固定写法。Java 程序的标准输出是调用 System包的 out对象的函数。循环累加。这是递归调用的结束条件。对 n-1进行递归调用,并返回 n和 n-1个整数和的和。


    注意事项

    本文(【计算机类职业资格】初级程序员下午试题-65及答案解析.doc)为本站会员(dealItalian200)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开