C++ if else



C++ 中的if else 和 else if

C++ 的条件控制语句如下:

  • if 语句
  • switch 语句
  • 条件运算符语句
  • goto 语句


使用 if 语句进行条件控制

if 语句可以分为以下不同的形式:

  • 简单的 if 语句
  • if....else 语句
  • 嵌套 if..else 语句
  • else if 语句


简单的 if 语句

简单 if 语句的一般形式是,

if(expression)
{
    statement-inside;
}
    statement-outside;

如果 expression 为真,则执行“statement-inside”,否则跳过“statement-inside”,只执行“statement-outside”。 示例:

#include< iostream.h>
int main( )
{
    int x,y;
    x=15;
    y=13;
    if (x > y )
    {
        cout << "x比y大";
    }
}

以上实例输出结果:

"x比y大


if...else 语句

简单 if...else 语句的一般形式是

if(expression)
{
    statement-block1;
}
else
{
    statement-block2;
}

如果 'expression' 为 true 或返回 true,则 'statement-block1' 将被执行,否则 'statement-block1' 将被跳过并且执行'statement-block2'语句。 示例:

void main( )
{
    int x,y;
    x=15;
    y=18;
    if (x > y )
    {
        cout << "x比y大";
    }
    else
    {
        cout << "y比x大";
    }
}

以上实例输出结果:

y比x大


嵌套 if..else 语句

嵌套 if...else 语句的一般形式是,

if(expression)
{
    if(expression1)
    {
        statement-block1;
    }
    else 
    {
        statement-block2;
    }
}
else
{
    statement-block3;
}

如果'expression'为false或返回false,则执行'statement-block3',否则执行进入if条件并检查“表达式 1”,那么如果'expression 1'是true或返回true,那么'statement-block1'将被执行,否则'statement-block2'将被执行。

示例:

void main( )
{
    int a,b,c;
    cout << "依次输入3个数";
    cin >> a >> b >> c;
    if(a > b)
    {
        if( a > c)
        {
            cout << "a最大";
        }
        else 
        {
            cout << "c最大";
        }
    }
    else
    {
        if( b> c)
        {
            cout << "b最大";
        }
        else
        {
            cout << "c最大";
        }
    }
}

上面的代码会根据 abc 变量的值打印出不同的语句。



else-if

else-if 的一般形式是,

if(expression 1)
{
    statement-block1;
}
else if(expression 2) 
{
    statement-block2;
}
else if(expression 3 ) 
{
    statement-block3;
}
else 
    default-statement;

从顶部向下测试表达式,一旦找到真正的条件,与之相关的语句就会被执行。 示例:

void main( )
{
    int a;
    cout << "输入一个整数";
    cin >> a;
    if( a%5==0 && a%8==0)
    {
        cout << "同时被5和8整除";
    }  
    else if( a%8==0 )
    {
        cout << "被8整除";
    }
    else if(a%5==0)
    {
        cout << "被5整除";
    }
    else 
    {
        cout << "不能被5或8整除";
    }
}

如果你为变量 a 输入值 40,则输出将是:

以上实例输出结果:

同时被5和8整除


要注意的点

  1. if 语句中,可以包含单个语句而不用花括号{ } 括起来。
int a = 5;
if(a > 4)
    cout << "success";

以上实例输出结果:

success

在上述情况下不需要大括号,但如果我们在 if 条件中有多个语句,那么我们必须将它们括在大括号内,否则只有 之后的第一个语句if 条件将被考虑。

int a = 2;
if(a > 4)
    cout << "success";
    // 下面的语句在if条件作用域之外
    cout << "不在条件语句之内"

以上实例输出结果:

不在条件语句之内
  • == 必须在if条件的表达式中用于比较,如果使用=,表达式总是返回true ,因为它执行的是赋值而不是比较。
  • 0(zero)外,其他所有正数值均视为true
if(27)
    cout << "hello";

以上实例输出结果:

hello