分支语句(c++)

分支语句
一.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;}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值