Язык программирования C++. Вводный курс


Инструкция switch - часть 5


/p>

}

isalpha() – функция стандартной библиотеки С; она возвращает true, если ее аргумент является буквой. isalpha() объявлена в заголовочном файле ctype.h. (Функции из ctype.h мы будем рассматривать в главе 6.)

Хотя оператор break

функционально не нужен после последней метки в инструкции switch, лучше его все-таки ставить. Причина проста: если мы впоследствии захотим добавить еще одну метку после case, то с большой вероятностью забудем вписать недостающий break.

Условная часть инструкции switch

может содержать объявление, как в следующем примере:

switch( int ival = get_response() )

ival

инициализируется значением, получаемым от get_response(), и это значение сравнивается со значениями меток case. Переменная ival  видна внутри блока switch, но не вне его.

Помещать же инструкцию объявления внутри тела блока switch не разрешается. Данный фрагмент кода не будет пропущен компилятором:

case illegal_definition:

    // ошибка: объявление не может

    // употребляться в этом месте

 

    string file_name = get_file_name();

    // ...

    break;

Если бы разрешалось объявлять переменную таким образом, то ее было бы видно во всем блоке switch, однако инициализируется она только в том случае, если выполнение прошло через данную метку case.

Мы можем употребить в этом месте составную инструкцию, тогда объявление переменной file_name

будет синтаксически правильным. Использование блока гарантирует, что объявленная переменная видна только внутри него, а в этом контексте она заведомо инициализирована. Вот как выглядит правильный текст:

case ok:

{

    // ок

 

    string file_name = get_file_name();

    // ...

    break;

}

Упражнение 5.5

Модифицируйте программу из данного раздела так, чтобы она подсчитывала не только буквы, но и встретившиеся пробелы, символы табуляции и новой строки.

Упражнение 5.6

Модифицируйте программу из данного раздела так, чтобы она подсчитывала также количество встретившихся двухсимвольных последовательностей ff, fl и fi.




Начало  Назад  Вперед



Книжный магазин