Q:

Is "else if" a single keyword?

I am new to C++. I often see conditional statement like below:
if 
  statement_0;
else if
  statement_1;

Question:
Syntactically, shall I treat else if as a single keyword? Or is it actually an nested if statement within the outer else like below? 
if 
  statement_0;
else 
  if
    statement_1;

A:

They are not a single keyword if we go to the draft C++ standard section 2.12 Keywords table 4 lists both if and else separately and there is no else if keyword.  We can find a more accessible list of C++ keywords by going to cppreferences section on keywords.
The grammar in section 6.4 also makes this clear:
selection-statement:
 if ( condition ) statement
 if ( condition ) statement else statement

The if in else if is a statement following the else term. The section also says:

[...]The substatement in a selection-statement (each substatement, in the
  else form of the if statement) implicitly defines a block scope (3.3).
  If the substatement in a selection-statement is a single statement and
  not a compound-statement, it is as if it was rewritten to be a
  compound-statement containing the original substatement.

and provides the following example:
if (x)
 int i;

can be equivalently rewritten as

if (x) {  
  int i;
}

So how is your slightly extended example parsed?
if 
  statement_0;
else 
  if
    statement_1;
  else
    if
      statement_2 ;

will be parsed like this:
if 
{
  statement_0;
}
else
{ 
    if
    {
      statement_1;
    }
    else
    {
        if
        {
         statement_2 ;
        }
    }
}

Note
We can also determine that else if can not be one keyword by realizing that keywords are identifiers and we can see from the grammar for an identifier in my answer to Can you start a class name with a numeric digit? that spaces are not allowed in identifiers and so therefore else if can not be a single keyword but must be two separate keywords.

A:

Syntactically, it's not a single keyword; keywords cannot
contain white space.  Logically, when writing lists of else
if, it's probably better if you see it as a single keyword,
and write: 
if ( c1 ) {
    //  ...
} else if ( c2 ) {
    //  ...
} else if ( c3 ) {
    //  ...
} else if ( c4 ) {
    //  ...
} // ...

The compiler literally sees this as:
if ( c1 ) {
    //  ...
} else {
    if ( c2 ) {
        //  ...
    } else {
        if ( c3 ) {
            //  ...
        } else {
            if ( c4 ) {
                //  ...
            } // ...
        }
    }
}

but both forms come out to the same thing, and the first is far
more readable.

A:

No, it is not.
They are two keywords and, moreover, the second "if" is a substatement "inside" the scope determined by the first "else" statement.  

