大学职业搜题刷题APP
下载APP
首页
课程
题库模板
Word题库模板
Excel题库模板
PDF题库模板
医考护考模板
答案在末尾模板
答案分章节末尾模板
题库创建教程
创建题库
登录
logo - 刷刷题
创建自己的小题库
搜索
【简答题】

已知检查括号匹配及注释、字符串处理的C源程序如下:
#include<stdio.h>

int brace,brack,paren;

void in_quote(int c);
void in_comment(void);
void search(int c);

/*rudimentary syntax checKer for C program*/
int main()

int c;
extern int brace,brack,paren;
while((c=getchar())!=EOF)
if(c==’/’)
if((c=getchar())==’*’)
in_comment(); /*inside comment*/
else
search(C) ;
else if(c==’\"||c=="")
in_quote(c); /*inside quote*/
else
search(c);
if(brace<0) /*output errors*/
printf("Unbalanced braces\n");
brace=0;
else if(brack<0)
printf("Unbalanced brackets\n");
brack=0;
else if(paren<0)
printf("Unbalanced parentheses\n");
paren=0;


if(brace>0) /*output errors*/
printf("Unbalanced braces\n");
if(brack>0)
printf("Unbalanced brackets\n");
if(paren>0)
printf("Unbalanced parentheses\n");
return 0;

/*search:search for rudimentary syntax errors*/
void search(int c)

extern int brace,brack,paren;
if(c==’’)
++brace;
else if(c==’’)
--brace;
else if(c==’[’)
++brack;
else if(c==’]’)
--brack;
else if(c==’(’)
++paren;
else if(c==’)’)
--paren;

/*in_comment:inside of a valid comment*/
void in_comment(void)

int c,d;
c=getchar();
d=getchar(); /*curr character*/
while(c!=’*’||d!=’/’) /*search for end*/
c=d;
d=getchar();


/*in_quote:inside quote*/
void in_quote(int c)

int d;
while((d=getchar())! =c) /*search end quote*/
if(d==’\\’)
getchar(); /*ignore escape seq*/

设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率均能达到100%。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。

已知检查括号匹配及注释、字符串处理的C源程序如下:
#include<stdio.h>

int brace,brack,paren;

void in_quote(int c);
void in_comment(void);
void search(int c);

/*rudimentary syntax checKer for C program*/
int main()

int c;
extern int brace,brack,paren;
while((c=getchar())!=EOF)
if(c==’/’)
if((c=getchar())==’*’)
in_comment(); /*inside comment*/
else
search(C) ;
else if(c==’\"||c=="")
in_quote(c); /*inside quote*/
else
search(c);
if(brace<0) /*output errors*/
printf("Unbalanced braces\n");
brace=0;
else if(brack<0)
printf("Unbalanced brackets\n");
brack=0;
else if(paren<0)
printf("Unbalanced parentheses\n");
paren=0;


if(brace>0) /*output errors*/
printf("Unbalanced braces\n");
if(brack>0)
printf("Unbalanced brackets\n");
if(paren>0)
printf("Unbalanced parentheses\n");
return 0;

/*search:search for rudimentary syntax errors*/
void search(int c)

extern int brace,brack,paren;
if(c==’’)
++brace;
else if(c==’’)
--brace;
else if(c==’[’)
++brack;
else if(c==’]’)
--brack;
else if(c==’(’)
++paren;
else if(c==’)’)
--paren;

/*in_comment:inside of a valid comment*/
void in_comment(void)

int c,d;
c=getchar();
d=getchar(); /*curr character*/
while(c!=’*’||d!=’/’) /*search for end*/
c=d;
d=getchar();


/*in_quote:inside quote*/
void in_quote(int c)

int d;
while((d=getchar())! =c) /*search end quote*/
if(d==’\\’)
getchar(); /*ignore escape seq*/

手机使用
分享
复制链接
新浪微博
分享QQ
微信扫一扫
微信内点击右上角“…”即可分享
反馈
收藏 - 刷刷题收藏
举报
参考答案:
举一反三
相关题目:
刷刷题-刷题-导入试题 - 刷刷题
参考解析:
AI解析
重新生成
题目纠错 0
发布
刷刷题-刷题-导入试题 - 刷刷题刷刷题-刷题-导入试题 - 刷刷题刷刷题-刷题-导入试题 - 刷刷题
刷刷题-刷题-导入试题 - 刷刷题
刷刷题-刷题-导入试题 - 刷刷题
刷刷题-单词鸭