主观题

阅读以下说明和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;
}

查看答案
该试题由用户678****15提供 查看答案人数:13615 如遇到问题请 联系客服
正确答案
该试题由用户678****15提供 查看答案人数:13616 如遇到问题请联系客服

相关试题

换一换
判断题
在C程序中,函数调用遵循先说明后调用的原则,因此,先说明的函数不能调用后说明的函数
答案
主观题
中国大学MOOC: C语言中,将两个字符串进行连接的函数为_____________(只写函数名即可)。
答案
主观题
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明1]函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。[C函数] int isPrime(int n) { int k, t; if (n==2) return 1; if(n<2 || ______)return 0; /*小于2的数或大于2的偶数不是素数// t=(int)Sqrt(n)+1; for(k=3; k<t; k+=2) if(______) return 0; return 1; }[说明2]函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。[C函数]int minOne(int arr[],int k){int t;assert(k>0);if(k==1)return ______;t=minOne(arr+1,______);if(arr[0]<t)return amr[0];return ______;}
答案
主观题
C语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为
答案
单选题
C中若函数类型未加显式说明,则函数的隐含类型为________类型。
A.void B.int C.char D.double
答案
主观题
有以下函数: def fun (a,b,c):
答案
判断题
函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}
答案
单选题
C程序中若函数类型未加显式说明,则函数的隐含类型为()类型。
A.void B.int C.char D.double
答案
主观题
C 语言中,若未说明函数的类型,则系统默认该函数的类型是 ( ) 。
答案
判断题
C程序中,若对函数类型未加显示说明,则函数的隐含类型为“int”
答案
热门试题
在C程序中,若对函数类型未加说明,则函数的隐含类型为_________ C语言允许函数中定义函数 试题二(共15 分)阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】 假定: (a)消费函数为c=50+0.8y,投资函数为=100(亿美元)- 5r; (b)消费函数为c=50 +0. 8y,投资函数为=100(亿美元)- 1Or; (c)消费函数为c=50 +0. 75y,投资函数为i=100(亿美元)- 1Or。 (1)求(a)、(b)、(c)的IS曲线。 (2)比较(a)和(b),说明投资对利率更敏感时,IS曲线的斜率发生什么变化。 (3)比较(b)和(c),说明边际消费倾向变动时,IS曲线的斜率发生什么变化。 阅读以下说明,回答【问题1】~【问题6】,将解答填入对应的解答栏内。【说明】 假定: (a)消费函数为c=50+0.8y,投资函数为=100(亿美元)- 5r; (b)消费函数为c=50 +0. 8y,投资函数为=100(亿美元)- 1Or; (c)消费函数为c=50 +0. 75y,投资函数为i=100(亿美元)- 1Or。 (1)求(a)、(b)、(c)的IS曲线。 (2)比较(a)和(b),说明投资对利率更敏感时,IS曲线的斜率发生什么变 C++中构造函数和析构函数可以抛出异常吗()。 以下叙述中正确的是: C语言总是从main函数开始执行|在C语言中总从第一个开始定义的函数开始执行|在C语言中所有调用别的函数必须在main函数中定义|在C语言中,main函数必须放在最前面 以下说法中正确的是: C语言程序中的main()函数必须放在程序的开始部分|C语言程序总是从main()函数开始执行|C语言程序总是从第一个定义的函数开始执行|在C语言程序中,要调用的函数必须放在main()函数中定义 若在 C 语言中未说明函数的类型,则系统默认该函数的数据类型是【 】 在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是____类型 在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为() 以下叙述不正确的是: C程序的基本组成单位是函数|一个C 源程序可由一个或多个函数组成|一个C源程序必须包括一个main函数|在C程序中,注释说明只能位于一条语句的后面 scanf函数是c语言的标准输入函数。 在关系模式R(U)中,属性组A,B,C均为U的子集,如果存在以下函数依赖:A->B,B->C,那么函数依赖A->C 下列关于main函数的说法正确的是: main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 main函数必须放在C程序的开头 main函数必须放在C程序的最后 以下叙述正确的是: C程序中所有函数之间都可以相互调用,与函数所在位置无关|在 C 程序中 main( ) 函数的位置是固定的|在 C 程序的函数中不能定义另一个函数|每个C程序文件中都必须要有一个main( ) 函数 中国大学MOOC: C语言支持在一个函数定义前加上( )修饰,将函数设置成内部函数。 C++中,关于构造函数和析构函数,正确的描述是___ C++函数的声明和定义可以分开,函数声明不需要()。
购买搜题卡 会员须知 | 联系客服
会员须知 | 联系客服
关注公众号,回复验证码
享30次免费查看答案
微信扫码关注 立即领取
恭喜获得奖励,快去免费查看答案吧~
去查看答案
全站题库适用,可用于E考试网网站及系列App

    只用于搜题看答案,不支持试卷、题库练习 ,下载APP还可体验拍照搜题和语音搜索

    支付方式

     

     

     
    首次登录享
    免费查看答案20
    微信扫码登录 账号登录 短信登录
    使用微信扫一扫登录
    登录成功
    首次登录已为您完成账号注册,
    可在【个人中心】修改密码或在登录时选择忘记密码
    账号登录默认密码:手机号后六位