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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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, так и позже:

apples = (5+3) * (9+6);

Такая неопределенность оставлена в языке для того, чтобы разработчики компиляторов могли выбрать наиболее эффективный вариант для конкретной системы. Одним исключением из этого правила (или отсутствие правила) является обработка логических операций. В С гарантируется порядок вычисления логических выражений слева направо. Операции & & и || — это точки следования, так что все побочные эффекты происходят до перехода с одного операнда к другому. Более того, это гарантирует, что как только обнаруживается элемент, из-за которого все выражение становится ложным, вычисление прекращается. Такой подход делает возможным применение конструкций, подобных показанной ниже:

while ((с = getchar()) != ' ' && с != ‘\n'>

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

Вот еще один пример:

if (number != 0 && 12/number == 2)

printf("Значение переменной number равно 5 или 6.\n");

266 глава 7

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

Наконец, рассмотрим такой пример:

while (х++ <10 && х + у < 20)

Тот факт, что операция && является точкой следования, служит гарантией того, что значение х будет инкрементировано до вычисления выражения справа.

Сводка: логические операции и выражения

Логические операции

В логических операциях в качестве операндов обычно выступают выражения отношений.

Операция принимает один операнд Остальные операции выполняются над двумя - фото 195

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

Интервал:

Закладка:

Сделать

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

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


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

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

x