Лекция 5 Циклы
Цикл while while ( ) Пример: while (i > 0) { i--; printf("%d\n", i); } Выражение Инструкция Да Нет
Цикл do…while do while ( ); Пример: do { scanf("%d", &n); } while (n == 0); Выражение Инструкция Да Нет
Цикл for for ( ; ; ) Пример 1: for (i = 0; i < 7; i++) printf("%d", i); Пример 2: for (;;); Выражение 2? Инструкция Да Нет Выражение 1 Выражение 3
Цикл while Задача: вычислить i = 2; b = 1.0; r = x; while (r > eps || r < -eps) { b = b + r; r = r * x / i; i++; }
Цикл do…while Задача: вычислить i = 1; b = 0.0; r = 1.0; do { b = b + r; r = r * x / i; i++; } while (r > eps || r < -eps)
Цикл for Задача: вычислить b = 1.0; r = x; for (i = 2 ; r > eps || r < -eps; i++) { b = b + r; r = r * x / i; }
Цикл for Задача: вычислить for (i=2, b=1.0, r=x ; r > eps || r < -eps; i++) { b = b + r; r = r * x / i; }
Цикл for Задача: вычислить for (i=2, b=1.0, r=x ; r > eps || r < -eps; b = b + r, r = r * x / i, i++);
Инструкции break и continue Инструкция break вызывает немедленный выход из самого внутреннего из объемлющих ее циклов Инструкция continue вынуждает ближайший объемлющий ее цикл (for, while или do- while) начать следующий шаг итерации.
Инструкции break и continue Пример использования break: for (i = 0; i < 10; i++) { scanf("%d", &n); if (n == 0) { printf("Ошибка!\n"); break; } Пример использования continue: i = 1; while (i
Массивы (arrays)
Индексные массивы Индексный массив структура данных, предназначенная для хранения набора единиц данных, каждая из которых идентифицируется индексом или набором индексов. Массивы с одним индексом называют одномерными, с двумя двумерными и т. д.
Объявление массива Синтаксис: [ ] Пример: int a[10]; Определяет массив a размера 10, т. е. блок из 10 последо- вательных объектов типа int с именами a[0], a[1],..., a[9]. a: a[0] a[1] … a[9]
Работа с массивами Пример: int a[10]; int i; printf("Введите 10 значений"); for (i = 0; i < 10; i++) scanf("%d", &a[i]); int max = a[0]; int sum = a[0]; for (i = 1; i < 10; i++) { if (max < a[i]) max = a[i]; sum += a[i]; } printf("Максимальное значение: %d. Среднее значение: %.2f", max, sum / 10);
Инициализация массивов int month[12]; month[0] = 31; month[1] = 28; month[2] = 31; month[3] = 30; month[4] = 31; month[5] = 30; month[6] = 31; month[7] = 31; month[8] = 30; month[9] = 31; month[10] = 30; month[11] = 31; int month[12] = {31,28,31,30,31,30,31, 31,30,31,30,31};