实验7
1. 实验目的与要求
(1)测试关系表达式和逻辑表达式的意义和取值。 (2)测试关系运算符和逻辑运算符的优先级和结合性。 (3)掌握逻辑运算的基本规律。
2. 实验准备
(1)编写一个用于测试关系表达式意义和取值的程序。 举例:
#include
printf(\}
运行结果;
其中运行结果中的“1”和“0”分别表示程序中运算的正确与错误。 (2) 阅读下面程序并分析其运行结果
将分析结果与上机结果进行比较 #include
float x;
scanf(―‖,&x);
if(x=1.23) printf(―OK!‖); }
分析结果:有输入表达式可知,当从键盘输入数据1.23 时,运行输出“OK!”。 11
运行结果:
与分析结果一致!
(3)编写一个用于测试逻辑表达式的意义和取值程序 int a=3,b=5,c=5;
printf(―%d,%d,%d,%d‖,a==b&&a===c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf(―%d,%d,%d,%d‖,!(a==b),!(a>=b),!(a>=c),!(a<=b)); 预先写出程序运行结果,以便与上机结果进行比较。 分析结果:0,1,0,11,1,1,0
运行结果:
(4) 编写程序来测试下列逻辑表达式的值
预先写出程序的执行结果,以便与上级验证的结果进行比较。 (5)分析下面程序段的执行结果并验证自己所做推断的程序 int a=3,b=5,c=6;
printf(\ printf(\推断:不会输出“OK!” 输出: 10
运行结果:
实验8
1.实验目的与要求
(1)掌握分支程序的基本结构。
(2)掌握分支程序的测试与调试方法。 2.实验准备
(1)观察图3.1所示分支算法。 图见书
要求:编写一个 C语言程序,要求使用上述分支结构,并使其能接受由键盘输入的
a,b,x。 编写程序如下: #include
12
int a,b,x;
scanf(\if(a>1 && b==0) x=x*a; if(a==2 || x>1) x=x+2;
printf(\}
运行结果:能够达到要求!
(2)语句覆盖测试
设计一组a,b,x,是程序中的所有语句都能至少执行一遍,目的是测试这些语句能否正确执行。要求这组数据量最少。 编写程序如下: #include
int a,b,x;
scanf(\a=a+1; b=a+b; x=a*b;
printf(\}
运行结果:每个语句都能够正常运行!
(3)分支覆盖测试
设计一组a,b,x,使程序中的每个分支都能至少执行一遍,目的是测试这些分支能否正确执行。要求这组数据量最少。 编写程序如下:、 #include
int a,b,x;
scanf(\if(a>1 && b==0) x=x*a; if(a==2 || x>1) x=x+2;
13
printf(\}
运行结果:每个分支能够正确执行! (4) 条件覆盖测试
设计一组a,b,x,使程序中的每个条件都能至少执行一遍,目的是测试这些条件能否正确执行。要求这组数据量最少。
编写程序如下: #include
int a,b,x;
scanf(\if(a>1 && b==0) x=x*a; if(a==2 || x>1) x=x+2;
printf(\}
运行结果:每个条件都正确执行了!(5)修改上面的程序以使操作者知道这些语句、分支或条件已被执行 提示:在恰当的位置插入输出语句。 修改程序如下: #include
int a,b,x;
scanf(\if(a>1 && b==0) x=x*a;
printf(\if(a==2 || x>1) x=x+2;
printf(\
printf(\}
14
运行结果:由运行结果知这些语句、分支或
条件已被执行!
(5) 进一步的测试问题
从键盘输入三个数,用以代表3条线段的长度。先编写一个程序,判断由着3条线段所组成的三角形的类型——不等边三角形、等腰三角形、等边三角形、直角三角形或不能构成三角形。画出这个问题的流程图,设计程序,并未该程序分别设计语句覆盖、分支覆盖、条件覆盖的测试用例。为检测测试用例的好坏,可人为的设置一些错误。 编写程序如下:
#include
int a,b,c,max,m,x,y,z;
scanf(\max=b;
if(a>=max) max=a; if(c>=max) {max=c;} m=a+b+c-max; x=a^2+b^2; y=a^2+c^2; z=b^2+c^2;
if((m>max)&&(a!=0) && (b!=0) && (c!=0)) {
if((x==(c^2))||(y==(b^2))||(z==(a^2))) printf(\此三角形为直角三角形!\ if(a==b==c)
printf(\此三角形为等边三角形!\ if(a!=b && a!=c && b!=c ) printf(\此三角形为不等边三角形!\
if(((a==b)&&(a!=c))||((a==c)&&(a!=b))||((b==c)&&(b!=a))) printf(\此三角形等腰三角形\}
else printf(\不能构成三角形!\}
运行结果:
15
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序实验报告--谭浩强(3)在线全文阅读。
相关推荐: