实验报告人:张静成数学3班10080338
一、实验目的
1、掌握选择结构的程序书写!
2、了解条件与程序流程的关系
3、了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。
二、实验内容
(一)、题目 1
1、题目内容描述:改写第三章小写字母转换为大写字母的程序,能做到对输入非小写字母进行出错判断!
2、输入和输出信息描述及数据类型确定; (1)、输入数据
序号 1 2 序号 1 2
输入数据描述c1
数据类型 字符
数据类型 字符
(2)输出数据
输出数据描述c
13、测试与结果分析 (1)、测试数据与结果
源文件名 可执行文件名 测试序号 1 2 3 4
测试输入数据 a b G ?
测试输出结果
是否正确 是 是 是 是
结果分析
c4-1.cpp c4-1.exe c4-1.cpp c4-1.exe c4-1.cpp c4-1.exe c4-1.cpp c4-1.exe
A B 错误 错误
合理 合理 合理 合理
(二)、题目 2
1、题目内容描述:改写顺序结构程序设计例3.4,输入三角形的边长,求三角形面积。使之能对输入的任何数据作出正确处理!
2、输入和输出信息描述及数据类型确定; (1)、输入数据
序号 1 2 3 4 5 序号 1 2
输入数据描述a b c p s
数据类型 float float float float float 数据类型 float
(2)输出数据
输出数据描述s
3、测试与结果分析 (1)、测试数据与结果
源文件名 可执行文件名 测试序号 1 2 3 4
测试输入数据 3,4,5 2,2,2 1,2,3 1,2,4
测试输出结果
是否正确 是 是 是 是
结果分析
c4-2.cpp c4-2.exe c4-2.cpp c4-2.exe c4-2.cpp c4-2.exe c4-2.cpp c4-2.exe
6.00000 1.73051 不能构成三角形
不能构成三角形
合理 合理 合理 合理
(三)题目3
1、题目内容描述:编写一个简单的计算器程序,输入格式为:data1 op data2 ,其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、—、*、/。
2、输入和输出信息描述及数据类型确定; (1)、输入数据
序号 1 2 3 序号 1 2
输入数据描述data1 op data2
数据类型 float 字符 float 数据类型 float
(2)输出数据
输出数据描述x
3、测试与结果分析 (1)、测试数据与结果
源文件名 可执行文件名 测试序号 1 2 3 4 5
测试输入数据 3,+,5 85,-.50 3,*,6 9,/,3 2,/,0
测试输出结果 8 35 18 3 错误
是否正确 是 是 是 是 是
结果分析 合理 合理 合理 合理 合理
c4-3.cpp c4-3.exe c4-3.cpp c4-3.exe c4-3.cpp c4-3.exe c4-3.cpp c4-3.exe c4-3.cpp c4-3.exe
(四)题目4
1、题目内容描述:读入一年份和月份,打印该月有多少天(考虑闰年)!
2、输入和输出信息描述及数据类型确定;
(1)、输入数据
序号 1 2 序号 1 2
输入数据描述year month
数据类型 整型 整型 数据类型
(2)输出数据
输出数据描述没有数据
3、测试与结果分析 (1)、测试数据与结果
源文件名 可执行文件名 测试序号 1 2 3 4 5
测试输入数据 2010,2 2008,2 2100,2 2000,2 2012,5
测试输出结果
是否正确 是 是 是 是 是
结果分析
c4-4.cpp c4-4.exe c4-4.cpp c4-4.exe c4-4.cpp c4-4.exe c4-4.cpp c4-4.exe c4-4.cpp c4-4.exe
这个月有28天 这个月有29天 这个月有28天 这个月有29天 这个月有31天
合理 合理 合理 合理 合理
(五)题目5
1、题目内容描述: 有如下程序段: {……
if (a>1&&b= =0) x=x/a; if(a==2||x>1) x=x+1;
}
要求增加一些输入语句和输出语句,以便使上述程序能在不同的a,b和x值下运行,并且能观察程序流程经过(覆盖)了哪些语句、哪些分支及哪些路径。
2、输入和输出信息描述及数据类型确定; (1)、输入数据
序号 1 2 3 序号 1 2 3
输入数据描述a b x
数据类型 整型 整型 整型 数据类型 整型 整型 整型
(2)输出数据
输出数据描述a b x
3、测试与结果分析
(1)、测试数据与结果
源文件名 cc4.cpp cc4.cpp cc4.cpp cc4.cpp cc4.cpp cc4.cpp cc4.cpp cc4.cpp
可执行文件名 cc4.exe cc4.exe cc4.exe cc4.exe cc4.exe cc4.exe cc4.exe cc4.exe
测试序号 1 2 3 4 5 6 7 8
测试输入数据 1,1,1 1,1,2 3,0,1 2,1,4 2,1,1 1,0,2 2,0,4 3,0,2
测试输出结果
是否正确 是 是 否 是 是 是 是 否
结果分析
1,1,1 1,1,3 3,0,0 2,1,5 2,1,2 1,0,3 2,0,3 3,0,0
合理 合理 数据类型不一致 合理 合理 合理 合理 数据类型不一致
4、数据分析
(1)没有!要想使各条语句都执行,则a>=2且x是a的倍数!如a=2,b=0,c=4 (2)第二组合第四组!满足a>1&&b==0,且x是a的倍数,然后a==2||x>1 (3)第三组和第四组!a==2,b==0,x==4或者a=3,b==0,x=6 (4)第一二三四组! (5)第五六七八组!
(六)题目6
1、题目内容描述:从键盘上输入三个数,让它们代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序。
2、输入和输出信息描述及数据类型确定; (1)、输入数据
序号 1 2 3 序号 1
输入数据描述
a b c
数据类型 float float float 数据类型
(2)输出数据
输出数据描述没有
3、测试与结果分析
(1)、测试数据与结果
源文件名 可执行文件名 测试序号 1 2 3 4
测试输入数据 3,4,5 3,4,4 2,2,2^1.5 3,3,3
测试输出结果 此三角形是不等边三角形 此三角形是等腰三角形
此三角形是等腰直角三角形 此三角形是等边三角形
是否正确 是 是 是 是
结果分析 合理 合理 合理 合理
c4-6.cpp c4-6.exe c4-6.cpp c4-6.exe c4-6.cpp c4-6.exe c4-6.cpp c4-6.exe
三 实验总结
1、问题总结
题目序号 说明
实现情况与掌握程度 结合本次实验目的,熟悉或掌握哪些内容,程序是否实现并测试通过
1 2
3是否独立完成
代码是否符合规范编写 是否符合编程规范
存在问题 哪些知识理解不到位;程序存在什么问题
容易出错
如何改进 对于存在的问题如何改进,写出方法查阅书.
选择结构程序的书写 运算符与表达式的书写 switch语句的书写
是 是 是
是 是 否
2、经验总结
题目序号 1 2 3 …
简述你在本题目积累了在开发工具使用、编成程 序、调试程序、测试程序方面的实践经验 选择结构书写要准确
测试数据要覆盖各个分支,路径 …
列出你在完成本题目时,独立书写的你认为是经典 的代码。简单说明其经典之处。…
实践经验
经典代码
3、分析与讨论
(1)、要掌握用if语句处理选择结构,了解其一般形式:if(表达式)语句1 else 语句2。 (2)、掌握关系运算符及其优先级次序。
(3)、知道逻辑运算符及其优先级次序。!、&&、||。 (4)、了解选择结构的嵌套。
(5)、掌握用switch语句实现多分支选择结构,switch(表达式){
case 常量1:语句1case 常量2:语句2……………..
case 常量n:语句ndefault :语句n+1}
(6)、在选择结构中,注意测试用例的选择!保证覆盖不同的语句,分支及路径!