登录/
注册
下载APP
帮助中心
首页
考试
APP
当前位置:
首页
>
查试题
>
可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,();对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,()。这两种情况都表明所检查的算术表达式括号不匹配
单选题
可以用栈来检查算术表达式中的括号是否匹配。分析算术表达式时,初始栈为空,从左到右扫描字符,遇到字符“(”就将其入栈,遇到“)”就执行出栈操作。对算术表达式“(a+b*(a+b))/c)+(a+b)”,检查时,();对算术表达式“((a+b/(a+b)-c/a)/b”,检查时,()。这两种情况都表明所检查的算术表达式括号不匹配
A. 栈为空却要进行出栈操作
B. 栈已满却要进行入栈操作
C. 表达式处理已结束,栈中仍留有字符“(”
D. 表达式处理已结束,栈中仍留有字符“)”
查看答案
该试题由用户253****56提供
查看答案人数:35048
如遇到问题请
联系客服
正确答案
该试题由用户253****56提供
查看答案人数:35049
如遇到问题请
联系客服
搜索
热门试题
算术表达式中,算术运算符的优先级次序为( )。
在Visual Basic中表达式a=10的类型是算术表达式()
在SQL的算术表达式中,如果其中有空值,则表达式()
●算术表达式采用逆波兰式表示时不用括号,可以利用(20)进行求值。与逆波
算术表达式a+b*(c+d/e)转为后缀表达式后为( )。
算术表达式a+b*(c+d/e)可转换为后缀表达式( )。
●算术表达式采用逆波兰式表示时不用括号,可以利用(20)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是 (21) 。(20)
以下哪个关系表达式,可以表示算术关系式:10<=x<=y()
以下哪个关系表达式,可以表示算术关系式:10<=x<=y()
算术表达式10*10/6*6的值为______。
在宏的表达式中引用窗体控件的值可以用表达式______。
数学表达式“In(exy+|arctan(x)|cos3x)”对应的Visual Basic算术表达式是______。
算术表达式”(a-b)*(c+d)”的后缀是( )
程序中的算术表达式属于高级程序语言中的成分
表达式可以用__来改变运算符的优先性
Python的表达式中,可以用什么符号来控制计算的优先顺序()
Python的表达式中,可以用什么符号来控制计算的优先顺序()
算术表达式"(a-b)*(c+d)"的后缀式是 () 。
算术表达式“(a-b)*(c+d)”的后缀式是( )。“”
阅读以下说明和C函数,填补C函数中的空缺(1)~(5),将解答写在答题纸的对应栏内。【说明】假设一个算术表达式中可以包含以下三种括号:“(”和“)”、"[”和“]”、“{”和“}”,并且这三种括号可以按照任意的次序嵌套使用。下面仅考虑表达式中括号的匹配关系,其他问题暂时忽略。例如,表达式“[a.(b.5)】*c【{}】”中的括号是完全匹配的,而表达式“【a-(b-5]))*c”中的括号不是完全匹配的,因为“(”与“】”不能匹配,而且多了一个“)”,即缺少一个与“)”相匹配的“(”。函数ifmatched (char expr[])的功能是用栈来判断表达式中的括号是否匹配,表达式以字符串的形式存储在字符数组expr中。若表达式中的括号完全匹配,则该函数的返回值为Matched,否则返回值为Mismatched。该函数的处理思路如下:(1)设置一个初始为空的栈,从左至右扫描表达式。(2)若遇上左括号,则令其入栈;若遇上右括号,则需要与栈顶的左括号进行匹配。(3)若所遇到的右括号能与栈顶的左括号配对,则令栈顶的左括号出栈,然后继续匹配过程;否则返回Mismatched,结束判断过程。(4)若表达式扫描结束,同时栈变为空,则说明表达式中的括号能完全匹配,返回Matched。函数ifMatched中用到了两种用户自定义数据类型BOOL和STACK,其中,BOOL类型的定义如下:typedef enum {Mismatched, Matched}BOOL; STACK(即栈类型)的定义省略,栈的基本操作的函数原型说明如下:void InitStack(STACK *S):初始化一个空栈。void Push(STACK *S,char e):将一个字符压栈,栈中元素数目增1。void Pop(STACK *S):栈顶元素出栈,栈中元素数目减1。char Top(STACK S):返回非空栈S的栈顶元素值,栈中元素数目不变。int IsEmpty(STACK S):若S是空栈,则返回1,否则返回0。【C 函数】BOOL ifMatched (char expr[ ]){char *cptr; /* cptr 指向表达式中的字符*/STACK S;char e; InitStack(&S} ; /*构造一个空栈*/for(cptr = expr; *cptr!= "" (1) {if ( *cptr== " (" || *cptr ==" [" , || *cptr ==" {" )(2);else if ( *cptr==")" || *cptr== "]" || *cptr=="}" ) { if (IsEmpty (S) )return Mismatched; e =(3) ; /*取栈顶的左括号*/ if ( *cptr ==")" ,&& e!=" (" ) return Mismatched; if ( *cptr =="]" && e!=" [" ) return Mismatched; if ( *cptr ==")" && e!="{" )return Mismatched;(4) ; /*梭顶的左括号出校*/ }}if ((5)) return Matched;return Mismatched;}
购买搜题卡
会员须知
|
联系客服
免费查看答案
购买搜题卡
会员须知
|
联系客服
关注公众号,回复验证码
享30次免费查看答案
微信扫码关注 立即领取
恭喜获得奖励,快去免费查看答案吧~
去查看答案
全站题库适用,可用于聚题库网站及系列App
只用于搜题看答案,不支持试卷、题库练习 ,下载APP还可体验拍照搜题和语音搜索
支付方式
首次登录享
免费查看答案
20
次
账号登录
短信登录
获取验证码
立即登录
我已阅读并同意《用户协议》
免费注册
新用户使用手机号登录直接完成注册
忘记密码
登录成功
首次登录已为您完成账号注册,
可在
【个人中心】
修改密码或在登录时选择忘记密码
账号登录默认密码:
手机号后六位
我知道了