程序结构和流程控制语句
case 2:
case 3:d=7.5;break;
case 4:
case 5:
case 6:
case 7:d=10;break;
case 8:d=15;break;
}
f=m*(1-d/100.0);
cout<<"f="<<f<<endl;
system("pause");
return 0;
}
【例9】2005年修改后的《中华人民共和国个人所得税法》规定,个人所得,应纳个人所得税。具体办法是,每月收入总和扣除1600元后的金额为应缴纳所得税额,应纳税所得额不超过500元的税率为5%,超过500元至2000元的部分税率为10%,超过2000元至5000元的部分税率为15%,超过5000元至20000元的部分税率为20%超过20000元至40000元的部分税率为25%,超过40000元至60000元的部分税率为30%,超过60000元至80000元的部分税率为35%,超过80000元至100000元的部分税率为40%,超过100000元的部分税率为45%。现要求编写程序,从键盘上输入某人本月的总收入,输出应缴纳的税额。
语句格式
switch (<条件表达式>)
{
case <常量表达式1>:〔<语句1>〕
case <常量表达式2>:〔<语句2>〕
......
case <常量表达式n-1>:〔<语句n-1>〕
〔default:<语句n>〕
}
说明:
(1)条件表达式与常量表达式只能是整型或字符型表达式;
(2)每个case后面的常量表达式的值必须互不相同;
else if (<表达式2>) <语句3>
......
elseif (<表达式n-1>) <语句n-1>
else<语句n>
【例2】输入两个整数a和b,用单选条件语句实现输出其中较大的一个数。
程序流程图如右图所示。程序如下:
#include <iostream>
using namespace std;
else max=b;
cout<<"max="<<max<<endl;
system("pause");
return 0;
}
程序执行后提示:
Input a,b:38
max=8
【例4】已知下列分段函数,要求编一程序,输入x,输出相应的y的值。
分段函数
程序流程图如右图所示。程序代码如下:
#include <iostream>
int main()
{
int a,b,max;
cout<<"Input a,b:";
cin>>a>>b;
max=a;
if (b>max) max=b;
cout<<"max="<<max<<endl;
system("pause");
return 0;
}
程序执行后屏幕显示:
Input a,b:38
max=8
分支语句
分支语句用于实现分支程序设计。分支程序有两路分支结构和多路分支结构,两路分支结构可用if语句实现,多路分支结构可以用嵌套的if语句或switch语句实现。
1.if语句的三种形式
(1)单选条件语句
语句格式:if (<表达式>) <语句>
执行过程:当表达式的值为非0(真)时,执行语句,
否则不执行语句。
程序流程图及程序代码如下:
#include <iostream>
using namespace std;
int main()
{
float x,y;
cout<<"请输入一个实数x=";
cin>>x;
if (x>=0)
if (x>=10)
y=x*x*x;
else
y=x*x-5;
else
y=x+1;
cout<<"y="<<y<<endl;
case 1:cout<<"Monday\n";
case 2:cout<<"Tuesday\n";
case 3:cout<<"Wednesday\n";
case 4:cout<<"Thursday\n";
case 5:cout<<"Friday\n";
case 6:cout<<"Saturday\n";
【例7】输入0~6的整数,将其转换成对应的星期几。
程序代码如下:
#include <iostream>
using namespace std;
int main()
{ int a;
cout<<"请输入一个0-6的整数(分别对应周日至周六):";
cin>>a;
switch (a)
{
case 0:cout<<"Sunday\n";
(3)一个case后可有多个语句(不必用花括号),也可以没有任何语句。
注意:在执行switch语句的过程中,每当执行完一个case后面的语句后,程序会不加判断地自动执行下一个case后面的语句。每个case后面的常量表达式只起语句标号的作用,是switch语句中执行各语句的入口,并不在此进行条件判断
C++的语句类型
C++程序的组成:一个C++程序可以由若干个源程序文件组成,一个源程序文件可以有若干个函数和编译预处理命令组成,一个函数由函数说明部分和函数执行部分组成,函数执行部分由数据定义和若干个执行语句组成。语句是组成程序的基本单元。C++语言的语句可以分成以下六大类:
(1)说明语句:对变量、符号常量、数据类型的定义性说明
2.分支结构
(1)两路分支:在两种可能的操作中按条件选取一个执行的结构称为分支结构。
(2)多路分支:在多种可能的操作中按条件选取一个执行的结构称为分支结构,
3.循环结构:在人们所要处理的问题中常常遇到需要反复执行某一操作的情况,计算机实现这一操作的程序就要用到循环结构。
循环结构有两种形式,即当型循环结来自和直到型循环结构。{ if(a>b) return a;
else return b;
}
int main()
{ int a,b,m;
cout<<"Input a,b:";
cin>>a>>b;
m=max(a,b);//函数调用语句
cout<<"max="<<m<<endl;
system("pause");
return 0;
说明:
①表达式必须用“( )”括起来;
②语句只能是单个语句或复合语句。
(2)两选条件语句
语句格式:if (<表达式>)
<语句1>
else
<语句2>
执行过程:当表达式的值为非0(真)时,执行语句1,
否则执行语句2。
(3)多选条件语句
多选条件语句的格式为:
if (<表达式1>)<语句1>
elseif (<表达式2>) <语句2>
cin>>a>>b>>c;
if (a>b)
if (a>c)max=a;
elsemax=c;
else
if (b>c) max=b;
else max=c;
cout<<"a,b,c中最大的数max="<<max<<endl;
system("pause");
return 0;
}
2.switch语句(开关语句):实现多路分支程序。
if (<表达式1>)
{if (<表达式2>) <语句1> }
else
<语句2>
【例6】求三个整数a、b、c中的最大者,a、b、c由键盘输入。(自行完成)
#include <iostream>
using namespace std;
int main()
{
int a,b,c,max;
cout<<"请输入三个整数a,b,c:";
例如:int a,b,c;//定义整型变量a、b、c
①仅向编译系统提供说明信息,在程序执行期间并不执行任何操作。
如,定义变量语句int a,b,c;是告诉编译系统为变量a、b、c各分配4个字节的存储空间用于存放变量的值。程序执行时,该语句就不起任何作用了。
②说明语句可出现在函数内、外,允许出现语句的任何地方。
case 5:cout<<" Today is Friday\n";break;
case 6:cout<<" Today is Saturday\n";break;