2007-2010软考程序员真题1_第1页
2007-2010软考程序员真题1_第2页
2007-2010软考程序员真题1_第3页
2007-2010软考程序员真题1_第4页
2007-2010软考程序员真题1_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

wordword/word2007年11月份程序员考试上午试题●在Word编辑状态下,有些英文单词和汉字下面会自动加上红色或绿色的波浪型细下划线。以下表示中,“波浪型细下划线〔1〕〞是错误的;按〔2〕键与工具栏上的按钮功能一样。〔1〕A.提醒用户此处可能有拼写或语法错误B.为红色表示可能是拼写问题,为绿色可能是语法问题C.是文档内容的一局部,打印文档时会被打印出来D.不属于文档内容,打印文档时不会被打印出来〔2〕A.Ctrl+CB.Ctrl+VC.Ctrl+AD.Ctrl+S③①②●在Excel中,通过冻结或者拆分窗格可以在滚动工作表时始终保持局部数据可见。如下图中〔3〕,当鼠标指针在上述位置变为〔4〕后,将该框拖至所需的位置③①②〔3〕A.①和③分别表示水平拆分框和垂直冻结框B.①和③分别表示水平冻结框和垂直冻结框C.②和③分别表示垂直冻结框和水平拆分框D.②和③分别表示水平拆分框和垂直拆分框〔4〕A.或B.或C.或D.或●给定URL为:///index.htm,其中表示〔5〕。〔5〕A.所用的协议 B.所访问的域名C.请求查看的文档名 D.电子地址●计算机中数据输入输出的控制方式有多种,“中断〞方式的优点不包括〔6〕。〔6〕A.I/O与CPU并行处理B.并行处理多种I/OC.实时响应突发事件D.批量传送数据●欲知8位二进制数〔b7b6b5b4b3b2b1b0〕的b2是否为1,可将该数与二进制数00000100进展〔7〕运算,假如运算结果不为0,如此此数的b2必为1。〔7〕A.加 B.减 C.与D.或●光盘驱动器与主机的接口总线常采用〔8〕总线。〔8〕A.ISA B.CETRONIC C.EIDE﹙ATA﹚ D.PCI●汉字机内码与国标码的关系为:机内码=国标码+8080H。假如某汉字的国标码为3456H,如此其机内码为〔9〕。〔9〕A.B4D6H B.B536H C.D4B6HD.C4B3H●设某系统由P1和P2两个子系统组成,当且仅当两个子系统都能正常工作时,该系统才能正常工作。假如P1和P2的可靠性均为0.9,如此该系统的可靠性是〔10〕。〔10〕A.0.1 B.0.45 C.0.81 D.0.9●评价计算机系统性能时,MIPS是衡量〔11〕的一种单位。〔11〕A.时钟频率 B.运算速度C.系统可靠性 D.系统失效率●下面的图像格式中,〔12〕不支持透明控制信息。〔12〕A.GIFB.PNGC.PSDD.JPG●对同一段音乐可以选用MIDI格式或WAV格式来记录存储。以下表示中,〔13〕是不正确的。〔13〕A.B.记录演唱会实况不能采用MIDI格式的音乐数据C.WAV格式的音乐数据没有表现音乐的曲谱信息D.●某块SoundBlaster声卡是8位的,这里的“8位〞指。〔14〕A.声音采集最大量化精度是8位B.MIDI通道数是8C.可以产生的音色数是28D.声道数为8●使用IE浏览器浏览网页时,出于安全方面的考虑,需要禁止执行JavaScript,可以在IE中〔15〕。〔15〕A.禁用ActiveX控件 B.禁用脚本C.禁用没有标记为安全的ActiveX控件 D.禁用cookie●在公司内网中部署〔16〕可以最大限度防X内部攻击。〔16〕A.防火墙 B.电磁泄密与防护系统C.过滤系统 D.入侵检测系统●向商标局提出注册商标转让申请的人应当是〔17〕。〔17〕A.转让人B.受让人C.商标注册人D.转让人和受让人●如下标准代号中,〔18〕表示国际标准。〔18〕A.GB.IECC.GB/TD.ANSI●用补码表示的8位二进制数11100000,其值为十进制数〔19〕。〔19〕A.-31 B.-32 C.-64 D.-65●用ASCII码表示的大写英文字母B﹙42H﹚加偶校验后的二进制编码为〔20〕。〔20〕A.10001000 B.10000010C.11000001 D.01000010●CPU主要由运算单元〔ALU〕、控制单元〔CU〕、存放器和时序电路组成,对指令进展译码的功能是由〔21〕实现的。〔21〕A.运算单元B.控制单元 C.存放器 D.时序电路●两个带符号的数进展运算时,在〔22〕的情况下有可能产生溢出。〔22〕A.同符号数相加B.同符号数相减C.异符号数相加D.异符号数相“或〞●主板〔也称母板或系统板〕是计算机硬件系统集中管理的核心载体,几乎集中了全部系统功能,是计算机中的重要部件之一。如下图所示的微机主板上,①处是〔23〕,②处是〔24〕。②②①〔23〕A.CPU插槽 B.内存插槽 C.PCI插槽 D.IDE插槽〔24〕A.CPU插槽 B.内存插槽C.PCI插槽D.IDE插槽●计算机加电自检以后,引导程序首先装入,否如此,计算机不能做任何事情。〔25〕A.操作系统 B.编译程序 C.Office系列软件 D.应用软件●有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,如此信号量S的初值为〔26〕,信号量S的变化X围是〔27〕。〔26〕A.0 B.1 C.5 D.6〔27〕A.0~10 B.–1~9 C.–4~6 D.–5~5●〔28〕不属于程序语言翻译软件。〔28〕A.编译程序 B.解释程序 C.汇编程序 D.编辑程序●假如程序P经编译并后可执行,如此〔29〕。〔29〕A.P是正确的程序 B.P中没有语法错误C.P中没有逻辑错误 D.P在运行中不会出错●假如程序中定义了局部变量与全局变量,如此〔30〕。〔30〕A.在函数内只能访问局部变量,但不能访问全局变量B.局部变量与全局变量的名字不得一样 C.一个函数被屡次调用时,其定义的局部变量必定分配同一个存储单元D.函数中定义的局部变量与全局变量同名时,在函数内引用的是局部变量●〔31〕不是良好的编程风格。〔31〕A.变量名采用单字母符号或单字母加数字串B.程序代码采用缩进格式C.为变量设置初始值D.程序中包含必要的注释●函数调用采用“〔32〕〞方式时,系统将实参的地址传递给形式参数。〔32〕A.传值调用 B.引用调用 C.宏调用 D.内部调用●

