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

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

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

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - описание и краткое содержание, автор Стивен Прата, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

Интервал:

Закладка:

Сделать

sheds = 2;

help = 2 * sheds;

В действительности синтаксис более поздних версий BASIC и FORTRAN включает конструкцию else.

• Организация бесконечного цикла:

readin: scanf("%d", &score); if (score < 0) goto stage2; множество операторов goto readin;

stage2: дополнительная обработка;

Взамен применяйте цикл while:

scanf("%d", &score); while (score <= 0)

{

множество операторов scanf("%d", &score);

}

дополнительная обработка;

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

• Пропуск операторов до конца цикла и начало следующей итерации. Используйте оператор continue вместо goto.

• Выход из цикла. Применяйте оператор break вместо goto. Операторы break и continue фактически являются специализированными формами goto. Преимущество их использования заключается в том, что имена операторов позволяют понять их назначение, а также в том, что в них не применяются метки, поэтому отсутствует опасность помещения метки в неподходящее место.

• Беспорядочные переходы между разными частями программы. Избегайте их!

Существует ситуация, в которой многие программисты допускают использование оператора goto — выход из набора глубоко вложенных циклов в случае возникновения ошибки (одиночный оператор break обеспечит выход только из самого внутреннего цикла):

while (funct > 0)

{

for (i = 1, i <= 100; i++)

{

for (j = 1; j <= 50; j++)

{

множество операторов; if (признак ошибки) goto help; операторы;

}

еще множество операторов;

}

другое множество операторов;

}

третье множество операторов; help: код устранения ошибки;

Как можно было заметить в других примерах, альтернативные формы кода яснее для восприятия, чем формы с оператором goto. Различия становятся еще более заметными при смешивании нескольких случаев подобного рода. Какие операторы goto содействуют операторам if, какие эмулируют конструкции if else, какие управляют циклами, а какие применены лишь потому, что вы загнали себя в угол? Чрезмерно используя goto, вы создаете лабиринт в потоке управления программы. Если вы не знакомы с оператором goto, то и не меняйте это положение дел. Если вы привыкли к нему, то постарайтесь отвыкнуть. По иронии судьбы, язык С, который совершенно не нуждается в goto, располагает лучшим синтаксисом этого оператора, чем большинство других языков, т.к. позволяет применять для меток описательные слова, а не числа.

Сводка: переходы в программах Ключевые слова

break, continue, goto

Общий комментарий

Эти операторы заставляют поток управления программы перейти из одного места в другое. Оператор break

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

286 глава 7

Пример

switch (число)

{

case 4: printf("Это лучший выбор.\n");

break;

case 5: printf("Это хороший выбор.\n");

break;

default: printf("Это плохой выбор.\n");

}

Оператор continue

Оператор continue может применяться с любой из трех форм циклов, но не с оператором switch. Он приводит к пропуску оставшихся операторов цикла. В цикле while или for начинается новая итерация. В цикле do while проверяется условие завершения, после чего при необходимости начинается следующая итерация цикла.

Пример

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

{

if (ch = ' ') continue; putchar(ch); chcount++;

}

Этот фрагмент кода выводит и подсчитывает символы, отличные от пробела.

Оператор goto

Оператор goto приводит к передаче управления оператору, снабженному указанной меткой. Для отделения помеченного оператора от его метки используется двоеточие. Метки именуются согласно тем же правилам, что и переменные. Помеченный оператор может находиться либо до, либо после оператора goto.

Ключевые понятия Одним из аспектов интеллекта является возможность подгонять - фото 210

Ключевые понятия

Одним из аспектов интеллекта является возможность подгонять ответы под конкретные обстоятельства. Таким образом, операторы выбора представляют собой основу для разработки программ с интеллектуальным поведением. В языке С выбор реализуется с помощью операторов if, if else и switch, а также условной операции (?:).

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

Для определения того, какие операторы должны быть выполнены, в if и if else применяется условие проверки. Любое ненулевое значение трактуется как истинное, а ноль — как ложное. Обычно в проверках используются условные выражения, в которых сравниваются два значения, и логические выражения, в которых посредством логических операций создаются сложные выражения.

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

if (а < х < z) // неправильно - отсутствует логическая операция

if (ch != 'q' && != 'Q') // неправильно - отсутствует завершенное выражение проверки

Правильный способ предусматривает объединение двух условных выражений с помощью логической операции:

if(a

if (ch != 'q' && ch != 'Q') // использование && для объединения двух выражений

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

Резюме

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

Выражение проверки часто является выражением отношения, т.е. выражением, построенным с применением одной из условных операций, таких как < или ==. С помощью логических операций С выражения отношений можно объединять, создавая более сложные проверки.

Условная операция (? :) позволяет создавать выражение, которое во многих случаях оказывается более компактной альтернативой оператору if else.

Семейство функций для работы с символами ctype.h, подобных isspace() и isalpha(), предлагает удобные инструменты для построения выражений проверки, основанных на классификации символов.

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

Интервал:

Закладка:

Сделать


Стивен Прата читать все книги автора по порядку

Стивен Прата - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Язык программирования C. Лекции и упражнения (6-е изд.) 2015, автор: Стивен Прата. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x