ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:23.40KB ,
资源ID:16568305      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16568305.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(初级程序员下午试题65真题含答案与解析交互Word下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

初级程序员下午试题65真题含答案与解析交互Word下载.docx

1、 (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)”。试题二阅读下列函数说明和C代码,将应填入 处的字句写在对应栏内。【说明2.1】 以下C语言函数用二分插入法实现对整型数组a中n个数的排序功能。 【函数2.1】void fun1 (int a)int i,j,k,r,x

2、,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,l23 ,4,56789ABCDEFint c64,d,i=0,base;long n;printf(enter a number:n);scanf(%1d,&n);enter new basc:%d, &base);

3、doci= (4) i+; n=n/base; while(n!=0);transmite new base:for(-i;i=0;-i)d=ci; printf(%c, (5) x=ai (2)ak=x (3)k=m+1 (4) n% base(5)bd解析 函数3.1的思想是依次将数组中的每一个元素插入到有序段中,使有序段的长度不断地扩大。对于待插入元素,先用二分查找法找出应该插入的位置。然后将元素插入。对数组来说,就是将该位置以后的元素依次后移,然后将待插入元素放到移出来的空位中。程序3.2用的思想是除base(base在二十六进制之间)取余法求得相应进制数,然后再转换输出。试题三阅读下

4、列说明和C代码,将应填入 本题给出四个函数,它们的功能分别是:1int push(PNODE*top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。2int pop(PNODE*top,int*e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。3int enQueue(PNODE*tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。4int deQueue(PNODE*tail,int*e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。 以上四个函数中,返回值为。表示操作成功,返回值为-1表示操

5、作失败。栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为: typedef struct node int value;struct node * next; NODE, * PNODE; 【函数1】int push(PNOOE * top,int e)PNODE p = (PNODE) malloc (sizeof (NODE);if (! p) return-1;p-value=e;.*top=p;return 0; 【函数2】int pop (PNODE * top,int * e)PNODE p = * top;if(p = NULL) ret

6、urn-1;* e = p-value; free(p); 【函数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-next=t-next; * 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 -nex

7、t;* e =q -value;=q-next;if(,tail=q) free(q);p-next=*top(2)*top=p-next或* top=(*top)-next(3)t-next=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

8、=p或t-next=p(t也指向尾结点)。(4)出队时,需要删除队头结点,通过(*tail)-next可以得到对队头结点的引用。(4)处是正常删除队头结点的情况,空格处应填入头结点指向下一结点的指针,即p-next或(*tail)-next-next。(5)处是需要考虑的特殊情况,即队列中最后一个元素出队后,要更新队尾指针,即填入*tail=p或*tail=(*tail)-next。试题四下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。例如:若输入2 8 5 7 4 3 8则应输出The max:Total:/最大数出现次数The pos

9、itions:1 6 9 【函数】#define M 10int fun(int* a,int * n,int pos )int i, k max = - 32767;for(i=0;iM;if( )max=ai;)posk+=i;*n=k;return max;int aM,posM,i=0j,n;Enter 10umber:)for(i=0,iM;i+)scanf(j=fun( The max:%dn,j);Total: %d, n);The position:for (i=0; in;i+) printf (%4d, posi);k=0 (2)aimax (3)ai=max(4)a+i或

10、&ai (5)a,&n,pos解析 先分析(4)、(5)空。(4)空所在语句是从键盘中读入数据并存放在数组a之中,循环变量为I。(4)空处应填写存放地址,循环变量有两种表示方法,一种是“a+i”,另一种是“&ai”。(5)空处需要填写调用函数fun()的实参,从函数fun()的形参可以看出,第1个参数是要处理的数组a,第2个参数要返回的最大元素的个数n,第3个参数最大元素的下标数组pos。因此(5)空处应填写“a,&n,pos”。再来分析(1)-(3)空。(1)、(3)空所在函数是找最大数,并将其下标存放在数组pos中,其实现的思路是先遍历一次数组,从数组中找出最大数max,再将遍历一次数组,

11、依次将这些最大数的下标存放在数组pos中。(2)空所在的循环就是找最大数max,因此(2)空处应填写“aimax”。(3)空所在的循环是将这些最大数的下标存放在数组pos中,因此(3)空处应填写“ai=max”。(1)空应填写什么呢?从语句“posk+)=i”和“*n=k”可知,变量k是用来指出当前要存放在数组pos中的位置,但这个变量要进行初始化,因此(1)空处应填写“k=0”。试题五以下是与Visual Basic开发应用有关的5个问题。对每一个问题,请将解答填入对应栏内。在Visual Basic中,工程文件、窗体文件和标准模块文件的扩展名是什么?请从下列选项中选择:prg、prj、ex

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

13、语句Tmpval=MsgBox(“非法操作!”,vbOKCancel+vbCritical,“提示”),请简要描述程序运行时弹出的消息框的主要特征。工程文件的扩展名是vbp,窗体文件的扩展名是frm,标准模块文件的扩展名是bas。(2)按钮的Caption属性设置为“保存(&S)”。(3)“放大”按钮单击事件过程中的程序代码:Imagel.Width=Imagel.Width*1.1Imagel.Height=Imagel.Height*1.1 “缩小”按钮单击事件过程中的程序代码:Imagel.Width=Imagel.Width*0.9Imagel.Height=Imagel.Height

14、*0.9(4)将该单选按钮的Value属性值设置成True(5)消息框的标题栏显示“提示”;消息框中有一个出错标记以及两个命令按钮,分别显示“确定”和“取消”;消息框中显示的信息为“非法操作!”。试题六阅读以下应用说明及Visual Basic部分程序代码,将应填入 本应用程序是一个小写数字转换成大写格式的转换器,其运行窗口如图5所示。窗口中有两个标签(lblNumber和lblChinese)、两个文本框(txtNnmber和txtChinese)和一个命令按钮(cmdChange)。当单击按钮cmdChange时,将文本框txtNumber中数字转换成中文大写,并显示在文本框txtChin

15、ese中。例如,在文本框txtNumber输入0076845,单击cmdChange按钮,将在文本框txtChinese中显示“柒万陆仟捌佰肆拾伍”。程序中调用的函数CChinse(Strdigit As String)的功能是先删除字符串的所有前导0,再调用函数Change(Strdigit As String),将数字字符串Strdigit转换成中文大写格式。为了防止用户在文本框txtNumber输入非数字形式的字符,程序将以空字符代替所输入的非数字有形字符。 【程序】 Private Function Transfer(Strdigit As String)As String完成小写向大

16、写的转换,这段代码省略End FunctionPrivate Function CChinese(Strdigit As String)As StringDim intLen,intCounter As IntegerintLen = Len (Strdigit)If intLen0 Thenintcounter = 0 Do 过滤数字串Strdigit的前导0intcounter = intcounter + 1Loop Until Mid(Strdigit, intLen = Strdigit = (Strdigit,intLen) CChinese = Transfer(Strdigit

17、)End IfPrivate Sub cmdChange_Click( )txtChinese.Text=CChinese( ) 调用Cchinese函数End SubPrivate Sub txtNumber_KeyPress(KeyAscii As Integer)Select Case KeyAscii 根据输入字符的ASCII码的值进行判断Case KeyAscii32 保留输入的控制字符Case 48 To 57 保留输入的数字字符Case Else 其他情况以空字符代替=0End Selectintcounter, 1(2)intLen-intCounter+1或Len(Strdi

18、git)-intCounter+1(3)Right或Right $ (4) txtNumber.Text (5) KeyAscii解析 (1)(3)空所在语句块的功能是删除过滤数字串Strdigit的前导0。(1)空所在DoLoop循环是找到第一个非0的位置,循环变量为intcounter,即要判断第intcounter个字符是不是0,因此(1)空处应填写“intcounter,1”。从(3)空所在语句可以判断(2)空所在语句是求出过滤数字串Strdigit的前导0后的数字长度,因此(2)空处应当填写“intLen-intCounter+1”或“Len(Strdigit)-intCounter

19、+1”。(3)空所在语句是取出过滤数字串Strdigit的前导。后的数字,需要填写这一操作的函数,因此(3)空处应当填写“Right”或“Right $”。(4)空处需要填写调用Cchinese函数的参数,程序要对小写数字进行转换,其内容存放在文本框txtNumber中,因此(4)空处应当填写“txtNumber.Text”。(5)空所在语句是处理当前输入若不是数字或控制字符时,则将具ASCII码值设置为0。因此(5)空处应当填写“KeyAscII”。试题七阅读以下说明和C+程序,将应填入 设计一个评选优秀教师和学生的程序,其类结构如图6所示。当输入一系列教师或学生的记录后,将优秀学生及教师的

20、姓名列出来。 【程序】#includeiostream.henum boolean False,Trueclass baseprotected:char name8;public: void getname() cout姓名: ;cinname;void printname() coutnameendU3virtual boolean isgood() =0;class student:int num;void getnum()cout考试成绩: cinnum;boolean isgood() return class teacher: public base每年发表论文数:cinnum;void main()base* p50;student * pstud;teacher * ptech;char ch;int count =0;输入教师(t)或学生(s):cinch;if(ch =spstud = new student;pstud -getname();pstud -getnum();pcount + = pstud;else if(ch = tptech = newteacher;ptech - getname( ) ptech -getnum();pcount+=ptech;else

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

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