首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C函数,将(1)~(5)空缺处的字句填写完整。 [说明] 计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*120-37)”的后缀表达式形式为“46 5 120 37-*+”。 计算后缀表达式时,
阅读以下说明和C函数,将(1)~(5)空缺处的字句填写完整。 [说明] 计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*120-37)”的后缀表达式形式为“46 5 120 37-*+”。 计算后缀表达式时,
admin
2010-01-15
34
问题
阅读以下说明和C函数,将(1)~(5)空缺处的字句填写完整。
[说明]
计算机在处理算术表达式时,首先将其转换为后缀表达式。例如,表达式“46+5*120-37)”的后缀表达式形式为“46 5 120 37-*+”。
计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出相关运算对象进行计算,并将运算结果压入栈中。重复以上过程,直到后缀表达式扫描结束。例如,后缀表达式“46 5 120 37-*+”的计算过程如下:
a.依次将46、5、120、37压入栈中;
b.遇到“-”,取出37、120,计算120-37=83,将其压入栈中;
c.遇到“*”,取出83、5,计算5×83=415,将其压入栈中;
d.遇到“+”,取出415、46,计算46+415=461,将其压入栈中;
e.表达式结束,则计算过程完成。
函数computing(char expr[],int*result)的功能是基于栈计算后缀形式的表达式(以串形式存入字符数组 expr)的值,并通过参数result返回该值。函数的返回值为-1/0,分别表示表达式有/无错误。假设表达式中仅包含数字、空格和算术运算符号,其中所有项均以空格分隔,且运算符仅包含加(“+”)、减(“-”)、乘(“*”)、除(“\”)。
函数computing中所用栈的基本操作的函数原型说明如下。
● void InitStack(STACK*s):初始化栈。
● void Push(STACK*s,int e):将一个整数压栈,栈中元素数目增1。
● void Pop(STACK*s):栈顶元素出栈,栈中元素数目减1。
● int Top(STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。
● int IsEmpty(STACKs):若s是空栈,则返回1;否则返回0。
[C函数]
选项
答案
是一道考查栈结构在后缀表达式求值过程中应用的分析题。利用栈计算后缀表达式时,从左至右扫描后缀表达式:若遇到运算对象,则压入栈中;遇到运算符,则从栈中弹出对应数目的运算对象进行计算,并将运算结果压入栈中。重复以上过程,直到后缀表达式扫描结束,最后栈顶就是表达式的计算结果。 根据题干中的说明,由于后缀表达式以字符串方式存储且以空格分隔符号(数值、算符),因此遇到空格字符时,指向表达式中字符的指针ptr应增加1指向后续字符,因此,(1)空缺处应填入“ptr++”或其等价形式。下面以字符串“375”为例说明将一个数字串转换为数值的过程。 数值375=((0×10+3)×10+7)×10+5 (1)取得数字字符“3”(ASCII码值为51,字符0的ASCII码值为48)。 [*] (2)取得数字字符“7” (ASCII码值为55)。 [*] (3)取得数字字符“5” (ASCII码值为53)。 [*] 以下程序代码用于将一个数字字符串转换为对应的整数存入tnum,显然,tnum的初始值应为0。 [*] 因此,(2)空缺处应填入“0”。对于(3)空缺所在表达式的功能是:将数字字符转换为数值,因此 (3)空缺处填入“*ptr-48”。 (4)空缺处用于将转换所得的数值tnum压入栈顶,根据题目中Push的原型“void Push(STACK*s,int e)”,调用时第一个实际参数是STACK类型变量的地址,第二个实际参数是一个整数,因此,(4)空缺处填入“&s,tnum”。 由于函数computing(char expr[],int*result)通过参数result返回该表达式的值,因此需要将存在栈顶的运算结果赋值给result指向的整型变量,即(5)空缺处填入“*result”。 本试题目还考查了参数传递知识,读者可通过上机实践加强基本概念的理解,以及C程序设计能力的培养。
解析
转载请注明原文地址:https://kaotiyun.com/show/nSDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。 信号量
假设某公司营销系统有营销点关系S(营销点,负责人姓名,联系方式)、商品关系P(商品名,条形码,型号,产地,数量,价格),其中,营销点唯一标识S中的每一个元组。每个营销点可以销售多种商品,每一种商品可以由不同的营销点销售。关系S和P的主键分别为(15),S
某企业职工关系EMP(E_no,E_name,DEPT,E_addr,E_tel)中的属性分别表示职工号、姓名、部门、地址和电话;经费关系FUNDS(E_no,E_limit,E_used)中的属性分别表示职工号、总经费金额和已花费金额。若要查询部门为“开
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天)。活动EH最多可以晚开始①天而不影响项目的进度。由于某种原因,现在需要同一个工作人员完成BC和BD,则完成该项目的最少时间为②天
根据输入输出等价类边界上的取值来设计用例的黑盒测试方法是______。
以下关于瀑布模型的优点的叙述中,不正确的是______。
以下关于防火墙功能特性的说法中,错误的是______。
某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测
序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号;程序功能描述;接口与界面描述;输入输出数据说明:开发历史;与运行环境有关的信息等。下列叙述中不属于序言性注释的是(23)。
随机试题
A.心房肌、心室肌B.浦肯野纤维C.房室交界的结区D.窦房结E.心房肌、心室肌和结区属于快反应非自律细胞的是
“精气夺则虚”的特点是
有关游离皮片移植的下列描述,正确的是
下列选项中,能有效刺激促红细胞生成素血浆含量增加的是()。
按照刑法规定,在战时,对被判处3年以下有期徒刑没有现实危险宣告缓刑的犯罪军人,允许其戴罪立功,确有立功表现时,可以( )。
VL公司正在对以下的两个方案进行评价。两个方案都在明年1月1日开始实行。方案1——购买一台新抛磨机:该机器的成本为$1000000,有效使用时间为5年。在未来5年,每年因人工成本节省得到的净税前现金流为$100000。出于融资和税收目的,折旧使用直线法计算
在各类多媒体教学软件中,()教学软件的最大优势在于可以使学习者在与真实情景相似的环境下进行各种练习。
我国教育目的的理论基础是()
下列属于再造想象的是()。
下列关于计算机病毒的说法中,正确的是()。
最新回复
(
0
)