条件分支结构
有时,并非所有的程序语句都要被顺序执行到,会希望满足某种条件就执行这部分语句,满足另一条件就执行另一部分语句。这就需要“条件分支结构”。
if语句
if(表达式1)
{
语句组1
}
eles if(表达式2)
{
语句组2
}
......//可以有多个else if
else if(表达式n-1)
{
语句组n-1
}
else
{
语句组n
}
依次计算表达式1,表达式2...只要碰到一个表达式i为真,则执行语句组i(前面为假的表达式对应的语句组不会被执行),后面的表达式不再计算,后面的语句组也都不会被执行。
若所有表达式都为假,则执行语句组n
if语句可以没有else if,也可以没有else,也可以都没有
/*
1
if(表达式1)
{
语句组1
}
else
{
语句组2}
*/
/*
2
if(表达式1)
{
语句组1
}
else if(表达式2)
{
语句组2
}
*/
/*
3
if(表达式1)
{
语句组1
}
*/
例题:写一个判断整数奇数的程序,要求输入一个整数,如果是奇数,就输出“It's odd.”如果是偶数,就输出“It's even.”。
#include<iostream>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
if(n%2==1)//也可以直接写if(n%2)
printf ("It's odd.\n");
else
printf("It's even.\n");
return 0;
}
if语句的嵌套
在一条if语句的某个分支(语句组)中,还可以再写if语句
在一条if语句的某个分支(语句组)里,还可以再写if语句
#include<iostream>
using namespace std;
int main()
{
int a;
scanf("%d",&a);
if(a>0)
if(a%2)
cout<<"good";
else//这个else与离它最近的if配对
cout<<"bad";
return 0;
}