实验3 选择结构语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3 选择结构语句
一、实验目的和要求
1.熟练掌握if、switch两种选择结构。
2.通过上机实验,比较两种选择结构的区别。
二、实验准备
知识点
1.if结构
(1)单分支结构的一般形式可写成:
(2)标准分之结构的一般形式可写成:
(3)多分之结构的一般书写形式可写成:
2.switch结构
switch {
Case : 《语句序列1》
case : 《语句序列2》
…
case : 《语句序列n》
《default: <语序列句n+1>》
}
其中<常量表达式i>只能为类型的常数;《break》语句可有可无,有则立刻,无则结束本分支后继续执行以下分支直到遇到下一个break语句或switch的闭括号。
练习题
1.若有int i=10, j=0; 则执行完语句if (j=0) i++; else i--; i的值为。
若有int i=10, j=0; 则执行完语句if (j==0) i++; else i--; i的值为。
2.若有int i=5, j=10; 则执行完语句
{ case 4: j ++; break;
case 5: i -- ; break;
case 6: j ++; break;
case 7: j - =i; break;
default: ;
}
后j的值为。
3.与
switch (k) {
case 1:
case 2:cout<<’a’;break;
case 3:
case 4:
case 5:cout<<’b’;break;
default:cout<<’c’;break;
}
等效的if语句是:
4.与以下语句:
if (x>0 && x<4) cout<<’x’;
else if (x>18 && x<22) cout<<’y’;
else cout<<’z’;
等效的switch 语句是:
程序分析
1.有以下程序:
#include
void main(){
int a,b,c=3;
cout<<"请输入两个整数:";
if(a
if(a==0) c=1; //行E
else c=2; //行F
cout<<"c="< } 请回答问题: ①本题中if结构的条件有和;语句c=1;执行的前提是满足条件;语句c=2;执行的前提是满足条件;若条件a ②根据以上程序,结合a和b的值,在下表中判断c的值: ③若将,编译系统的反应是,输出结果是。 2.有以下程序: #include "iostream.h" void main(){ int a,b,x; float y; cout<<"请输入一个整数:"; cin>>x; if(x<0) a=-1; else a=x/10; switch(a) { //行A case -1: y=0;break; //行B case 0: y=x;break; //行C case 1: y=10;break; //行D case 2://行E case 3: y=-0.5*x+30;break; //行F default: y=-2; //行G } if(y!=-2) cout<<"y="< else cout<<"error\n"; //行I } 请回答问题: ①本题中第一个if结构的条件是;语句a=-1;执行的前提是满足条件;语句a=x/10;执行的前提是满足条件。 ②与case后面的-1、0、1等<常量表达式>比较的是表达式的值;若a的值为-1,则执行语句,随后执行第行语句;若a的值为0,则执行语 句 ,随后执行第 行语句;若a 的值为1,则执行语句 ,随后执行第 行语句;若a 的值为2,则执行语句 ,随后执行第 行语句;若a 的值为3,则执行语句 ,随后执行第 行语句;若a 的值为4,则执行语句 ,随后再执行第 行语句。程序中语句break;的作用是 ;若删除G 行,且a 的值为5,则程序中语句A ~H 的执行情况是 。 ③第二个if 结构的判断条件是 ;语句cout<<"y="< ⑤若将case 0: 1时,程序输出结果是 。同理,请同学们自己类推去除后面break 语句后对整个程序的影响,以进一步理解switch 语句的执行过程。 三、实验内容 1.编写一个程序,实现根据输入的x 值,可求出y 的值,并输出x 和y 的值。计算y 值的数学公式为: 5.25.25 .75.12 .3432.9{≤>+-=x x x x y 2.设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A ,80-89分为B ,70-79分为C ,60-69分为D ,60分以下为E 。分别用条件语句和开关语句实现。(要求用switch 语句编写程序) 3.编写一程序,实现从键盘输入一个字符时,如果该字符为小写字母,则转换成大写字母输出;如果该字符为大写字母。则转换成小写字母输出;如果为其他字符时,则原样输出。 4.征税的办法如下:收入800元以下(含800元)的不征收;收入在800以上,1200元以下者,超过800元的部分按5%的税率收税;收入在1200以上,在2000元以下者,超出1200元的部分按8%的税率收税;收入在2000元以上者,2000元以上部分按20%的税率收税。试编写按收入计算税费的程序。(要求用switch 语句编写程序)