针对一下C语言程序,请按要求回答问题。 已知weekday. c源程序如下: include<stidio. h> include<c

题目
针对一下C语言程序,请按要求回答问题。 已知weekday. c源程序如下: include include

针对一下C语言程序,请按要求回答问题。

已知weekday. c源程序如下:

include<stidio. h>

include<conio. h>

/ *主函数* /

Int main()

{

Char letter;

Printf("please input the first letter,"Y'to exit!\n");

While((letter=getch())!="Y")//当输入字母为Y时结束

{

Switch(letter)

{

Case'S':

Printf("%c\n",letter);

Printf("please input second letter\n");//输入第二个字母

If((letter=getch())=='a')

Printf("Saturday\n");

Else if(letter=='u')

Printf("Sunday\n");

Else printf('data error\n);

Break;

Case'F':

Printf("fridaykn");

Break;

Case 'M':

Printf("mondayha");

Break;

Case 'T':

Printf("%c\n",letter);

Printf("please input second letter\a");//输入第二个字母

If((letter=getch())=='u')

Printf("Tuesday\n"):

Else if(letter=='h')

Printf("Thursday\n");

Break;

Case 'W':

Printf("Wednesday\n");

}

}

Return 0;

}

(1) 画出主函数main的控制流程图;

(2) 设计一组测试用例,使main函数的语句覆盖率尽量达到100%;

(3) Main函数的语句覆盖率能否达到100%?如果认为无法达到,需说明原因。

参考答案和解析
正确答案:[path1]12 [path2]23 [path3]234522 [path4]236722 [path5]236822 [path6]91022 [path7]111222 [path8]1314 [path9]13141516 [path10]1314171822 [path11]1 314822 [path12]192022 [path13]19822 生成测试用例确保基本路径集中每条路径的执行: path1.输入数据y输出的结果程序结束返回值0 path2.输入数据s输出结果“s输入第二个字母” path3.输人数据s后输入数据a输出结果“Saturday” path4.输入数据s后输入数据u输出结果“sunday” path5.输入数据s后输入数据非a非u输出结果“data erroi” path6.输入数据f输出结果“friday” path7.输入数据m输出结果“monday” path8.输入数据t输出结果“输入第二个字母” path9.输入数据t后输入数据u输出结果“tuesday” path10.输入数据t后输入数据h输出结果“thursday” path11.输入数据t后输入数据非u非h输出结果“data crror” pathl2.输入数据w输出结果“Wednesday"’ path13.输入数据defalt输出结果“data error”
[path1]1,2 [path2]2,3 [path3]2,3,4,5,22 [path4]2,3,6,7,22 [path5]2,3,6,8,22 [path6]9,10,22 [path7]11,12,22 [path8]13,14 [path9]13,14,15,16 [path10]13,14,17,18,22 [path11]1 3,14,8,22 [path12]19,20,22 [path13]19,8,22 生成测试用例,确保基本路径集中每条路径的执行: path1.输入数据y,输出的结果程序结束返回值0 path2.输入数据s,输出结果“s输入第二个字母” path3.输人数据s后,输入数据a,输出结果“Saturday” path4.输入数据s后,输入数据u,输出结果“sunday” path5.输入数据s后,输入数据非a非u,输出结果“data erroi” path6.输入数据f,输出结果“friday” path7.输入数据m,输出结果“monday” path8.输入数据t,输出结果“输入第二个字母” path9.输入数据t后,输入数据u,输出结果“tuesday” path10.输入数据t后,输入数据h,输出结果“thursday” path11.输入数据t后,输入数据非u非h,输出结果“data crror” pathl2.输入数据w,输出结果“Wednesday"’ path13.输入数据defalt,输出结果“data error”
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

12、一个C语言源程序中如果调用了函数fabs,那必须有编译预处理命令()。

A.#include <stdio.h>

B.#include <math.h>

C.#include <ctype.h>

D.#include <stdlib.h>


#include

第2题:

2、某源程序使用了STC单片机的相关寄存器,则应该使用()预定义。

A.#include “intrins.h”

B.#include “STC15Wxxx.h“

C.#include “math.h”

D.#include “stdio.h”


#include “STC15Wxxx.h”

第3题:

1、如下C语言程序,请填写结果。 程序: #include<stdio.h> int main() { int i=0; do { i++; } while(i<=3); printf("%d",i); return 0; } 该程序运行的结果是()。


查看截图

第4题:

15、已知字符‘7’的ASCII码值是55,请写出如下程序的输出结果: #include <stdio.h> int main() { char c=‘5’ ; printf(“%d",c+3); }


BD

第5题:

已知字符‘7’的ASCII码值是55,请写出如下程序的输出结果: #include <stdio.h> int main() { char c=‘5’ ; printf(“%d",c+3); }


BD

第6题:

02610031:使用scanf函数时,在源程序开头()。

A.书写#include <stdio.h>

B.书写#include <math.h>

C.不必写#include

D.书写#include <scanf.h>


A

第7题:

#include命令可以包含一个含有函数定义的C语言源程序文件。


错误

第8题:

使用scanf()函数时,在源程序开头必须写预处理命令()

A.#include <stdio.h>

B.#include <stdio >

C.include <stdio.h>

D.#include <scanf.h>


#include

第9题:

使用VC6打开考生文件夹下的工程test34_1,此工程包含一个源程序文件test34_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果为:

David 3123 1000

源程序文件test34_1.cpp清单如下:

include <iostream.h>

include <string.h>

class person

{

public:

char name[20];

unsigned long id;

float salary;

void print(){cout<<name<<' '<<id<<' '<<salary<<

/***************** found *****************/

}

void main( )

{

person p;

person *ptr;

/***************** found *****************/

ptr=p;

/***************** found *****************/

strcpy("David",ptr->name);

ptr->id=3123;

ptr->salary=1000;

ptr->print();

}


正确答案:(1)错误:} 正确:}; (2)错误:ptr=p; 正确:ptr=&p; (3)错误:strcpy("David"ptr>name); 正确:strcpy(ptr->name"David");
(1)错误:} 正确:}; (2)错误:ptr=p; 正确:ptr=&p; (3)错误:strcpy("David",ptr>name); 正确:strcpy(ptr->name,"David"); 解析:(1)类定义的一般格式为:
class类名>
{
pubic:
数据成员或成员函数的说明>
private:
数据成员或成员函数的说明>
protected:
数据成员或成员函数的说明>
};
花括号表示类的声明范围,说明该类的成员,其后的分号表示类声明结束,类声明最后的分号是不可少的;
(2)p为类person的对象,ptr为指向类person对象的指针,所以将p的值赋给ptr应该为ptr=&p,即ptr指向对象p;
(3)strcpy()函数的一般形式为:
strcpy(to,from);
该函数将from字符串中的内容复制到to字符串,所以将字符串“David”赋值给ptr所指对象的数据成员name的语句应该为:
strcpy(ptr->name,"David")。