Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 26 стр.

UptoLike

Составители: 

26
if (условие) оператор;
else
if (условие) оператор;
.
.
.
else оператор;
В ―лестнице‖ условия операторов if вычисляются сверху вниз. Если
встретилось условие с ненулевым значением (т.е. условие истинно),
выполняется оператор этого блока if, а оставшаяся часть лестницы
пропускается. Если все условия ложны, то выполняется оператор в
последнем блоке else, или не выполняется ни один оператор, если
лестница не заканчивается else
Пример. Функция преобразования строки из кодировки ANSI в
кодировку OEM-866 (иначе DOS-кодировка)
void ansi2oem(char *stroka)
{
int cnt,i=0;
char ch;
while((ch=stroka[i])!='\0')
{
cnt=ch;
if ((ch>='а') && (ch<='п')) cnt-=64;
else if ((ch>='р') && (ch<='я')) cnt-=16;
else if (ch=='ѐ') cnt=241;
else if (ch=='Ё') cnt=240;
else if((ch>='А')&&(ch<='Я')) cnt-=64;
stroka[i]=cnt; i++;
}
}
Замечание. Функцию ansi2oem() можно использовать для
русификации вывода консольных приложений. См. раздел ―Строки‖.
Оператор ?:
Вместо оператора if-else часто используется оператор ―?:.
выражение1 ? выражение2 : выражение3
  if (условие) оператор;
  else
    if (условие) оператор;
    .
    .
    .
    else оператор;
В ―лестнице‖ условия операторов if вычисляются сверху вниз. Если
встретилось условие с ненулевым значением (т.е. условие истинно),
выполняется оператор этого блока if, а оставшаяся часть лестницы
пропускается. Если все условия ложны, то выполняется оператор в
последнем блоке else, или не выполняется ни один оператор, если
лестница не заканчивается else
     Пример. Функция преобразования строки из      кодировки ANSI     в
кодировку OEM-866 (иначе DOS-кодировка)
void ansi2oem(char *stroka)
{
int cnt,i=0;
char ch;
while((ch=stroka[i])!='\0')
{
    cnt=ch;
    if ((ch>='а') && (ch<='п')) cnt-=64;
     else if ((ch>='р') && (ch<='я')) cnt-=16;
          else if (ch=='ѐ') cnt=241;
               else if (ch=='Ё') cnt=240;
                  else if((ch>='А')&&(ch<='Я')) cnt-=64;
    stroka[i]=cnt; i++;
}
}
     Замечание. Функцию ansi2oem() можно использовать               для
русификации вывода консольных приложений. См. раздел ―Строки‖.


Оператор ?:
     Вместо оператора if-else часто используется оператор ―?:‖.
            выражение1 ? выражение2 : выражение3

                                  26