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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Листинг 6.14. Программа zeno.c

Результат выполнения программы в ходе которого суммируются первые 15 элементов - фото 168

Результат выполнения программы, в ходе которого суммируются первые 15 элементов последовательности, выглядит следующим образом:

Введите желаемое количество элементов последовательности: 15 Время = 1.000000, когда количество элементов = 1.

Время = 1.500000, когда количество элементов = 2.

Время = 1.750000, когда количество элементов = 3.

Время = 1.875000, когда количество элементов = 4.

Время = 1.937500, когда количество элементов = 5.

Время = 1.968750, когда количество элементов = 6.

Время = 1.984375, когда количество элементов = 7.

Время = 1.992188, когда количество элементов = 8.

Время = 1.996094, когда количество элементов = 9.

226 Глава 6

Время = 1.998047, когда количество элементов = 10.

Время = 1.999023, когда количество элементов = 11.

Время = 1.999512, когда количество элементов = 12.

Время = 1.999756, когда количество элементов = 13.

Время = 1.999878, когда количество элементов = 14.

Время = 1.999939, когда количество элементов = 15.

Легко заметить, что хотя мы и добавляем все новые элементы, общая сумма, по-видимому, не превысит некоторой величины. И в самом деле, математики доказали, что сумма этой последовательности стремится к 2.0 по мере того, как количество просуммированных элементов стремится к бесконечности, на что указывают результаты выполнения программы. Ознакомьтесь со следующими математическими выкладками. Предположим, что S представляет собой такую сумму:

S = 1 + 1/2 + 1/4 + 1/8 + ...

Здесь многоточие означает "и т.д.”. Разделив S на 2, получаем:

S/2 = 1/2 + 1/4 + 1/8 + 1/16 + ...

Вычитание второго выражения из первого дает:

S - S/2 = 1 +1/2 -1/2 + 1/4 -1/4 + .. .

За исключением начального значения 1 все остальные значения образуют пары, в которых одно значение положительное, а второе — отрицательное, так что эти элементы уничтожают друг друга, в результате оставляя:

S/2 = 1

И, наконец, умножение обеих сторон на 2 дает:

S = 2

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

Что можно сказать о самой программе? Она показывает, что в выражении можно использовать более одной операции запятой. Вы инициализировали переменные time, power of 2 и count. После того, как вы определили условия для цикла, программа оказалась совсем короткой.

Цикл с постусловием: do while

Циклы while и for являются циклами с предусловием. Условия проверки вычисляются перед каждой итерацией цикла, поэтому вполне возможно, что операторы, помещенные в цикл, никогда не выполнятся. В языке С имеется также цикл с постусловием, в котором проверка условия производится после прохода каждой итерации цикла, благодаря чему гарантируется выполнение операторной части цикла минимум один раз. Эта разновидность цикла называется циклом do while. В листинге 6.15 приведен пример.

Листинг 6.15. Программа do while.с

Управляющие операторы С циклы 227 Программа в листинге 615 читает входные - фото 169

Управляющие операторы С: циклы 227

Программа в листинге 615 читает входные значения до тех пор пока пользователь - фото 170

Программа в листинге 6.15 читает входные значения до тех пор, пока пользователь не введет 13. Ниже показан результат выполнения этой программы:

Чтобы войти в клуб лечения трискадекафобии, пожалуйста, введите секретный код: 12 Чтобы войти в клуб лечения трискадекафобии, пожалуйста, введите секретный код: 14 Чтобы войти в клуб лечения трискадекафобии, пожалуйста, введите секретный код: 13 Поздравляем! Вас вылечили!

Эквивалентная программа, в которой применяется цикл while, была бы несколько длиннее, как можно видеть в листинге 6.16.

Листинг 6.16. Программа entry.с

Общая форма цикла do while имеет вид do оператор while выражение Оператор - фото 171

Общая форма цикла do while имеет вид:

do

оператор

while ( выражение );

Оператор может быть простым или составным. Обратите внимание на то, что сам цикл do while считается оператором и таким образом требует наличия после него точки с запятой (рис. 6.5).

228 Глава 6

Рис 65 Структура цикла do while Цикл do while всегда выполняется по меньшей - фото 172

Рис. 6.5. Структура цикла do while

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

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

Интервал:

Закладка:

Сделать

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

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


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

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

x