首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和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
66
问题
阅读以下说明和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
软件设计师下午应用技术考试
软考中级
相关试题推荐
某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、…,位示图字依次编号为:0、1、2、…,那么16385号物理块的使用情况在位示图中的第(24)个字中描述;如果磁盘的
在统一建模语言(UML)中,描述系统与外部系统及用户之间交互的图是(8)。
CMM模型将软件过程的成熟度分为5个等级。在(21)使用定量分析来不断地改进和管理软件过程。
假设系统有n(n≥5)个并发进程共享资源R,且资源R的可用数为2。若采用PV操作,则相应的信号量S的取值范围应为______。
以下关于防火墙功能特性的说法中,错误的是______。
计算机系统中,CPU对主存的访问方式属于________________。
假设关系R1和R2如下图所示:若进行R1R2运算,则结果集分别为(1)元关系,共有(2)个元组。(2)
假设关系R1和R2如下图所示:若进行R1R2运算,则结果集分别为(1)元关系,共有(2)个元组。(1)
在各种不同的软件需求中,()描述了产品必须要完成的任务,可以在用例模型中予以说明。
某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:部门(部门代码,部门名称,电话)员工(员工代码,姓名,部门代码)顾客(顾客号,姓名,年龄,性别)维修(顾客号,故障情况,维修日期,员工代码)假设每个部门允许有多部电话,则电话属性为
随机试题
(2018年枣庄市中区)1980年,江西省奉新县边远山村教师奇缺。时年只有十九岁的南昌市进贤县姑娘支月英不顾家人反对,远离家乡,只身来到离家两百多公里、离乡镇45公里、海拔近千米且道路不通的泥洋小学,成了一名深山女教师。一到白洋教学点,她发现这里条件比想
介绍了药物的理化性质和药理作用的是记录药物不良反应的临床表现,临床病例及相关文献的参考书为
肾病综合征最主要的临床特点是
男,28岁。车祸后胸痛、呼吸困难40分钟。曾咳出少量血痰,无恶心、呕吐,无腹胀、腹痛,无意识障碍。查体:P118次/分,R26次/分,BP90/60mmHg。气管右偏,左侧胸壁皮肤淤青,无皮下气肿,左侧4、5、7肋骨触痛明显,可触及骨擦感,左胸叩诊鼓
釉面内墙砖按图案和施釉的特点可分为()等。
2×15年11月1日,甲公司与乙公司签订一项不可撤销的产品销售合同。合同规定:甲公司应于6个月后向乙公司交付A产品100件,每件的不含税售价为3万元。乙公司预付定金50万元,如甲公司违约,甲公司应双倍返还定金。至2×15年末,甲公司已发生成本30万元,因原
[2016年第39题]有专家指出,我国城市规划缺少必要的气象论证,城市的高楼建得高耸而密集,阻碍了城市的通风循环。有关资料显示,近几年国内许多城市的平均风速已下降10%。风速下降,意味着大气扩散能力减弱,导致大气污染物滞留时间延长,易形成雾霾天气和热岛效应
生命权是人的尊严的基础,具有神圣性与不可转让性,不可非法剥夺。下列属于公民的生命权的是()
有以下程序:#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",
A、Hefellinatrapmadebyahunter.B、Hehurthisbrainbystayingunderwater.C、Hewasdrownedinanicyriver.D、Hewastrap
最新回复
(
0
)