实验3 选择结构语句

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 语句编写程序)

相关文档
最新文档