Книга: Язык Си - руководство для начинающих

Выбор: конструкция if-else

Выбор: конструкция if-else

     В предыдущей главе мы привели очень простую программу шифровки сообщений, которая заменяла каждый символ следующим по порядку в таблице ASCII. К сожалению, она заменила даже символ "новая строка", что привело к объединению нескольких строк в одну. Можно исключить эту проблему, написав программу, реализующую простой выбор: если символ - "новая строка", то оставить его без изменений, в противном случае преобразовать его. Вот как это можно запрограммировать на языке Си:

/* код1 */

#include

 main( )

{

char ch;

while((ch = getchar( )) != EOF)

 {

     if(ch =='n' ) /* оставить символ */

        putchar(ch); /* "новая строка" неизменным */

    else

        putchar(ch + 1); /* заменить остальные символы */

   }

}

В прошлый раз был использован файл, содержащий следующий текст:

Good spelling is an aid to clear writing.

Его использование в качестве теста для нашей новой программы приводит к результату:

Ура! Она работает!

     Между прочим, совсем несложно написать и программу дешифровки. Скопируйте для этого программу код1, но только замените выражение (ch + 1) на (ch - 1).

     Вы обратили внимание на общий вид оператора if-else. Он выглядит следующим образом:

if (выражение)оператор

 else

оператор

     Если выражение истинно, то выполняется первый оператор, а если ложно, то выполняется оператор, следующий за ключевым словом else. Операторы могут быть простыми или составными. Правила языка Си не требуют отступа в строке, но это стало обычной практикой. Отступ позволяет с первого взгляда заметить те операторы, выполнение которых зависит от проверяемого условия.

     Простая конструкция if позволяет нам выбирать: выполнить или нет некоторое действие; конструкция же if-else дает возможность выбрать одно из двух действий. Что делать, если нам требуется осуществить выбор из большого числа вариантов?

Оглавление книги


Генерация: 0.080. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз