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

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

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

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

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

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

Интервал:

Закладка:

Сделать

pound ((int) f); // принудительное использование нужного типа

Обратите внимание, что это может не помочь, если значение переменной f слишком велико, чтобы уместиться в тип int.

Демонстрационная программа

В листинге 5.16 представлена полезная программа (для физически активной части человечества), которая иллюстрирует несколько идей, рассматриваемых в данной главе. Она выглядит довольно длинной, однако все вычисления выполняются в шести строках кода, расположенных ближе к концу. Большая часть кода связана с обменом информацией между компьютером и пользователем. Код снабжен комментариями, позволяющими прояснить его работу. Просмотрите код, а затем мы обсудим несколько моментов.

Листинг 5.16. Программа running.с

Операции выражения и операторы 191 В программе из листинга 516 применяется - фото 143

Операции, выражения и операторы 191

В программе из листинга 516 применяется тот же подход который использовался - фото 144

В программе из листинга 5.16 применяется тот же подход, который использовался ранее в программе min_sec.c для преобразования финального времени в минуты и секунды, но здесь также выполняются преобразования типов. Почему? Причина в том, что для части программы, реализующей пересчет секунд в минуты, требуются целочисленные аргументы, а при преобразовании данных метрической системы в мили применяются числа с плавающей запятой. Чтобы сделать эти преобразования явными, мы использовали операцию приведения.

По правде говоря, существует возможность написания этой программы с применением только автоматических преобразований. На самом деле, мы так и поступили, объявив переменную mtime с типом int, что обеспечило принудительное преобразование результата вычисления времени в целочисленную форму. Однако данная версия программы отказалась работать на одной из 11 опробованных систем. Использованный компилятор (устаревшей и вышедшей из употребления версии) не смог следовать правилам языка С. Применение приведений типов делают ваши намерения более ясными не только для читателя кода, но, вполне вероятно, что также и для компилятора.

Ниже показан пример вывода:

Эта программа преобразует время пробега дистанции в метрической системе

во время пробега одной мили и вычисляет вашу среднюю

скорость в милях в час.

Введите дистанцию пробега в километрах.

10.0

Введите время в минутах и секундах.

Начните с ввода минут.

36

Теперь введите секунды.

23

Вы пробежали 10.00 км (6.21 мили) за 36 мин, 23 сек.

Такая скорость соответствует пробегу одной мили за 5 мин, 51 сек.

Ваша средняя скорость составила 10.25 миль в час

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

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

192 Глава 5 приоритетом и ассоциативностью. Два последних качества определяют, какая операция применяется первой, когда две операции совместно используют один операнд. Операции комбинируются со значениями для построения выражений, и с каждым выражением в С связано значение. Если не учитывать приоритет и ассоциативность операций, Moiyr получиться выражения, которые не являются допустимыми или дают значения, отличные от ожидаемых; вряд ли это будет содействовать вашей репутации как программиста.

Язык С позволяет записывать выражения, объединяя разные числовые типы. Но арифметические операции требуют, чтобы операнды принадлежали одному и тому же типу, поэтому С выполняет автоматические преобразования. Тем не менее, рекомендуемая практика программирования — не полагаться на автоматические преобразования. Вместо этого делайте выбор типов явным, либо объявляя переменные необходимого типа, либо используя приведения типов. При таком подходе вам не придется сталкиваться с неожиданными автоматическими преобразованиями.

Резюме

В языке С существует много операций, таких как операции присваивания и арифметические операции, рассмотренные в этой главе. В общем случае операция выполняется над одним или большим количеством операндов с целью получения значения. Операции, которые принимают один операнд, вроде знака “минус” или sizeof, называются унарными. Операции, требующие два операнда, такие как операции сложения и умножения, называются бинарными.

Выражения — это комбинации операций и операндов. В языке С каждое выражение имеет значение, включая выражения присваивания и сравнения. Правила приоритепт операций помогают определить, как группировать элементы при вычислении выражений. Когда две операции совместно используют один операнд, первой будет применена операция, имеющая более высокий приоритет. Если приоритеты операций равны, порядок их применения определяется ассоциативностью (слева направо или справа налево).

Оперопюры — это завершенные инструкции для компьютера. Они опознаются в С по завершающей точке с запятой. К этому моменту вы уже работали с операторами объявлений, операторами присваивания, операторами вызова функций и управляющими операторами. Операторы, заключенные в фигурные скобки, образуют сосзпавной оператор, или блок. Конкретным примером управляющего оператора является цикл while, который повторно выполняет операторы до тех пор, пока условие проверки остается истинным.

В языке С многие преобразования типов происходят автоматически. Типы char и short повышаются до типа int всякий раз, когда используются в выражениях или в качестве аргументов функции, не имеющей прототипа. Тип float в случае применения в аргументах функции повышается до типа double. В версии K&R С (но не в ANSI С) тип float повышается до double, если используется внутри выражения. Когда значение одного типа присваивается переменной второго типа, это значение преобразуется в тип, который имеет переменная. В случае преобразования больших типов в меньшие (например, long в short или double в float) возможна потеря данных. При смешивании типов в арифметических выражениях меньшие типы преобразуются к большим согласно правилам, изложенным в настоящей главе.

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

Операции, выражения и операторы 193

Вопросы для самоконтроля

Ответы на вопросы для самоконтроля приведены в приложении А.

1. Предположим, что все переменные имеют тип int. Найдите значение для каждой из следующих переменных:

а. х = (2 + 3) * 6;

б. х = (12 + 6) /2*3;

в. у = х = (2 + 3) / 4;

г. у = 3 + 2* (X = 7/2);

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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