假如程序中使用的变量未设置初始值,如此〔33〕。〔33〕A.编译时一定出错 B.运行时一定会出错C.时一定出错 D.运行结果可能出错●

在统一建模语言〔UnifiedModelingLanguage,UML〕中,描述本系统与外部系统与用户之间交互的图是〔34〕;按时间顺序描述对象间交互的图是〔35〕〔34〕A.用例图 B.类图 C.对象图 D.状态图〔35〕A.部署图 B.序列图 C.协作图 D.状态图●n个元素依次全部进入栈后,再陆续出栈并经过一个队列输出。那么,〔36〕。〔36〕A.元素的出队次序与进栈次序一样B.元素的出队次序与进栈次序相反C.元素的进栈次序与进队次序一样D.元素的出栈次序与出队次序相反●假如一个栈以向量V[1..n]存储,且空栈的栈顶指针top为n+1,如此将元素x入栈的正确操作是〔37〕。〔37〕A.top=top+1;V[top]=x;B.V[top]=x;top=top+1;C.top=top-1;V[top]=x; D.V[top]=x;top=top-1;●广度优先遍历的含义是:从图中某个顶点v出发,在访问了v之后依次访问v的各个未被访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,且“先被访问的顶点的邻接点〞先于“后被访问的顶点的邻接点〞被访问,直至图中所有已被访问的顶点的邻接点都被访问到。〔38〕是如下图的广度优先遍历序列。〔38〕A.126345B.123456C.165234D.164523●对于长度为11的顺序存储的有序表,假如采用折半查找〔向下取整〕,如此找到第5个元素需要与表中的〔39〕个元素进展比拟操作〔包括与第5个元素的比拟〕。〔39〕A.5B.4C.3D.2●与单向链表相比,双向链表〔40〕。〔40〕A.需要较少的存储空间B.遍历元素需要的时间较短C.较易于访问相邻结点D.较易于插入和删除元素●如果待排序序列中两个元素具有一样的值,在排序前后它们的相互位置发生颠倒,如此称该排序算法是不稳定的。〔41〕是稳定的排序方法,因为这种方法在比拟相邻元素时,值一样的元素并不进展交换。〔41〕A.冒泡排序B.希尔排序C.快速排序D.简单项选择择排序●对如下图所示的二叉树进展中序遍历〔左子树、根、右子树〕的结果是〔42〕。〔42〕A.253461B.253416 C.265413 D.264531●采用一维数组S存储一个n阶对称矩阵A的下三角局部〔按行存放,包括主对角线〕,设元素A[i][j]存放在S[k]中〔i、j、k均从1开始取值〕,且S[1]=A[1][1],如此k与i、j的对应关系是〔43〕。例如,元素A[3][2]存在S[5]中。〔43〕A. B.C. D.●关于对象和类的表示,正确的答案是〔44〕。〔44〕A.如果两个对象的所有成员变量的值一样,如此这两个对象是同一对象 B.编写代码时,不允许使用匿名类C.不同的对象一定属于不同的类D.每个对象都有惟一标识,以彼此区分●〔45〕关系描述了某对象由其他对象组成。〔45〕A.依赖B.一般化 C.聚合 D.具体化●关于对象封装的表示,正确的答案是〔46〕。〔46〕A.每个程序模块中都封装了假如干个对象B.封装可实现信息隐藏C.封装使对象的状态不能改变 D.封装是把对象放在同一个集合中●在面向对象技术中,抽象类是〔47〕。〔47〕A.接口B.没有方法的类C.没有子类的类 D.至少有一个未定义消息的类●在面向对象技术中,多态性的含义是〔48〕。〔48〕A.一个对象可同时指向不同的类的对象B.同一消息在不同时刻可调用不同的方法C.对象的生存周期中包含对象的多种状态D.不同消息可以调用一样的方法●〔49〕语言最适用于过程式程序设计。〔49〕A.C B.HTML C.JAVA D.PROLOG●〔50〕是正确的表示。〔50〕A.解释方式比编译方式更适用于规模较大的程序B.解释方式下生成的目标代码长,编译方式下生成的目标代码短C.解释方式下不生成源程序的目标代码D.解释方式只能用于批处理●由多个源文件组成的C程序,经过编辑、预处理、编译、等阶段才能生成最终的可执行程序。此过程中,在〔51〕阶段可以发现被调用的函数未定义。〔51〕A.编辑和预处理 B.预处理 C.编译 D.●在软件开发过程中,〔52〕。〔52〕A.增加更多的程序员可以加快软件开发速度B.只有对目标的一般描述还不能立即开始编码C.假如项目需求有变化,应先在编码中进展处理以不耽误开发进度D.程序的质量只能在用户使用之后才能进展评估●采用结构化方法开发软件时,常使用数据流图来描述系统数据处理过程,它是〔53〕阶段产生的。〔53〕A.系统分析 B.概要设计 C.详细设计 D.编码●软件维护可分为改正性维护、适应性维护、完善性维护和预防性维护。在软件的整个维护活动中,〔54〕维护所占比重最大。〔54〕A.改正性 B.适应性 C.完善性 D.预防性●在软件的使用过程中,用户往往会对软件提出新的功能要求与性能要求。为了满足这些要求而进展的维护属于〔55〕维护。〔55〕A.改正性 B.适应性 C.完善性 D.预防性●对于如下的程序流程,假如采用语句覆盖法设计测试案例〔使每条语句都至少执行1次〕,如此至少需要设计〔56〕个测试案例。〔56〕A.1 B.2 C.3 D.4●关系代数运算是以集合操作为根底的运算,其五种根本运算是并、差、〔57〕、投影和选择,其他运算可由这些运算导出。为了提高数据的操作效率和存储空间的利用率,需要对〔58〕进展分解。〔57〕A.交B.连接C.笛卡尔积 D.自然连接〔58〕A.内模式B.视图C.外模式 D.关系模式●设有关系Students〔学号,某某,年龄,性别,系名,家庭住址〕,其中,属性“系名〞是关系DEPT的主键,用户要求访问“家庭住址〞的某个成分,如、省、市、街道以与门牌号。关系Students的主键和外键分别是〔59〕。“家庭住址〞是一个〔60〕属性。〔59〕A.学号、家庭住址 B.某某、家庭住址 C.学号、系名 D.某某、系名〔60〕A.简单 B.复合 C.多值 D.派生●设有关系Students〔学号,某某,年龄,性别,系名,家庭住址〕,如果要查询姓“李〞的且家庭住址包含“科技路〞的学生学号、某某以与所在系,如此对应的SELECT语句如下:SELECT学号,某某,系名FROMStudentsWHERE〔61〕AND〔62〕;〔61〕A.某某LIKE'李__' B.某某LIKE'李%'C. 某某AS'李__' D.某某AS'李%'〔62〕A.家庭住址LIKE'%科技路%' B.家庭住址LIKE'*科技路*'C.家庭住址AS'%科技路%' D.家庭住址AS'*科技路*'●为了用一个数代表一批数,人们常用这批数据的算术平均值〔简称平均值〕或中位数来代表。中位数就是位于这批数中间的数〔大于它的数与小于它的数一样多〕。对于奇数个数而言,排序后很容易确定中间那个数;对于偶数个数而言,排序后中间会有两个数,再取这两个数的算术平均,就是中位数。以下关于平均值与中位数的表示中,〔63〕是不正确的。〔63〕A.中位数比平均值稳健,不易受极端值影响B.每个数据加倍后,平均值也加倍;每个数据增加1后,平均值也增加1C.三组各n个数据有三个中位数,它们的中位数就是这三组数据全体的中位数D.三组各n个数据有三个平均值,它们的平均值就是这三组数据全体的平均值●某村领导需要估计该村某池塘中鱼的大致数量。技术人员想出了一个方法:先从池塘中捕出30条鱼,在每条鱼身上做一记号后,又放回池塘。几天后,再从该池塘中捕出40条鱼,发现其中有2条是有记号的。因此,他估计该池塘大致有〔64〕条鱼。类似地,为估计某程序中所含的错误个数,程序员A对该程序进展测试时发现了5个错误,程序员B独立对该程序进展测试时发现了8个错误,但其中2个错误是程序员A已经发现的。因此,人们可以估计,该程序中大致含有〔65〕个错误。〔64〕A.300 B.400 C.600 D.1200〔65〕A.12B.15 C.16 D.20●客户端通过〔66〕协议发送电子。〔66〕A.FTP B.SMTPC.D.POP3●在URL中不填写协议类型,IE浏览器默认使用〔67〕协议。〔67〕A.FTP B.GopherC.File D.●如果访问一个速度很慢,可能有多种原因,但首先应该排除的是〔68〕。〔68〕A.网络服务器忙 B.通信线路忙C.本地终端遭遇病毒 D.没有访问权限●在WindowsXP中,可以使用〔69〕来浏览日志文件,其中包含有〔70〕、安全性日志和系统日志。〔69〕A.事件查看器 B.浏览器 C.超级终端 D.信息服务〔70〕A.用户访问日志 B.应用程序日志C.记帐日志 D.网络攻击日志●A〔71〕isafunctionalunitthatinterpretsandcarriesoutinstructions.〔71〕A.memoryB.processorC.storageD.network●A〔72〕consistsofthesymbols,characters,andusagerulesthatpermitpeopletomunicatewithputer.〔72〕A.programminglanguageB.networkC.keyboardD.display●〔73〕software,alsocalledend-userprogram,includesdatabaseprograms,wordprocessors,spreadsheetsetc.〔73〕A.ApplicationB.SystemC.pilerD.Utility●In〔74〕,theonlyelementthatcanbedeletedorremovedistheonethatwasinsertedmostrecently.〔74〕A.alineB.aqueueC.anarrayD.astack●Most〔75〕measuresinvolvedataencryptionandpassword.〔75〕A.securityB.hardwareC.displayD.program2007年11月份程序员考试下午试题试题一〔共15分〕阅读以下说明和流程图,填补流程图中的空缺〔1〕~〔5〕,将解答填入答题纸的对应栏内。[说明]某单位动态收集的数据中常包含重复的数据,所以需要进展处理,使得重复的数据仅出现一次。下面流程图的功能是:在n〔n≥1〕个数据D1、D2、…、Dn中,选出其中所有不重复的k个数据,置于原来前k个数据的位置上。该流程图的算法如下:第1个数据必然被选出,然后从第2个数据开始,逐个考察其余的数据。假设D1、D2、…、Dm〔m≥1〕是已经选出的、不重复的数据,如此对于数据Di〔m<i≤n〕,将其依次与Dm、Dm-1、…、D1进展比拟,假如没有发现与之一样者,如此Di被选出并置于Dm+1的位置上;否如此对Di不做处理。例如,如下10个数据:5,2,2,7,4,4,7,1,9,1〔n=10〕经过上述算法处理后的结果为:5,2,7,4,1,9〔k=6〕[流程图]注:循环开始的说明按照“循环变量名:循环初值,循环终值,增量〞格式描述。试题二〔共15分〕阅读以下说明和C语言函数,将应填入〔n〕处的字句写在答题纸的对应栏内。[说明]1900年1月1日是星期一,下面的函数count_5_13(intyear)用于计算给定的年份year中有几个“黑色星期五〞。“黑色星期五〞指既是13日又是星期五的日期。函数count_5_13(intyear)首先算出年份year的1月13日是星期几,然后依次计算每个月的13日是星期几,假如是星期五,如此计数。程序中使用了函数isLeapYear(intyear),其功能是判断给定年份是否为闰年,返回值为1(或0)分别表示year是〔或不是〕闰年。[C语言函数]intcount_5_13(intyear){intdate;/*date为0表示星期日,为1~6分别表示星期一至星期六*/longdays=0;/*days记录天数*/intm,y,c=0;/*c用于表示黑色星期五的个数*/if(year<1900)return-1;/*计算从1900年1月1日起,至给定年份year的1月13日间隔的天数*/days=12;for(y=1900;y<year;y++){days+=365;if(isLeapYear(y))〔1〕;}date=((days%7)+1)%7;/*算出给定年份year的1月13日是星期几*/c=(〔2〕)?1:0;for(m=1;〔3〕;m++){ switch(m){ case1:case3:case5:case7:case8:case10:case12: days=31;break; case4:case6:case9:case11: days=30;break; case2:days=28; if(〔4〕)days=29; break; }/*endofswitch*/date=((days%7)+〔5〕)%7;if(date==5) c++;}/*endoffor*/returnc;}试题三〔共15分〕阅读以下说明和C语言程序,将应填入〔n〕处的字句写在答题纸的对应栏内。[说明]某电信公司记录了每个用户的详细通话情况〔每次通话数据记录在一行〕,现将某用户某月的通话数据存入一个文本文件“dial.txt〞,其数据格式如下:拨入或拨出标记通话开始时间通话完毕时间对方注1:数据字段以一个空格作为分隔符。注2:拨入和拨出标记均为小写字母。拨入标记为“i〞,表示其他用户呼叫本机,本机用户不需付费;拨出标记为“o〞,表示本机呼叫其他用户,此时本机用户需要付费。注3:通话开始和完毕时间的格式均为:HH:MM:SS。其中HH表示小时,取值00~23;MM表示分钟,取值00~59;SS表示秒,取值00~59。从通话开始到完毕这段时间称为通话时间,假定每次通话时间以秒为单位,最短为1秒,最长不超过24小时。注4:跨月的通话记录计入下个月的通话数据文件。例如“o23:01:1200:12:15…〞表示本次通话是本机呼叫其他用户,时间从23时01分12秒至次日的0时12分15秒,通话时间为71分03秒。下面程序的功能是计算并输出该用户本月费(单位:元)。通话计费规如此为:1.月通话费按每次通话费累加;2.每次的通话费按通话时间每分钟0.08元计算,不足1分钟时按1分钟计费。对于每次的拨出通话,程序中先分别计算出通话开始和完毕时间相对于当日0点0分0秒的时间长度〔以秒为单位〕,然后算出本次通话时间和通话费。例如,假如输入文件dial.txt的数据如下所示,如此输出fee=7.44。o14:05:2314:11:2582346789i15:10:0016:01:1513890000000o10:53:1211:07:0563000123o23:01:1200:12:1513356789001[C程序代码]#include<stdio.h>FILE*fin;intmain(){charstr[80];inth1,h2,m1,m2,s1,s2;longt_start,t_end,interval;intc;doublefee=0;fin=fopen("dial.txt","r");if(!fin) return-1;while(!feof(fin)){ if(!fgets(str,80,fin))break; if(〔1〕)continue; h1=(str[2]-48)*10+str[3]-48; m1=(str[5]-48)*10+str[6]-48;s1=(str[8]-48)*10+str[9]-48;h2=(str[11]-48)*10+str[12]-48; m2=(str[14]-48)*10+str[15]-48;s2=(str[17]-48)*10+str[18]-48; t_start=h1*60*60+m1*60+s1;/*通话开始时间*/ t_end=h2*60*60+m2*60+s2;/*通话完毕时间*/if(〔2〕)/*假如通话开始和完毕时间跨日*/ interval=〔3〕-t_start+t_end; else interval=t_end-t_start;c=〔4〕;/*计算完整分钟数表示的通话时间*/ if(interval%60)〔5〕; fee+=c*0.08;}fclose(fin);printf("fee=%.2lf\n",fee);return0;}试题四〔共15分〕阅读以下说明和C语言函数,将应填入〔n〕处的字句写在答题纸的对应栏内。[说明]包含头结点〔不存储元素〕的单链表的元素已经按照非递减方式排序,函数press(NODE*head)的功能是去掉其中重复的元素,使得链表中的元素互不一样。处理过程中,当元素重复出现时,保存元素第一次出现所在的结点。图4-1(a)、(b)是经函数press()处理前后的链表结构示例图。图4-1链表的结点类型定义如下:typedefstructNode{intdata;structNode*next;}NODE;[C语言函数]voidpress(NODE*head){NODE*ptr,*q;ptr=〔1〕;/*取得第一个元素结点的指针*/while(〔2〕&&ptr->next){q=ptr->next;while(q&&〔3〕){/*处理重复元素*/〔4〕=q->next;free(q);q=ptr->next;}〔5〕=ptr->next;}/*endofwhile*/}/*endofpress*/从如下3道试题〔试题五至试题七〕中任选1道解答。如果解答的试题数超过1道,如此题号小的1道解答有效。从如下3道试题〔试题五至试题七〕中任选1道解答。如果解答的试题数超过1道,如此题号小的1道解答有效。试题五〔共15分〕[说明]四个类之间的关系如图5-1所示,分别对每个类的方法进展编号,例如Shape的perimeter()方法为1号,表示为“1:perimeter()〞,Rectangle类的perimeter()为2号,表示为“2:perimeter()〞,依此类推,其中,每个类的perimeter方法都为虚函数且方法签名一样。ShapeShapeRectangleTriangleSquare1:perimeter()2:perimeter()4:perimeter()3:height()5:perimeter()图5-1类图[C++代码]Triangle*tr=newTriangle();Square*sq=newSquare();Shape*sh=tr;[问题1]关于上述C++代码中sh和tr的以下表示中,哪两个是正确的〔写出编号〕。①sh和tr分别引用同一个对象;②sh和tr分别引用同一类型的不同的对象;③sh和tr分别引用不同类型的不同对象;④sh和tr分别引用同一个对象的不同拷贝;⑤sh和tr所引用的内存空间是一样的。[问题2]写出下面消息对应的方法编号〔如果该消息错误或者没有对应的方法调用,请填写“无〞〕。 tr->height()〔1〕 sh->perimeter()〔2〕 sq->height()〔3〕 sq->perimeter()〔4〕 sh->height()〔5〕 tr->perimeter()〔6〕[问题3]不考虑内存释放问题,如下赋值语句中哪两个是合法的〔写出合法赋值语句的编号〕。①sq=sh;②sh=tr;③tr=sq;④sq=tr;⑤sh=sq;试题六〔共15分〕阅读以下应用说明以与VisualBasic程序代码,将应填入〔n〕处的字句写在答题纸的对应栏内。[应用说明]某电视台拟开发应用程序来显示戏曲大赛中1~4号四位选手决赛的现场投票情况。该程序从现场观众中〔不超过2000人〕每0.5秒收集一次对这四位选手的支持票数,并在屏幕上动态显示这四位选手的票柱〔以高度反映票数〕与累计得票数,如图6-1所示。投票过程限时30秒,每名观众最多为1名选手投票。投票完毕后系统通过比拟各位选手的累计得票数,显示决赛结果:“*号胜出〞〔如有单个冠军〕或“继续进展PK〞〔如有多人获得一样的最高票数〕。图6-1在开发该程序的过程中创建的主要控件与其初始属性值说明如下:控件名类型用途初始属性设置ShpM〔1to4〕形状数组显示各选手得票情况矩形,实心,高度0txtM(1to4)文本框数组显示各选手得票数0cmdStart命令按钮启动计票标题:开始投票txtResult文本框显示决赛结果空Tim1计时器每半秒收集处理一次间隔时间0.5秒,关闭状态该程序中设置公共变量T动态记录投票时间。四个形状ShpM〔1to4〕动态增长的底线固定。[VisualBasic程序代码]DimTAsInteger'声明全局变量PrivateSubForm_Load()Fori=1To4ShpM(i).Top=2000:ShpM(i).Height=0'初始票柱高度为0TxtM(i).Text=0NextiTim1.Enabled=False:Tim1.Interval=500:T=0EndSub

