分支语句
一.if语句
格式一:
if(expression)
statement
例:
if(x>y)
cout<<x<<endl;
格式二:
if(expression)
statement1
else
statement2
例:
if(x>y) max=x;
else max=y;
格式三:
if(expr1) statement1
else if(expr2) statement2
else if(expr3)statement3
……
[else statment]
例:
if(salary>1000)
index=0.4;
else if(salary>800)
index=0.3;
else if(salary>600)
index=0.2;
else if(salary>400)
index=0.1;
else
index=0;
例1 求一个数的绝对值
#include <iostream>
using namespace std;
void main()
{ int x,y;
cout<<“Enteraninteger:”;
cin>>x;
if(x<0) y=-x;
else y=x;
cout<<“integer:”<<x<<"–>absolutevalue:"<<y;}
例2 输入两个实数,按数值由小到大的次 序输出这两个数。
#include <iostream>
using namespace std;
void main()
{ float a,b,t;
cin>>a>>b;
if(a>b) {t=a;a=b;b=t;}
cout<<a<<b;
}
2.if语句的嵌套
一般形式:
if(expr1)
if(expr2) 语句1
else 语句2
else
if(expr3) 语句3
else 语句4
若if与else数目不一样时,为实现程序设计者本来的意图,可以加花括号来确定匹配关系.
if(expr1)
{if(expr2) 语句1}
else
if(expr3) 语句3
else 语句4
3.条件运算符与表达式
一般形式:expr1? expr2 : expr3
例: x?‘a’:‘b’
//x=0,表达式值为’b’;x‡0, 表达式值为’a’
x>y?1:1.5
//x>y,值为1.0;x<y,值为1.5
4.switch语句
一般形式:
switch(表达式(必须是整形或字符型))
{ case E1:
语句组1;
break;
case E2:
语句组2;
break;
…….
case En:
语句组n;
break;
[default:语句组;
break;]
例1给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80_90分为’B’,7079分为’C’,6069分为’D’,60分以下为’E’
#include <iostream>
using namespace std;
int main()
{ float s;
char g;
int a;
cin>>s;
a=(int)(s/10);
switch(a)
{ case 10:
case 9: g=‘A’; break;
case 8: g=‘B’; break;
case 7: g=‘C’; break;
case 6: g=‘D’; break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: g=‘E’; break;
}
cout<<g;
return0;}
例 输入三角形边长,求面积
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{ double a,b,c;
cout<<“please enter a,b,c”;
cin>>a>>b>>c;
if(a+b>c&&b+c>a&&c+a>b)
{ double s,area;
s=(a+b+c)/2;
area=sqrt(s*(s-a)(s-b)(s-c));
cout<<“area=”<<area<<endl;}
else
cout<<“不构成三角形!”<<endl;
return 0;
}
例 编写程序,判断某一年是否为闰年
#include <iostream>
using namespace std;
int main()
{ int year;
bool leap;
cout<<“please enter year”;
cin>>year;
if((year%40&&year%100!=0)|| (year%4000))
leap=true;
else leap=false;
if(leap)
cout<<year<<“is”;
else
cout<<year<<“is not”;
cout<<“a leap year.”<<endl;
rerurn 0;}