Начала программирования на языке Си, страница 12

c=b+log(a);

printf(“a=%6i/tc=%7.2f”,c,b);

a++;

8.6. Оператор BREAK

Этот оператор прекращает выполнение цикла и передает управление следующему за циклом оператору. Он используется, когда условие продолжения итераций необходимо проверить не в начале или в конце, а в теле цикла. Оператор break имеет следующую форму:

/* начало тела цикла */

{ операторы

if(условие) break

операторы

}    /* завершение цикла */

Пример:

Написать программу суммирования целых чисел меньше 10, процесс остановить, если сумма становиться больше 20.

1  int main()

{

2  int itimes=1, isum=0;

3  while (itimes<10) {

4    isum+=itimes;

5    if (isum>20)

6      break;

7    itimes++

}

8  return(0);

}

8.7. Оператор CONTINUE

Этот оператор противоположен по действию оператору break. Он заставляет программу пропустить все оставшиеся строки цикла, но сам цикл не завершается. Его действие аналогично выполнению оператора goto, если условие выражения возвратит значение true или не ноль, то цикл будет продолжен. Пример программы из п. 8.6. с применением оператора continue может выглядеть так:

1  int main()

{

2  int itimes=1, isum=0;

3  while (itimes<10) {

4  isum+=itimes;

5  if (isum<40)

6  continue;

7  itimes++

}

8  return(0);

}

Блок-схема примера одновременного применения операторов break и continue на рис. 8.6.

Рис. 8.6. Пример одновременного применения операторов break и continue

Контрольные вопросы и задания

1. Когда применяются операторы break и continue? В чем их отличие?

2. Напишите программу вычисления функции  с помощью ряда с точностью до 0.001. Применить операторы break и continue.


9. МАССИВЫ

В математике широко применяются такие понятия как векторы и матрицы. Элементы этих объектов однозначно определяются их именем и координатами. Например,  или

, причем все элементы, как векторы, так и матрицы являются данными одного типа (т.е. нельзя элементу вектора x1 присвоить значение 3.2 (x1=3.2), а элементу x2 значение булева типа (x2=true)). Такого типа данные в языках программирования называются массивами.

Массив – это переменная, содержащая упорядоченный набор данных одного типа.

Под упорядоченностью здесь понимается то, что каждый элемент имеет свой номер (координату) и если первый элемент имеет, например, тип int, то и все остальные элементы массива имеют тот же тип.

9.1. Свойства массивов

Следующие четыре основных принципа определяют свойства массивов:

·  в массиве хранятся отдельные значения, которые называются элементами;

·  все элементы массива должны быть одного типа;

·  все элементы массива сохраняются в памяти последовательно, и первый элемент имеет нулевой индекс;

·  имя массива является константой и содержит адрес первого элемента массива.

9.2. Объявление массивов

Так как все элементы одного массива имеют один тип, одно имя и одну размерность, то при объявлении массива необходимо указывать все эти атрибуты.

Например, так может быть объявлен массив из двенадцати  целых чисел с именем iarray:

int iarray[12];, а массив из 20 символов:

char carray[20];

т.е. на первом месте стоит тип элементов массива int или char, затем имя iarray или carray, а затем в квадратных скобках количество элементов в массиве. Причем, первым элементом в массиве iarray будет iarray[0], а последним iarray[11], а в массиве carray – carray[0] и carray[19] соответственно.

Двумерный массив действительных чисел типа float z, имеющий 13 строк и 5 столбцов может быть объявлен так:

float z[12][4],

а его элементы можно перечислить следующим образом:

z[0][0],  z[0][1],  z[0][2], …, z[0][4],

z[1][0],  z[1][1],  z[1][2], …, z[1][4],

.       .       .       .       .       .       .       .

z[12][0],  z[12][1],  z[12][2], …, z[12][4],

Установить размеры массива можно в разделе директив препроцессору:

# define IARRAY_MAX 20

# define FARRAY_MAX 15