Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015

Здесь есть возможность читать онлайн «Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 0101, Издательство: Вильямс, Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Язык программирования C. Лекции и упражнения (6-е изд.) 2015», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Дайте мне букву алфавита, и я укажу вам название животного, начинающееся с этой буквы.

Введите букву или # для завершения, в [enter]

выхухоль, водоплавающее существо ехидна, игольчатый муравьед рыболов, светло-коричневая куница Вопрос озадачил!

Введите следующую букву или # для завершения.

# [enter]

Программа завершена.

Были выполнены все операторы, начиная с case 'в' : и до конца оператора

switch.

Кстати, break работает и с циклами и с оператором switch, в то время как continue — только с циклами. С другой стороны, continue может применяться внут-

280 Глава 7 ри оператора switch, если switch находится в цикле. В такой ситуации, как и с другими циклами, continue заставляет программу пропустить остальные операторы цикла, включая другие части switch.

Если вы знакомы с языком Pascal, то можете отметить большое сходство switch с оператором case в Pascal. Самое важное различие между ними связано с тем, что switch требует использования оператора break, если нужно, чтобы выполнялся только помеченный оператор. Кроме того, в конструкции case языка С нельзя применять диапазон.

Проверочное выражение в круглых скобках внутри switch должно иметь целочисленное значение (включая тип char). Метки case должны быть константами целочисленного типа (в том числе char) или целочисленными константными выражениями (выражениями, которые содержат только целочисленные константы). Указывать для метки case переменную не допускается. Ниже приведена структура оператора switch.

switch {целочисленное-выражение)

{

case константа1:

операторы <- не обязательно

case константа2\

операторы <- не обязательно

default: <- не обязательно

операторы <- не обязательно

}

Чтение только первого символа строки

Еще одна новая особенность программы animals. с связана с тем, как она читает входные данные. Возможно, вы уже заметили во время выполнения этой программы, что при вводе вап был обработан только первый символ. Такое поведение с отбрасыванием оставшейся части строки часто является желательным в интерактивных программах, ожидающих односимвольные ответы. Указанное поведение обеспечивает следующий код:

while (getchar() != '\n')

continue; /* пропустить оставшуюся часть входной строки */

Этот цикл читает символы из входной последовательности вплоть до символа новой строки, генерируемого нажатием клавиши , включительно. Обратите внимание, что возвращаемое значение getchar() не присваивается переменной ch, поэтому программа просто читает символы и отбрасывает их. Так как последним отброшенным будет символ новой строки, то очередной подлежащий чтению символ будет первым символом следующей строки. Функция getchar() считывает его и присваивает переменной ch во внешнем цикле while.

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

if (ch == ‘\n')

continue;

Множество меток

В операторе switch можно использовать множество меток case, как показано в листинге 7.12.

Управляющие операторы С: ветвление и переходы 281

Листинг 7.12. Программа vowels. с

Если ch содержит скажем букву i оператор switch переходит в место - фото 208

Если ch содержит, скажем, букву i, оператор switch переходит в место, помеченное как case 1i ' :. Поскольку с этой меткой не связан оператор break, управление переходит к следующему оператору, которым является i_ct++,*. Если значение ch равно I, управление переходит прямо на этот оператор. В сущности, обе метки ссылаются на один и тот же оператор.

Строго говоря, оператор break для case * U' не нужен, т.к. благодаря его отсутствию управление в программе перемещается на следующий оператор внутри switch, которым является break для случая default. Следовательно, break для case ' U' можно было убрать, тем самым сократив код. С другой стороны, если позже будут добавляться другие случаи, то наличие оператора break там, где он должен быть, позволит не забыть о необходимости его добавления.

Ниже показан пример выполнения программы:

Введите текст или # для завершения программы.

I see under the overseer.#

Количество гласных: А Е I О U

0 7 111

282 Глава 7

В рассматриваемом случае можно избежать множества меток за счет применения функции toupper() из семейства ctype.h (см. табл. 7.2), преобразовав перед провер кой условия все строчные буквы в прописные:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Представляем Вашему вниманию похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Обсуждение, отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x