单路和双路分支(C++)

1.语句格式

  • 单路分支
    if (表达式)
    语句序列
  • 双路分支
    if(表达式)
    语句序列1
    else
    语句序列2

    ★注意:
    1.表示条件的表达式要能判断真假,如a>0,a%2==0
    2.当语句序列仅包含一条语句时,可以省略花括号
    例:比较两个数的大小
    编写程序,找出并输出所输入两个实数中的较大数
#include<iostream>
using namespace std;
int main()
{
 double a,b,max;
 cin>>a>>b;
 max=a;
 if(a<b)
 max=b;
 cout<<max<<endl;
 return 0;
}

或者

#include<iostream>
using namespace std;
int main()
{
 double a,b,max;
 cin>>a>>b;
 if(a<b)
  max=b;
  else
  max=a;
  cout<<max<<endl;
  return 0;
}

本例学到

  • 单路分支语句
    if(a<b)
    max=b;
  • 双路分支语句
    if(a<b)
    max=b;
    else
    max=a;
  • 关系表达式作为条件

分支嵌套

if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
else if(表达式4)语句4
★注意:
1.else总是与它上面最近的if配对
2.如果if与else的数目不一样,可以加花括号来确定配对关系
例:比较三个数的大小
编写程序,找出并输出所输入三个实数中的最大数
程序1

#include<iostream>
using namespace std;
int main()
{
 double a,b,c,max;
 cin>>a>>b>>c;
 if(a>b)
 {   if(a>c)
       max=a;
       else
       max=c;}
  else
  {  if(b<c)
       max=c;
       else
       max=b;}   
   cout<<max<<endl;
   return 0;      
}

程序2

#include<iostream>
using namespace std;
int main()
{ double a,b,c,max;
cin>>a>>b>>c;
max=a;
if(!(a>b&&a>c))
{ if(b>c)
  max=b;
  else
  max=c;}
  cout<<max<<endl;
  return 0;
}

程序3

#include<iostream>
using namespace std;
int main()
{ double a,b,c,max;
  cin>>a>>b>>c;
  max=a;
  if(max<b)
   max=b;
  if(max<c)
   max=c;
   cout<<max<<endl;
   return 0;
} 

本例学到

1.分支嵌套
if**!(a>b&&a>c)**
{
if(b>c)
max=b;
else
max=c;
}
2.关系表达式和混合运算表达式作为条件

  • (b>c)
  • !(a>b&&a>c)

猜你喜欢

转载自blog.csdn.net/Yangye_1018/article/details/106262596