- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实训三 分支结构程序设计
班级: 学号: 姓名:
实训目标
熟练掌握分支结构程序的编程思路、设计、调试和测试方法。
掌握C的逻辑运算符和关系运算符的使用方法,能够正确描述各种关系。
真正理解else-if和switch语句的语法和执行流程。
能够分析一般性多选择结构的需求,熟练绘制多分支程序的流程图。
掌握多分支程序的设计方法。
进一步熟悉VC集成环境,快速排除语法错误。
初步掌握分支程序的调试和测试方法,能够快速定位和排除逻辑错误。
能够根据已有程序,构建固定循环次数的循环程序(for循环)。
语法练习
1.写出判断1个字符是大写字符的逻辑表达式:
2.按优先级顺序列出你所学过的C语言运算符:
3.对于else-if 语句,其一般形式如左下所示,请画出对应的流程图。
if(表达式1)
{ 语句块1; }
else if(表达式2)
{ 语句块2; }
:
:
else if(表达式n-1)
{ 语句块n-1; }
else
{ 语句块n; }
4.在C语言中,{}应用于 、 和switch语句中。
5.switch语句中,case 后面只能是 ,不能是一个范围。
6.switch语句中,break语句的作用是 ,如果没有default,则当所有case都不相等时,程序 。
7.switch语句的一般形式如下,请画出它的执行流程图。
switch(){
case 常量表达式1: 语句段1;break;
case 常量表达式2: 语句段2;break;
:
:
case 常量表达式n: 语句段n;break;
default: 语句段n+1;
}
8.体会switch语句中break的作用,请画出如下switch语句的执行流程,此题若不会,可在实训时,试一下再完成。
switch(){
case 常量表达式1: 语句段1;
case 常量表达式2: 语句段2;break;
case 常量表达式3:
case 常量表达式4:
case 常量表达式5: 语句段5;
}
三、实训内容和步骤
1、输入1个英文字符,均以小写字符的形式输出。
源程序
语法错误: 记录下error和warning的完整信息(同类错误记录1次即可),给出中文解释,并在上面程序中直接改正错误。
测试数据 预期结果 实际结果(连续运行时)
调试过程:(指编译通过,无语法错误,但运行结果不对时)
2、在上题程序中,如果输入的不是英文字符,如输入9,结果如何?修改你的程序,当输入的不是英文字符时,显示输入出错信息。
源程序
测试数据 预期结果 实际结果(连续运行时)
语法错误:
调试过程:(指编译通过,无语法错误后,但运行结果不对时)
3、程序改错:调试error3_1.cpp程序。(程序在教育在线上需改错的程序文件夹中)
有错的源程序
#include iostream
using namespace std;
int main(void)
{
char sign;
int x,y;
cout输入x 运算符 y:;
cinxsigny;
if(sign=*) // 设置断点
coutx*yendl;
else if(sign=/)
coutx/yendl;
else if(sign=%)
coutx%yendl;
else
cout运算符输入错误endl;
return 0; }
语法错误:
测试数据 预期结果 实际结果(连续运行时)
调试过程:(指编译通过,无语法错误后,但运行结果不对时)
断点+单步调试,观察并记录各变量的值
思考:
结合本题,说明在多分支结构程序测试时,测试数据应至少选几组?应如何选取?
4、 将上题改用switch 语句实现,同时考虑除法时被零除的问题。(录入时,请注意switch语句的格式要求,每个case与常量表达式间至少应有一个空格)
源程序
测试数据 预期结果 实际结果(连续运行时)
语法错误:
调试过程:(指编译通过,无语法错误后,
文档评论(0)