PrivateSubCmdStart_Click()Tim1.Enabled=True'开始投票CmdStart.Enabled=FalseEndSubPrivateSubTim1_Timer()Dimn(1To4)AsInteger'n(1to4)为每次收集的票数DimiAsInteger,jAsIntegerDimGAsInteger'G用于计算最高票数DimngAsInteger'ng用于计算冠军个数Fori=1To4n(i)=…'收集i号选手的票数,此处省略TxtM(i).Text=TxtM(i).Text+n(i)'累计票〔VB能进展自动转换〕ShpM(i).Top=ShpM(i).Top-n(i)ShpM(i).Height=ShpM(i).Height+〔1〕'算出票柱高度NextiT=T+1'计时IfT=60Then'投票时间到〔2〕'停止数据收集处理ng=1G=TxtM(1).TextFori=2To4IfG<TxtM(i).TextThenG=TxtM(i).Textng=〔3〕j=iElseIfG=TxtM(i).TextThenng=〔4〕'计算冠军个数EndIfNextiIfng=1ThentxtResult.Text=〔5〕'单个冠军结果ElsetxtResult.Text="继续进展PK"EndIfEndIfEndSub试题七〔共15分〕[说明]四个类之间的关系如图7-1所示,分别对每个类的方法进展编号,例如Shape的perimeter()为1号,表示为“1:perimeter()〞,Rectangle类的perimeter()为2号,表示为“2:perimeter()〞,依此类推,其中,每个类的perimeter方法签名一样。ShapeShapeRectangleTriangleSquare1:perimeter()2:perimeter()4:perimeter()3:height()5:perimeter()图7-1类图[Java代码]Triangletr=newTriangle();Squaresq=newSquare();Shapesh=tr;[问题1]关于上述Java代码中sh和tr的以下表示中,哪两个是正确的〔写出编号〕。①sh和tr分别引用同一个对象;②sh和tr分别引用同一类型的不同的对象;③sh和tr分别引用不同类型的不同对象;④sh和tr分别引用同一个对象的不同拷贝;⑤sh和tr所引用的内存空间是一样的。[问题2]写出下面消息对应的方法编号〔如果该消息错误或者没有对应的方法调用,请填写“无〞〕。 tr.height()〔1〕 sh.perimeter()〔2〕 sq.height()〔3〕 sq.perimeter()〔4〕 sh.height()〔5〕 tr.perimeter()〔6〕[问题3]如下赋值语句中哪两个是合法的〔写出合法赋值语句的编号〕。①sq=sh;②sh=tr;③tr=sq;④sq=tr;⑤sh=sq;2008年5月份程序员考试上午试题●在Word编辑状态下,可以把一段文字的格式快速应用到另一段文字上,以提高编排文章的效率,其方法是:单击常用工具栏上的“ 〔1〕 〞按钮;然后移动鼠标到待格式化的文本开始处,〔2〕 。〔1〕A.B.C.D.〔2〕A.按<Alt>键的同时单击鼠标左键即可B.按<Alt>键的同时单击鼠标右键即可C.按住鼠标左键拖动鼠标,到达待格式化的文本末尾时松开鼠标键D. 按住鼠标右键拖动鼠标,到达待格式化的文本末尾时松开鼠标键●Excel单列表格〔3〕可以根据“分隔符号〞分列成多列表格。如果选中某单元格并输入2000,回车后此单元格的显示内容为¥2000,那么应将此单元格的格式设置成〔4〕。〔3〕A.B.C.D.〔4〕A. 数值B.人民币C.货币D.科学记数●因特网最高层域名分为机构性域名和地理性域名两大类,目前主要有14种机构性域名,其中“ 〔5〕 〞是教育机构域名。〔5〕A.B.EDUC.GOVD.ORG● 将十六进制数9B转换为八进制数为〔6〕。〔6〕A.233 B.433 C.463 D.531●冯▪诺依曼体系结构的计算机有两个主要组成部件:内存和处理器。其中,内存用于存储指令和数据。在大多数高级语言程序中, 〔7〕 是内存单元的抽象。微处理器中的ALU可执行算术运算和 〔8〕 操作。〔7〕A. 变量 B.关键字C.语句D.数据类型〔8〕A.浮点B.定点C.逻辑D.控制●某字符的编码为“0100101〞,假如最高位增加一个偶校验位,如此其编码变为〔9〕。〔9〕A.10100101 B.11001010 C.01000110D.01010101●对于一个基于网络的应用系统,在客户端持续地向服务端提交作业请求的过程中,假如作业响应时间越短,如此服务端 〔10〕 。〔10〕A.占用内存越大B. 越可靠C. 吞吐量越大D. 抗病毒能力越强●在软件开发中使用函数库可〔11〕 。〔11〕A.提高软件的执行速度B. 降低系统负载C.提高软件各局部之间的耦合度D. 提高软件的可重用性●在显存中,表示黑白图像的像素点最少需〔12〕位。〔12〕A.1B.2C.8D.16●图像文件格式可以分为静态格式和动态格式,〔13〕 属于动态图像文件格式。〔13〕A.BMPB.PNGC.WAVD.AVI●〔14〕 图像通过使用彩色查找表来获得图像颜色。〔14〕A.真彩色B.伪彩色C. 黑白D.矢量●计算机 〔15〕 感染可执行文件。一旦直接或间接执行了被该病毒感染的程序,该病毒会按照编制者的意图对系统进展破坏。〔15〕A.文件型病毒B.宏病毒C.目录病毒D. 引导型病毒●为防止攻击者通过WindowsXP系统中正在运行的Telnet服务登录到用户的计算机,可以对WindowsXP中Telnet服务进展如下设置: 〔16〕 。〔16〕A.设置启动类型为自动B.设置启动类型为自动,之后重启计算机C.设置启动类型为手动D.设置启动类型为手动,之后重启计算机●依据我国著作权法的规定,〔17〕不可转让,不可被替代,不受时效的约束。〔17〕A. 翻译权B. 署名权C. 修改权D. 复制权●甲委托乙开发一应用软件,假如双方没有订立任何书面合同,那么该软件著作权应由〔18〕。〔18〕A.乙一人享有B. 甲、乙共同享有C.甲一人享有D.甲、乙均不享有●设机器码的长度为8,x为带符号纯小数,y为带符号纯整数,[X]原=11111111,[Y]补=11111111,如此x的十进制真值为〔19〕,y的十进制真值为〔20〕。〔19〕A.1/128B.–1/128C.–127/128D.127/128〔20〕A.–1B.127C.–127 D.1●使用〔21〕技术,计算机的微处理器可以在完成一条指令前就开始执行下一条指令。〔21〕A.迭代B.流水线C.面向对象D.中间件●微机启动时使用的有关计算机硬件配置的重要参数保存在〔22〕中。〔22〕A.CacheB.CMOSC.RAMD.CD-ROM● 如下图所示的微机主板的①处是 〔23〕 插槽,②处是 〔24〕接口。〔23〕A.CPU B.PCI C.RAMD.IDE〔24〕A.B.RJ-45C.USBD.PS/2●操作系统的任务是 〔25〕 。〔25〕A.把源程序转换为目标代码B.管理计算机系统中的软、硬件资源C.负责存取数据库中的各种数据D.负责文字格式编排和数据计算●假如进程P1正在运行,操作系统强行撤下P1所占用的CPU,让具有更高优先级的进程P2运行,此时P1进程处于〔26〕 状态。〔26〕A.就绪B.等待C.完毕D.善后处理● 某页式存储管理系统中的地址结构如如下图所示,如此 〔27〕 。页号页内地址3112110〔27〕A.页的大小为1K,最多有8M页B.页的大小为2K,最多有4M页C.页的大小为4K,最多有1M页D.页的大小为8K,最多有2M页●关于汇编语言,以下表示中正确的答案是〔28〕 。〔28〕A.汇编语言源程序可以直接在计算机上运行B.将汇编语言源程序转换成目标程序的软件称为解释程序C.在汇编语言程序中,不能定义符号常量D.将汇编语言源程序翻译成机器语言程序的软件称为汇编程序●对高级语言源程序进展编译时,可发现源程序中的 〔29〕错误。〔29〕A.堆栈溢出B.变量未定义 C.指针异常D.数组元素下标越界●计算机程序=算法+数据结构+程序设计方法+语言工具和环境,其中关于程序设计的表示,正确的答案是〔30〕 。〔30〕A.程序设计语言与程序设计方法是一一对应的关系B.面向对象的程序设计语言只能支持面向对象的程序设计方法C.面向对象的程序设计技术与结构化程序设计技术是相互排斥的D.过程式程序设计是一种传统的程序设计方法●计算机能直接识别和执行机器语言程序,该语言的根本元素是〔31〕 。〔31〕A.汇编代码B.0和1C. 扩展ASCII码D.BCD码●假如二维数组P[1..5,0..8]的首地址为base,数组元素按行存储,且每个元素占用1个存储单元,如此元素P[3,3]在该数组空间的地址为 〔32〕 。〔32〕A.base+13B.base+16C.base+18D.base+21●设初始栈为空,s表示入栈操作,x表示出栈操作,如此 〔33〕是合法的操作序列。〔33〕A.sxxsssxxxB.xxssxxssC.sxsxssxxD.xssssxxx●在下面的程序代码中,a是全局变量。假如以引用调用〔callbyreference〕方式调用函数f,如此输出结果为〔34〕;假如以值调用〔callbyvalue〕方式调用函数f,输出结果为〔35〕。〔34〕A.10B.40C.36D.72〔35〕A.10B.40C.36D.72●满二叉树的特点是每层上的结点数都达到最大值,因此对于高度为h(h>1)的满二叉树,其结点总数为〔36〕。对非空满二叉树,由根结点开始,按照先根后子树、先左子树后右子树的次序,从1、2、3、…依次编号,如此对于树中编号为i的非叶子结点,其右子树的编号为〔37〕〔高度为3的满二叉树如如下图所示〕。〔36〕A.2B.2h-1C.2h–1D.2h-1+1〔37〕A.2iB.2i-1C.2i+1D.2i+2●在数据结构中,结点〔数据元素〕与结点间的相互关系组成数据的逻辑结构。按逻辑结构的不同,数据结构通常可分为 〔38〕两类。〔38〕A.线性结构和非线性结构B.紧凑结构和稀疏结构C.动态结构和静态结构D.内部结构和外部结构●采用哈希〔或散列〕技术构造查找表时,需要考虑冲突〔碰撞〕的处理,冲突是指〔39〕。〔39〕A.关键字一样的记录被映射到不同的哈希地址B.关键字依次被映射到编号连续的哈希地址C.关键字不同的记录被映射到同一个哈希地址D.关键字的数目超过哈希地址的数目●数据结构中的树最适合用来表示 〔40〕 的情况。〔40〕A.数据元素有序B.数据元素之间具有多对多关系C.数据元素无序D.数据元素之间具有一对多关系●某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如如下图所示〔M=8〕,如此队列中的元素数目为 〔41〕〔MOD表示整除取余运算〕。〔41〕A.rear–frontB.front–rearC.(rear–front+M)MODMD.(front–rear+M)MODM●二叉排序树或者是一棵空树,或者是具有如下性质的二叉树:假如其左子树非空,如此左子树上所有结点的值均小于根结点的值;假如其右子树非空,如此右子树上所有结点的值均大于根结点的值;其左、右子树本身就是两棵二叉排序树。根据该定义,对一棵非空的二叉排序树进展〔42〕遍历,可得到一个结点元素的递增序列。〔42〕A.先序〔根、左、右〕B.中序〔左、根、右〕C.后序〔左、右、根〕D. 层序〔从树根开始,按层次〕●对于n个元素的关键字序列{k1,k2,…,kn},假如将其按次序对应到一棵具有n个结点的完全二叉树上,使得任意结点都不大于其孩子结点(假如存在孩子结点),如此称其为小顶堆。根据以上定义,〔43〕是小顶堆。●如下关于结构化设计与面向对象设计的表示中,不正确的答案是〔44〕。〔44〕A.结构化设计以过程设计为核心B.面向对象设计以对象设计为核心C.结构化设计比面向对象设计更易支持数据结构的修改D.面向对象设计比结构化设计更易支持系统的维护●下面关于类、对象和实例的表示中,错误的答案是〔45〕 。〔45〕A.类是创建对象的模板B.对象是类的实例C.类是对象的实例D. 类是一组具有共同特征的对象集合●〔46〕不是面向对象程序设计语言。〔46〕A.XML B.Java C.C#D.Simula●面向对象中的〔47〕机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。〔47〕A.封装B.多态C.继承D. 变异●UML是一种〔48〕。〔48〕A.面向对象的程序设计语言B.面向过程的程序设计语言C.软件系统开发方法D.软件系统建模语言●软件设计活动中的〔49〕设计指定各个组件之间的通信方式以与各组件之间如何相互作用。〔49〕A.数据B.接口C.结构D.组件●原型化方法是动态确定软件需求的方法之一,该方法适应于〔50〕的系统。〔50〕A.需求不确定性高B.需求确定C.结构简单D.可移植性好●瀑布模型是传统的软件开发过程模型,它强调各阶段的严格性,其主要缺点是〔51〕。〔51〕A.需要软件人员和用户进展沟通B. 需要付出较高的维护本钱C.开发的软件不易于移植D. 不适应需求不确定的软件开发●将软件从一种计算机环境转换到另一种环境运行的难易程度是指软件的〔52〕。在规定的条件下和规定的时间间隔内,按设计要求,软件成功运行的特性称为〔53〕。〔52〕A.可靠性B.可移植性C. 可使用性 D. 灵活性〔53〕A.可靠性B.可移植性C. 可使用性 D. 正确性●软件测试是保证软件质量的关键活动,实施软件测试的可行目标是〔54〕。〔54〕A.证明软件不存在错误和缺陷B.验证程序的数据表示方式是否正确C.找出软件中的所有错误和缺陷D.尽量多地发现软件中的错误和缺陷●软件测试通常采用黑盒测试和白盒测试。其中黑盒测试根据软件的〔55〕设计测试用例,白盒测试根据软件的〔56〕设计测试用例。〔55〕A.功能规格说明B.需求说明C.内部结构和逻辑D.数据流图〔56〕A.功能规格说明B.需求说明C.内部结构和逻辑D.数据流图●数据库是在计算机系统中按照一定的数据模型组织、存储和应用的〔57〕的集合。提供数据库各种操作的软件系统叫做〔58〕。〔57〕A.命令B.程序C.数据D.文件〔58〕A.数据库系统B.文件系统C.操作系统D.数据库管理系统●对于如下图所示的Students和SC关系,属性Sno表示学号,Sname表示某某,Sex表示性别,SD表示专业,Age表示年龄,o表示课程号,Grade表示成绩。a.当用户查询“选了课程2的学生数〞时,其结果应为〔59〕;当Students和SC关系进展自然连接时,其结果集的属性列数应为〔60〕。〔59〕A.3B.4C.6D.7〔60〕A.6B.7C.8D.9b.查询“至少选修了两门课程的每个学生的平均成绩〞的SQL语句如下:SELECTSno, 〔61〕FROMSCGROUPBYSno〔62〕>1;〔61〕A.GradeB.SUM〔Grade〕/7C.AVG〔Grade〕D.SUM〔Grade〕/COUNT〔o〕〔62〕A.WHERECOUNT〔Sno〕B.WHERECOUNT〔DISTINCT〔Sno〕〕C.HAVINGCOUNT〔Sno〕D.HAVINGCOUNT〔DISTINCT〔Sno〕〕●软件开发工期以与所需的开发人数依赖于软件规模以与开发方式。有人对某种开发方式下软件的规模〔以千行源代码为单位〕、开发工期〔月数〕以与平均所需的开发人数做了统计,如下表所示:对于规模为12.8千行源代码〔KDSI〕的软件,利用上表以与线性插值方法,可以估算出,这种开发方式所需的开发工期〔月数〕与开发人数为〔63〕 。〔63〕A.9.0,3.0B.9.2,3.5C.9.5,3.8D.9.7,4.0●为了用二分法求函数f(x)=x3-2x2-0.1的根〔方程f(x)=0的解〕,可以选择初始区间〔64〕。也就是说,通过对该区间逐次分半可以逐步求出该函数的一个根的近似值。〔64〕A.[-2,-1]B.[-1,1]C.[1,2]D.[2,3]●设任意多面体的顶点数为V,边数为E,面数为F。请根据实例判断并选出正确反映这三者之间关系的公式(65)。〔65〕A.V+E=F+2 B.V+F=E+2 C.E*F=V+10 D.E+F=V+10●在TCP/IP传输层的段〔segment〕中,采用〔66〕来区分不同的应用进程。〔66〕A.端口号B.IP地址C. 协议类型D.MAC地址●在检测网络故障时使用的ping命令是基于〔67〕 协议实现的。〔67〕A.SNMP〔简单网络管理协议〕B.FTP〔文件传输协议〕C.IGMP〔互联网组管理协议〕D.ICMP〔互联网控制管理协议〕●在Outlook中,通常借助〔68〕来传送一个文件。〔68〕A.正文B.TelnetC.D. 附件功能●在WindowsServer2003操作系统中可以通过安装〔69〕组件创建FTP站点。〔69〕A.IISB.IEC.POP3D.DNS●某主机的IP地址为1/20,其子网掩码是〔70〕 。〔70〕A.B.C.D.●Thelineofputingjobswaitingtoberunonaputersystemmightbea(71).Thejobsareservicedintheorderoftheirarrival,thatis,thefirstinisthefirstout.(71)A.queueB. stackC. arrayD.record●The(72)isacollectionofmodulesservingasinterfacebetweenhardwareandsoftwaretoprovideasoftwareplatform.(72)A. puterB. processorC. applicationsoftwareD. operatingsystem●C++fullysupports(73)programming.(73)A. visualB. object-orientedC. logicD. naturallanguage●TheInternetisanopensystem,andmostinformationisavailabletoeveryone.Itisveryimportanttoadd (74)toexistingsystemforprotectingthesecretinformation.(74)A. WebpagesB. modemC.securityD.network●A(75)systemplacedbetweenthepanynetworkandtheoutsideworldmaylimitoutsideaccesstotheinternalnetwork.(75)A.firewallB.modemC. gatewayD. key2008年5月份程序员考试下午试题试题一〔共15分〕阅读以下说明和流程图,填补流程图中的空缺〔1〕~〔9〕,将解答填入答题纸的对应栏内。[说明]假设数组A中的各元素A(1),A(2),…,A(M)已经按从小到大排序〔M≥1〕;数组B中的各元素B(1),B(2),…,B(N)也已经按从小到大排序〔N≥1〕。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序〔注意:序列中一样的数全部保存并不计排列顺序〕。例如,设数组A中有元素:2,5,6,7,9;数组B中有元素:2,3,4,7;如此数组C中将有元素:2,2,3,4,5,6,7,7,9。

