Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_laba.doc
Скачиваний:
2
Добавлен:
16.07.2019
Размер:
137.22 Кб
Скачать

Оператор пошагового цикла for.

For (выражение 1; выражение 2; выражение 3) оператор

Выражение 1 является инициализирующим выражением и вычисляется один раз при вхождении в цикл. Может содержать объявление и инициализацию переменных.

Выражение 2 является условным выражением выхода из цикла и вычисляется всякий раз перед началом нового цикла.

Выражение 3 является модифицирующим выражением и вычисляется всякий раз по окончании очередного цикла.

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

Схема выполнения оператора for.

1. Вычисляется выражение 1.

2. Вычисляется выражение 2, если его значение ложно, выполнение цикла прекращается, управление передается следующему за телом цикла оператору.

3. Если значение выражения 2 истинно (отлично от нуля), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2.

Если выражение 2 отсутствует, то оператор for образует бесконечный цикл, выйти из которого можно, используя операторы break, goto, return или функции, завершающие выполнение программы: exit ().

Цикл for может иметь любое количество уровней вложенности.

Циклы с предусловием while и постусловием do-while.

while (выражение) оператор

do оператор

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

Выражение является условным выражением выхода из цикла.

Оператор (тело цикла) — любой оператор языка С.

Схема выполнения оператора while.

1. Вычисляется выражение, если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор.

2. Если выражение истинно, то выполняется тело оператора while. Процесс повторяется с пункта 1.

Схема выполнения оператора do-while.

1. Выполняется тело цикла.

2. Вычисляется выражение.

3. Если выражение ложно, то выполнение оператора do-while заканчивается и выполняется следующий по порядку оператор.

4. Если выражение истинно, то выполнение оператора продолжается с пункта 1.

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

Использование оператора break в циклах.

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

Оператор продолжения continue.

Оператор continue используется для завершения текущей итерации и передачи управления на начало следующей итерации (в циклах while и do-while на проверку условия, в цикле for — на приращение). Этот оператор используется, если необходимо закончить текущую итерацию цикла без выхода из цикла и не выполнять оставшиеся операторы.

Оператор безусловного перехода goto.

Использование оператора безусловного перехода goto настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их изменения.

Goto метка;

Метка — идентификатор, за которым следует двоеточие. Метка должна находиться в той же функции, что и оператор goto и быть в пределах функции уникальной.

Появление оператора goto в некотором месте программы приводит к передаче управления на оператор, стоящий за меткой. Оператор goto не может передавать управление в тело оператора switch.

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

-унарные — действия, задаваемые знаком операции, выполняются с одним операндом: операция операнд;

-бинарные — действия, задаваемые знаком операции, выполняются с двумя операндами: операнд операция операнд;

-тернарные — действия, задаваемые знаком операции, выполняются с тремя операндами: операнд операция операнд операция операнд.

Каждая операция может иметь только определенные типы операндов.

Приоритет операции — свойство, задающее очередность в выполнении операций, составляющих вычисляемое выражение.

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

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

Операции

Описание

Приоритет

Ассоциатив-ность.

Первичные операции

[ ]

Обращение к элементу массива

16

( )

Вызов функции

16

.

Обращение к члену структуры

16

->

Обращение к члену структуры

16

Унарные операции

++

Постфиксный инкремент

15

--

Постфиксный декремент

15

++

Префиксный инкремент

14

--

Префиксный декремент

14

sizeof ( )

Размер в байтах

14

(тип)

Описание преобразования типа

14

~

Побитовое НЕ

14

!

Логическое НЕ

14

+

Унарный плюс

14

-

Унарный минус

14

&

Взятие адреса

14

*

Обращение по адресу

14

Бинарные и тернарные операции

Мультипликативные

*

Умножение

13

/

Деление

13

%

Деление по модулю

13

Аддитивные

+

Сложение

12

-

Вычитание

12

Побитовый сдвиг

<<

Сдвиг влево

11

>>

Сдвиг вправо

11

Отношение

<

Больше чем

10

>

Меньше чем

10

<=

Меньше или равно чем

10

>=

Больше или равно чем

10

Равенство

=

Равно

9

!=

Не равно

9

Битовые

&

Побитовое И

8

^

Побитовое исключающее ИЛИ

7

|

Побитовое ИЛИ

6

Логические

&&

Логическое И

5

||

Логическое ИЛИ

4

Условные

?:

Условная операция

3

Присваивание

=

Присваивание

2

*=

Присвоение произведения

2

/=

Присвоение частного

2

%=

Присвоение остатка

2

+=

Присвоение суммы

2

-=

Присвоение разности

2

<<=

Присвоение левого сдвига

2

>>=

Присвоение правого сдвига

2

&=

Присвоение И

2

^=

Присвоение исключающего ИЛИ

2

|=

Присвоение ИЛИ

2

Последовательное вычисление

1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]