题目详情
当前位置:首页 > 计算机考试 > 软件测试工程师
题目详情:
发布时间:2023-10-05 00:39:50

[简答题]已知C源程序如下:
/*分数运算 fsys.c*/
#include<stdio.h>
int main( )

long int a,b,c,d,i,x,y,z;
char op;
printf("两分数b/a,d/c作+、-、*、/四则运算。结果为分数。/n");
printf("请输入分数运算式:b/a op d/c/n");
scanf("%ld/%ld%c%ld%ld",&b,&a,&op,&d,&C) ;
if(a==0||c==0)
printf("分母为0,输入错误!/n");
return(0);

if(op==’+’)
y=b*c+d*a;
x=a*c; /*运算结果均为y/x*/

if(op==’-’)
y=b*c-d*a;
x=a*c;

if(op==’*’)
y=b*d;
x=a*c;

if(op==’/’)
y=b*c;
x=a*d;

z=x;
if(x>y)z=y;
i=z;
while(i>1)
if(x%i==0&&y%i==0)x=x/i;y=y/i;continue;;
i——;

printf("%ld/%ld%c%ld/%ld=%ld/%ld./n",b,a,op,d,c,y,x);
return 0;

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

更多"已知C源程序如下: /*分数运算 fsys.c*/ #includ"的相关试题:

[简答题]

已知C源程序如下:
/*分数运算 fsys.c*/
#include<stdio.h>
int main( )

long int a,b,c,d,i,x,y,z;
char op;
printf("两分数b/a,d/c作+、-、*、/四则运算。结果为分数。/n");
printf("请输入分数运算式:b/a op d/c/n");
scanf("%ld/%ld%c%ld%ld",&b,&a,&op,&d,&C) ;
if(a==0||c==0)
printf("分母为0,输入错误!/n");
return(0);

if(op==’+’)
y=b*c+d*a;
x=a*c; /*运算结果均为y/x*/

if(op==’-’)
y=b*c-d*a;
x=a*c;

if(op==’*’)
y=b*d;
x=a*c;

if(op==’/’)
y=b*c;
x=a*d;

z=x;
if(x>y)z=y;
i=z;
while(i>1)
if(x%i==0&&y%i==0)x=x/i;y=y/i;continue;;
i——;

printf("%ld/%ld%c%ld/%ld=%ld/%ld./n",b,a,op,d,c,y,x);
return 0;
 

[简答题]论述题3(20分): 已知C源程序如下: /*分数运算 fsys.c*/ #include<stdio.h> int main( ) { long int a,b,c,d,i,x,y,z; char op; printf("两分数b/a,d/c作+、-、*、/四则运算。结果为分数。/n"); printf("请输入分数运算式:b/a op d/c/n"); scanf("%ld/%ld%c%ld%ld",&b,&a,&op,&d,&c); if(a==0||c==0){ printf("分母为0,输入错误!/n"); return(0); } if(op==’+’){ y=b*c+d*a; x=a*c; /*运算结果均为y/x*/ } if(op==’-’){ y=b*c-d*a; x=a*c; } if(op==’*’){ y=b*d; x=a*c; } if(op==’/’){ y=b*c; x=a*d; } z=x; if(x>y)z=y; i=z; while(i>1){ if(x%i==0&&y%i==0){x=x/i;y=y/i;continue;}; i——; } printf("%ld/%ld%c%ld/%ld=%ld/%ld./n",b,a,op,d,c,y,x); return 0; } 画出程序中main函数的控制流程图。
[简答题]

已知检查括号匹配及注释、字符串处理的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==&rsqu

[简答题]

已知C源程序如下:
#include #include void reverse(char s[]){ int c,i,j; for(i=0,j=strlen(s)-1;i0){ if(number%16<10) s[i++]=number%16+0; else switch(number%16){ case 10:s[i++]=A;break; case 11:s[i++]=B;break; case 12:s[i++]=C;break; case 13:s[i++]=D;break; case 14:s[i++]=E;break; case 15:s[i++]=F;break; default:printf("Error");break; } number/=16; } s[i]=//0; reverse(s); } int main( ){ unsigned int number; int i=0; char s[50]; printf("%s","please input number://n"); scanf("%d",&number); getHex(number,s); i=0; while(s[i]) printf("%c",s[i++]); return 0; }

画出程序中所有函数的控制流程图;
[简答题]

论述题3: 已知C源程序如下: /*longIntAdd*/ #include<stdio.h> #include<string.h> #define LENGTH 81 void addLInt(char s1[],char s2[]); void reverse(char s[]); int main( ) { char intstr1[LENGTH],intstr2[LENGTH]; printf("请输入超长整数的被加数和加数:/n"); scanf("%s%s",intstr1,intstr2); addLInt(intstr1,intstr2); printf("超长整数和为:%s",intstr1); return 0; } void addLInt(char s1[],char s2[]) { int i=0,tmp,c=0; char s[LENGTH]; if(strlen(s1)<strlen(s2)){ strcpy(s,s1); strcpy(s1,s2); strcpy(s2,s); } reverse(s1);reverse(s2); while(s2[i]!=;/0’){ tmp=s1[i]-’0’+s2[i]-’0’+c; 81[i]=tmp%10+’0’; c=tmp/10; i++; } while(si[1]!=’/0’&&c){ tmp=s1[i]-’0’+c; s1[i]=tmp%10+’0’; c=tmp/10; i++; } If(c){ s1[i++]=c+’0’; s1[i]=’/0’; } reverse(s1); } void reverse(char s[]) { int i,j,c; for(i=0,j=strlen(s)-1;i<j;i++,j--){ c=s[i]; s[i]=s[j]; s[j]=c; } }

画出程序中函数addLInt的控制流程图;
[简答题]

已知检查括号匹配及注释、字符串处理的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*/

[单项选择]已知下列函数定义:
fun(int%,int c,int n,int data)
int k;
for(k=0;k<m*n;k++)
*b=data;
b++;

则调用此函数的正确写法是(假设变量a的说明为int a[50])()。
A. fun(*a,4,5,1);
B. fun(&a,4,5,1);
C. fun((int*)a,4,5,1);
D. fun(a,4,5,1);
[填空题]已知有函数f的定义如下: int f( ){ static int s=0; s+=2; return s; } 则在某程序中第2次执行函数调用语句f( );时,函数f的返回值是 【8】
[单项选择]已知类MyClass声明如下:

class MyClass

int n;

public:

MyClass(int k):n(k)

int getValue( )constreturn n;

;

在下列数组定义中正确的是
A. MyClass x1[2];
B. MyClass x2[2]= new MyClass(1),new MyClass(2);
C. MyClass*x3[2];
D. MyClass*x4[2]= MyClass(1),MyClass(2);
[简答题]已知二叉树的定义如下:typedef struct node{ int data; struct node *lchild, *rchild;}*Bitptr;编写递归算法求二叉树的高度。函数原型为:int f34(Bitptr t);
[填空题]已知递归函数fun的定义如下:
int fun(int n)
{
if(n<=1) return 1;//递归结束情况
else return n *fun(n-2);//递归}
则函数调用语句fun(5) 的返回值是______。
[填空题]已知递归函数f的定义如下: int f(int n) { if(n<=1)return 1; //递归结束情况 else return n*f(n-2);//递归) 则函数调用语句f(5)的返回值是______。

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码