试题二〔共15分〕阅读以下说明和C程序,将应填入〔n〕处的字句写在答题纸的对应栏内。[说明]下面的程序按照以下规如此输出给定名词的复数形式:a.假如名词以“y〞结尾,如此删除y并添加“ies〞;b.假如名词以“s〞、“ch〞或“sh〞结尾,如此添加“es〞;c.其他所有情况,直接添加“s〞。[C程序]#include<stdio.h>#include<string.h>char*plural(char*word){intn;char*pstr;n=strlen(word);/*求给定单词的长度*/pstr=(char*)malloc(n+3);/*申请给定单词的复数形式存储空间*/if(!pstr||n<2)returnNULL;strcpy(pstr,word);/*复制给定单词*/if((1)){pstr[n-1]='i';pstr[n]='e';pstr[n+1]='s';(2);}elseif(pstr[n-1]=='s'||pstr[n-1]=='h'&&((3))){pstr[n]='e';pstr[n+1]='s';pstr[n+2]='\0';}else{pstr[n]='s';pstr[n+1]='\0';}(4);}main(){inti;char*ps;charwc[9][10]={"chair","dairy","boss","circus","fly","dog","church","clue","dish"};for(i=0;i<9;i++){ps=(5);printf("%s:%s\n",wc[i],ps);/*输出单词与其复数形式*/free(ps);/*释放空间*/}system("pause");}试题三〔共15分〕阅读以下说明和C程序,将应填入〔n〕处的字句写在答题纸的对应栏内。[说明]下面的程序用DoleRob算法生成N阶〔N为奇数〕魔方阵〔各行、列、对角线数字之和相等〕。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止:a. 在第一行的正中插入1;b. 新位置应当处于最近插入位置的右上方,假如该位置已超出方阵的上边界,如此新位置取应选列的最下一个位置;假如超出右边界,如此新位置取应选行的最左一个位置;c. 假如最近插入的元素是N的整数倍,如此选同列的下一行位置为新位置。例如,3阶魔方阵如下所示:816357492[C程序]#include<stdio.h>#include<stdlib.h>#defineSIZE50main(){introw,col,n,value;inta[SIZE+1][SIZE+1];/*不使用下标为0的元素*/printf("请输入要输出魔方阵的阶数n(奇数,<%d):n=",SIZE);scanf("%d",&n);if(!(n%2)||n<1||(1)){printf("输入数据有误!\n");exit(0);}row=1;col=(n+1)/2;value=1;while(value<=(2)){a[row][col]=value;/*计算下一位置*/if(value%n!=0){row--;(3);if(row<1)row=n;if(col>n)(4);}elserow++;value= (5);}printf("\n%d阶魔方阵如下所示:\n\n",n);for(row=1;row<=n;row++){for(col=1;col<=n;col++)printf("%5d",a[row][col]);printf("\n");}试题四〔共15分〕阅读以下说明和C函数,将应填入〔n〕处的字句写在答题纸的对应栏内。[说明]计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*(120-37)〞的后缀表达式形式为“46512037-*+〞。计算后缀表达式时,从左至右扫描后缀表达式:假如遇到运算对象,如此压入栈中;遇到运算符,如此从栈中弹出相关运算对象进展计算,并将运算结果压入栈中,重复以上过程,直到后缀表达式扫描完毕。例如,后缀表达式“46512037-*+〞的计算过程为:a.依次将46、5、120、37压入栈中;b.遇到“-〞,取出37、120,计算120–37,得83,将其压入栈中;c.遇到“*〞,取出83、5,计算5*83,得415,将其压入栈中;d.遇到“+〞,取出415、46,计算46+415,得461,将其压入栈中;e.表达式完毕,如此计算过程完成。函数puting(charexpr[],int*result)的功能是基于栈计算后缀形式的表达式〔以串形式存入字符数组expr〕的值,并通过参数result返回该值。函数的返回值为-1/0分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+〞)、减(“-〞)、乘(“*〞)、除(“\〞)。函数puting中所用栈的根本操作的函数原型说明如下:voidInitStack(STACK*s):初始化栈。voidPush(STACK*s,inte):将一个整数压栈,栈中元素数目增1。voidPop(STACK*s):栈顶元素出栈,栈中元素数目减1。intTop(STACKs):返回非空栈的栈顶元素值,栈中元素数目不变。intIsEmpty(STACKs):假如s是空栈,如此返回1否如此返回0。[C函数]intputing(charexpr[],int*result){STACKs;inttnum,a,b;char*ptr;InitStack(&s);ptr=expr;while(*ptr!='\0'){/*字符指针指向后缀表达式串的第一个字符*/if(*ptr==''){/*当前字符是空格*/(1);/*字符指针指向下一字符*/continue;}elseif(isdigit(*ptr)){/*当前字符是数字,如此将该数字开始的数字串转换为数值*/tnum=(2);while(*ptr>=’0’&&*ptr<=’9’){tnum=tnum*10+(3);ptr++;}Push((4));}else/*当前字符是运算符或其他符号*/if(*ptr=='+'||*ptr=='-'||*ptr=='*'||*ptr=='/'){if(!IsEmpty(s)){a=Top(s);Pop(&s);/*取运算符的第二个运算数*/if(!IsEmpty(s)){b=Top(s);Pop(&s);/*取运算符的第一个运算数*/}elsereturn-1;}elsereturn-1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论