Книга: Язык Си - руководство для начинающих
Выбор: конструкция 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 дает возможность выбрать одно из двух действий. Что делать, если нам требуется осуществить выбор из большого числа вариантов?
- 3.3 Конструкция else-if
- Объединение операторов if и else
- 3.2 Конструкция if-else
- Резюме: использование операторов if для организации выбора из нескольких вариантов
- РАСШИРЕНИЕ ОПЕРАТОРА if С ПОМОЩЬЮ else
- Множественный выбор: конструкция else-if
- Выбор стратегии ценообразования
- Выбор аппаратного обеспечения для InterBase
- Рекомендации по выбору архитектуры: Classic или SuperServer?
- Ограничение результатов выборки FIRST
- Выбор спутника жизни