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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Листинг 7.5. Программа divisors.с

262 Глава 7 Обратите внимание на то что программа использует операцию запятой - фото 191

262 Глава 7

Обратите внимание на то, что программа использует операцию запятой в управляющем выражении цикла for, чтобы предоставить вам возможность инициализации переменной is Prime значением true при каждом вводе нового числа.

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

Введите целое число для анализа; для завершения введите q.

123456789

123456789 делится на 3 и 41152263.

123456789 делится на 9 и 13717421.

123456789 делится на 3607 и 34227.

123456789 делится на 3803 и 32463.

123456789 делится на 10821 и 11409.

Введите следующее число для анализа; для завершения введите q.

149

149 является простым числом.

Введите следующее число для анализа; для завершения введите q.

2013

2013 делится на 3 и 671.

2013 делится на 11 и 183.

2013 делится на 33 и 61.

Введите следующее число для анализа; для завершения введите q.

q

До свидания.

Программа будет идентифицировать 1 как простое число, хотя формально это не так. Логические операции, обсуждаемые в следующем разделе, позволят исключить 1 из списка простых чисел.

Сводка: использование операторов if для реализации выбора Ключевые слова

if, else

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

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

Форма 1

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

оператор выполняется, когда выражение принимает истинное значение.

Форма 2

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

оператор2

Если выражение истинно, выполняется оператор1, в противном случае - оператор2. Форма 3

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

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

операторЗ

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

Если выражение 1 истинно, выполняется оператор1. Если выражение 1 ложно, но выражение2 истинно, выполняется оператор2. Если оба выражения ложны, выполняется

опера торЗ.

Пример

if (legs == 4)

printf("Это может быть лошадь.\n"); else if (legs > 4)

printf(“Это не лошадь.\n"); else /* случай, когда ног меньше 4 */

{

legs++;

printf("Теперь на одну ногу больше.\n");

}

Давайте будем логичными

Ранее вы видели, что в операторах if и while в качестве условий проверки часто применяются выражения отношений. Временами возникает необходимость в объединении двух и более выражений. Например, предположим, что требуется программа, которая подсчитывает во введенном предложении количество символов, отличных от одиночных и двойных кавычек. В данном случае можно использовать логические операции и символ точки (.) для идентификации конца предложения. В листинге 7.6 представлена короткая программа, иллюстрирующая этот метод.

Листинг 7.6. Программа chcount.c

Вот пример выполнения этой программы Я не читал бестселлер Я ничего не смыслю - фото 192

Вот пример выполнения этой программы:

Я не читал бестселлер "Я ничего не смыслю в программировании".

Здесь имеется 60 символов, отличных от кавычек.

Действие начинается с чтения символа и проверки, не является ли этот символ точкой, поскольку точка обозначает конец предложения. Далее появляется кое-что новое: в операторе присутствует логическая операция “И” — &&. Оператор if можно трактовать так: если символ не является двойной кавычкой И не является одиночной кавычкой, то увеличить значение charcount на 1.

264 Глава 7

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

В С доступны три логических операции.

Предположим что expl и ехр2 два простых условных выражения такие как cat - фото 193

Предположим, что expl и ехр2 — два простых условных выражения, такие как cat > rat и debt == 1000. Тогда справедливы следующие утверждения.

• expl && ехр2 истинно, только если истинны оба выражения expl и ехр2.

• expl || ехр2 истинно, если истинно либо выражение expl, либо выражение ехр2 или оба.

• lexpl истинно, если expl ложно, и ложно, если expl истинно.

Рассмотрим несколько конкретных примеров.

• 5>2&&4>7 ложно, поскольку истинно только одно из подвыражений.

• 5 > 2 || 4 > 7 истинно, т.к., по меньшей мере, одно из подвыражений истинно.

• ! (4 > 7) истинно, потому что 4 не больше 7.

Кстати, последний пример эквивалентен следующему выражению:

4 <= 7

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

(практика && время) == совершенство

Альтернативное представление: заголовочный файл iso646.h

Язык С разрабатывался в США на системах, оснащенных стандартными для США клавиатурами. Однако в мире не все клавиатуры имеют те же самые символы, что и клавиатуры в США. В связи с этим стандарт С99 вводит альтернативные формы написания логических операций, которые определены в заголовочном файле iso646.li. Включив этот файл в программу, вы можете указывать and вместо &&, or вместо || и not вместо !. Например, фрагмент

if (ch ! = "" && ch ! = ‘\ " ) charcount + +;

можно переписать следующим образом:

if (ch != '"' and ch != ‘\' ') charcount++;

Возможные варианты перечислены в табл. 7.3; запомнить их довольно легко. Может возникнуть вопрос, почему в С просто не используются эти новые термины. Вероятнее всего потому, что исторически в языке С пытались обходиться минимальным количеством ключевых слов. В справочном разделе V приложения Б приведен список дополнительных альтернативных форм записи для операций, с которыми вы пока еще не встречались.

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

Таблица 7.3. Альтернативное представление логических операций

приоритеты операций Операция имеет очень высокий уровень приоритета больше - фото 194

приоритеты операций

Операция ! имеет очень высокий уровень приоритета — больше, чем у операции умножения, и такой же, как у операции инкремента; выше него только приоритет круглых скобок. Операция && имеет более высокий приоритет, чем II, и обе они по приоритету уступают условным операциям, но превосходят операцию присваивания. Таким образом, выражение

a>b && b>c || b>d интерпретируется так, как показано ниже:

( (а > b) && (b > с) ) || (b>d)

То есть значение b находится между а и с или значение b больше, чем d.

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

Порядок вычисления выражений

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

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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