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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

/* for_13s.c */

#include int main(void)

{

int n; // счет с интервалом 13, начиная с 2

for (n=2;n<60;n=n+13) printf("%d \n", n); return 0;

}

Значение переменной n на каждой итерации увеличивается на 13, давая следующий вывод:

2

15

28

41

54

• Можно делать подсчет по символам, а не числам.

/* for_char.c */

#include int main(void)

{

char ch;

for (ch = 'a'; ch <= 'z'; ch++)

printf("Значение ASCII для %c равно %d.\n", ch, ch); return 0;

}

В программе предполагается, что для символов в системе используется кодировка ASCII. Ниже показан фрагмент выходных данных:

Значение ASCII для а равно 97.

Значение ASCII для b равно 98.

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

Значение ASCII для х равно 120.

Значение ASCII для у равно 121.

Значение ASCII для z равно 122.

Программа работает, т.к. символы хранятся в памяти в виде целых чисел, поэтому цикл в любом случае имеет дело с целыми числами.

• Можно выполнять проверку условия, отличного от количества итераций. В программе for cube.с строку

for (num = 1; num <= 6; num++)

можно заменить такой строкой:

for (num = 1; num*num*num <= 216; num++)

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

• Можно позволить некоторой величине расти не в арифметической, а в геометрической прогрессии; т.е. вместо добавления каждый раз фиксированного значения можно умножать на фиксированное значение.

/* for_geo. с * /

#include int main(void)

{

double debt;

for (debt = 100.0; debt < 150.0; debt = debt * 1.1)

printf("Теперь ваша задолженность составляет $%.2f.\n", debt); return 0;

}

В этом фрагменте кода значение переменной debt на каждом проходе цикла умножается на 1.1, что увеличивает его на 10%. Вывод программы имеет следующий вид:

Теперь ваша задолженность составляет $100.00.

Теперь ваша задолженность составляет $110.00.

Теперь ваша задолженность составляет $121.00.

Теперь ваша задолженность составляет $133.10.

Теперь ваша задолженность составляет $146.41.

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

/* for_wild.с */

#include int main(void)

{

int x; int у = 55;

for (x = 1; у <= 75; у = ( ++x * 5) + 50) printf("%10d %10d\n", x, y); return 0;

}

Этот цикл выводит значения переменной х и алгебраического выражения ++х *5+50. Ниже показан вывод программы:

1 55

2 60

3 65

4 70

5 75

220 Глава 6

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

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

/* for_none.c */

#include int main(void)

{

int ans, n; ans = 2;

for (n = 3; ans <=25; ) ans = ans * n;

printf("n = %d; ans = %d.\n", n, ans); return 0;

}

Вот вывод этой программы:

n = 3; ans = 54 .

Значение переменной n в цикле остается равным 3. Переменная ans начинается со значения 2, затем увеличивается до 6 и 18, а в конечном итоге получает значение 54. (Значение 18 меньше, чем 25, так что цикл for выполняет па одну итерацию больше, умножая 18 на 3 для получения 54.) Кстати, пустое управляющее выражение, находящееся посередине, считается истинным, поэтому приведенный ниже цикл выполняется бесконечно: for (;; )

printf("Требуется определенное действие.\n");

• Первое выражение не обязательно должно инициализировать переменную. Вместо этого им могла бы быть какая-то разновидность оператора printf(). Просто запомните, что первое выражение вычисляется или выполняется только один раз, до того как начнут выполняться другие части цикла.

/* for_show.c */

#include int main(void)

{

int num = 0;

for (printf("Продолжайте вводить числа!\n"); num != 6; ) scanf("%d", &num);

printf("Вот то число, которое было нужно!\n"); return 0;

}

Этот фрагмент кода один раз выводит первое сообщение, а затем продолжает принимать числа до тех пор, пока вы не введете 6:

Продолжайте вводить числа!

3

5 8

6

Вот то число, которое было нужно!

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

for (n = 1; n < 10000; n = n + delta)

Если после нескольких итераций программа решит, что значение delta слишком мало или слишком велико, то посредством оператора if (глава 7) внутри цикла величину delta можно изменить. В интерактивной программе значение delta может быть изменено пользователем в процессе выполнения цикла. С таким видом настройки связана и определенная опасность; к примеру, установка delta в 0 приведет к бесконечному циклу.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x