- Оператор присваивания. Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения
- Как называется синтаксическая единица языка определяющая способ вычисления некоторого значения
- Операции
- Выражения и преобразование типов
- Способы описания языков программирования: БНФ-нотации, синтаксические диаграммы
Оператор присваивания. Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения
Простые операторы
Операторы языка
Выражения
Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения в языке Паскаль формируются в соответствии с определенными правилами из констант, переменных, функций, знаков операций и круглых скобок [10–16].
Начинается вычисление с определения переменных и констант, входящих в выражение. Дальнейшие действия выполняются в соответствии с их приоритетом. В первую очередь вычисляются выражения, заключенные в круглые скобки, далее – значения входящих в выражение функций и т.д. Операции одного приоритета выполняются последовательно слева направо.
При вычислении выражений принят следующий приоритет операций:
· вычисление значений стандартных функций;
· умножение и деление;
· сложение и вычитание;
Тип результата выражения зависит от типов операндов, участвующих в операции. Тип результата операций «+», «*», «–» является INTEGER, если оба операнда имеют тип INTEGER, и REAL – в противном случае. Результатом операции «/» всегда является тип REAL. Результат выполнения логических операций NOT, OR, AND всегда имеет тип BOOLEAN. Аргументы операций сравнения на равенство и неравенство (=, ) могут иметь любой тип переменных и констант, а результат всегда имеет тип BOOLEAN. В операциях сравнения (>, =,
· оператор безусловного перехода GOTO;
С помощью этого оператора переменной присваивается значение выражения. Для этого используется знак присваивания «:=». Общий вид оператора следующий:
В операторе присваивания переменная и выражение должны иметь один и тот же тип. Однако допускается присваивать переменной типа real выражение типа integer. Присваивание же переменной целого типа выражения вещественного типа запрещается.
Пример. Вычислить значение концентрации вещества по формуле C=P/RT
при Р=10 ат ; Т= 513 К; R= 0,001986 ккал/моль×К.
Program Conс;
const R=1.986E–3;
var P,T:integer;
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Источник
Как называется синтаксическая единица языка определяющая способ вычисления некоторого значения
Билет 1. Вопрос 1.
Константы, переменные и выражения в языке PASCAL.
Выражение — это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения в языке PASCAL формируются в соответствии с рядом правил из констант (в том числе и конструкторов множеств), переменных (в том числе и компонент массивов, полей записей и полей объектов), функций (стандартных и написанных самостоятельно), знаков операций и круглых скобок.
Переменные.
Переменными называются параметры программы, значения которых могут изменяться в процессе её выполнения. Все используемые в программе переменные должны быть определены с указанием их типов. Переменные определяются:
— в разделе объявления переменных программы;
— в разделе объявления переменных подпрограммы;
— в разделе объявления переменных модуля;
— в заголовке подпрограммы.
Раздел объявления переменных начинается зарезервированным словом var, за которым следуют объявления конкретных переменных, состоящие из имени переменной (имён переменных, перечисленных через запятую, если они одного типа), двоеточия и типа переменной (переменных). Каждое объявление завершается точкой с запятой:
В разделе объявления переменных наряду с предопределёнными типами можно использовать типы, объявленные перед этим в разделе объявления типов, а также новые, вводимые только для конкретных переменных.
В заголовке подпрограммы при определении переменных можно использовать лишь стандартные или ранее определённые типы.
type Operat = (Plus, Minus, Mult, Divide);
Константы.
Константами называются параметры программы, значения которых не меняются в процессе её выполнения.
В языке ТП возможно двоякое использование констант:
— непосредственное использование значения констант;
— использование идентификатора константы.
Задание констант идентификаторами осуществляется в разделе объявления констант, начинающемся зарезервированным словом const. В ТП имеется две разновидности констант, заданных идентификаторами:
— обычные константы, тип которых определяется их значением;
— типизированные константы, для которых в явном виде указывается их тип.
Обычные константы могут быть целого, вещественного, символьного, логического типа и типа string типизированные константы — любого типа, кроме типа файл. Для обычных констант задаются их имена и значения, разделённые знаком равенства:
Значения констант могут задаваться как конкретными величинами соответствующего типа, так и константными выражениями.
Целые константы.
В изображении целых констант присутствует лишь знак и цифры. Предполагается десятичная система счисления, но можно использовать и шестнадцатеричную. В этом случае перед константой следует поставить знак $. Диапазон целых десятичных чисел — от -2147483648 до 2147483647. В ТП заданы два предопределённых целых числа:
Вещественные константы.
Вещественные константы в своём изображении содержат десятичную точку или/и показатель степени (символ Е или е), например:
Строковые и символьные константы.
Строка символов — это последовательность любого, в том числе и равного нулю, количества символов из набора ASCII, расположенной на одной строке и заключённых в апострофы. Ограничением здесь может быть максимальный размер строки, воспринимаемый компилятором, — не более 126 символов.
Строка, состоящая из одного символа, называется символьной константой.
Если между апострофами нет ни одного символа, то такая строка называется нулевой строкой.
При необходимости поместить в строку символ , его следует записать дважды, например ‘Язык »Turbo Pascal»’
Для включения в строку символов, не имеющих физического изображения, используется их ASCII-код с символом # перед ним. Для изображения управляющих символов (коды от 0 до 31) можно использовать символ ^ и соответствующую букву, код которой равен коду управляющего символа плюс 64.
Примеры строковых констант:
Константные выражения.
Константные выражения — это такие выражения, которые могут быть вычислены на стадии компиляции без запуска программы. Они являются частным случаем выражений и могут состоять из констант, знаков операций, круглых скобок и некоторых стандартных функций.
В константных выражениях можно использовать следующие функции : Abs, Chr, Hi, High, Length, Lo, Low, Odd, Ord, Pi, Pred, Ptr, Round, SizeOf, Succ, Swap, Trunc.
Типизированные константы.
Типизированные константы фактически представляют собой инициализированные переменные и могут использоваться наравне с обычными переменными, в том числе и в левой части операции присваивания.
Для каждой такой константы задаётся её имя, тип и начальное значение. Тип от имени отделяется двоеточием, начальное значение от типа — знаком равенства.
const maximum: integer = 9999;
Следует иметь ввиду, что типизированные константы инициализируются только раз — в начале работы программы.
Независимо от места объявления типизированных констант в программе все они размещаются в сегменте данных программы.
Источник
Операции
Выражения и преобразование типов
Выражение — это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения состоят из операндов, операций и скобок. Каждый операнд является в свою очередь выражением или одним из его частных случаев — константой, переменной или функций.
Операции выполняются в соответствии с приоритетами (см. приложение 1). Для изменения порядка выполнения операций используются круглые скобки. Если в одном выражении записано несколько операций одинакового приоритета, то унарные операции , условная операция и операции присваивания выполняются справа налево, остальные — слева направо. Например,
а = b = с означает a=(b=c) ,
a+b+c означает (а + b) + с .
Результат вычисления выражения характеризуется значением и типом. Например, если а и b — переменные целого типа и описаны так:
то выражение а + b имеет значение 7 и тип int .
В выражение могут входить операнды различных типов. Если операнды имеют одинаковый тип, то результат операции будет иметь тот же тип. Если операнды разного типа, то перед вычислениями выполняются преобразования более коротких типов в более длинные для сохранения значимости и точности. Иерархия типов данных приведена в следующей схеме:
Преобразование типов в выражениях происходит неявно (без участия программистов) следующим образом: Если один из операндов имеет тип, изображенный на более низком уровне, чем другой, то он приводится к типу второго операнда при наличии пути между ними. Если пути нет, то возникает ошибка компиляции (чтобы ее избежать, необходимо воспользоваться операцией явного преобразования). Если путей преобразования несколько, то выбирается наиболее короткий, не содержащий пунктирных линий.
Источник
Способы описания языков программирования: БНФ-нотации, синтаксические диаграммы
Языки программирования- это формальные языки и для их записи используют различные способы. В процсс разработки языка была разработана Бэкиса-Наурова форма (БНФ-нотация) для записи. БНФ в послдствии стала универсальным средством описания любых формальных языков. Был разработан языка Pascal, используя синтаксические программы.
В силу своей неоднозначности представлений, возможности парадоксальных предложений в зависимости синтаксиса от семантики. Но внутри естественных языков могут быть выделены подмножества предложения, которые однозначны. И однозначность достигается запретом говорить о самих себе. Язык, который описывают, называют языком — объектом. Описывающий язык – метаязык.
Язык описывающий синтаксис другого языка, называется метасинтаксический, а описывающий семантику – метасемантическим.
БНФ-нотация – это метасинтаксический язык, описывающий синтаксис языков программирования, однако не всё можно описать с помощью БНФ. Существуют контекстно-зависимые условия, для описания которых необходимы зависимые свойства.
Синтаксис языков программирования устанавливается над множеством основных символов, из которых строятся синтаксические правильные последовательности символов подмножества слов, допустимых для записи конструкций языка программирования.
Семантика смысла этих конструкций целиком зависит от синтаксического языка.
Для записи конструкции языка с помощью БНФ используют определенные метосимволы и понятия регулярного выражения.
::= Метасимволы по определению есть
[R]-x регулярное выражение
RQ Конкатенация регулярного выражения
Синтаксичские диаграммы разработаны Н.Виртом, используется два грамматических символа
1)Записываются терминальные символы
2)Не терминальные символы для которых
нужно создать синтаксически диаграммы
Эти графически символы соединяются стрелками. Определяемая конструкция записываемая на входной стрелкой и синтаксическая правильной конструкция получается если пройти от входной стрелки к выходной по одному из путей
5… Классификация языков программирования, элементы языка программирования С/С++: алфавит, слова, константы.
Классификация языков программирования
Машинный язык — это я3ык данного процессора, любой компьютер может выполнить программу только на своём я3ыке,когда программа представляет собой последовательность команд, а команда – это цифровой код – последовательность нулей и единиц.
Машинно-ориентированный я3ык – это я3ык , который в своей конструкции содержит,исполь3ует элементы архитектуры данного процессора. Такая программа может быть выполнена только на процессоре определённого типа.
Машинно-не3ависимые я3ыки никак не 3ависят от архитектуры процессора и программа, написанная на таком я3ыке может быть выполнена на любом процессоре, если в состав программного обеспечения входит специальная программа-транслятор, способная перевести с машинно-не3ависимого я3ыка на машинный.
Функциональные я3ыки ба3ируются на понятии функции, все вычисления,преобра3ования,и управления реали3уются с помощью стандартных функций или со3данных программистом.
ЭЛЕМЕНТЫ Я3ЫКА ПРОГРАММИРОВАНИЯ
Любой я3ык программирования определяется алфавитом, синтаксисом, семантикой.
Алфавит- фиксированный набор 3наковых символов,исполь3уемых в я3ыке.
Лексема – синтаксическая единица, составленная и3 символов алфавита, которая имеет смысл.
Выражение строится и3 лексем и символов и 3адаёт правило вычисления следующего 3начения.
Оператор – обра3уется и3 символов, лексем и выражений и является описанием некоторого действия.
Синтаксис определяет правила построения конструкций я3ыка – лексем, выражений.
Семантика – это правила исполь3рвания конструкций я3ыка и правила исполнения программ.
Алфавит С++ включает в себя 3аглавные и строчные латинские буквы, рабочие цифры и символы.
Служебные слова – слова,3аре3ервированные в я3ыке для определённого исполь3ования , их кол-во ограничено.
Константами — на3ываются данные, которые не и3меняются в процессе выполнения программы . В С++ можно исполь3овать именованные и неименованные константы.
Неименованные константы, или литералы – это обычные фиксированные 3начения.
Ра3личаются целые, вещественные, символьные и строковые литералы.
Если при решении 3адачи исполь3уются постоянные 3начения,имеющие смысл для этой 3адачи,то в программе можно определить их как именованные константы. Формат объявления именованной константы:
[ ] const = ;где класс памяти – это спецификатор, определяющий время жи3ни и область видимости программного объекта; выражение определяет 3начение именованной константы, т.е инициализирует её.
6… Переменные и операции в C++, выражения, порядок вычисления выражений.
Переменная – это именованная область памяти, в которой хранятся данные определённого типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Во время выполнения программы, значение переменой можно изменять. Перед использованием любая переменная должная быть описана. Например int i,j;
Перед использованием значение любой переменной должно быть определено. Это можно сделать с помощью:
1) Оператора присваивания: int a; … a=10;
2) Оператора ввода: int a; … cin>>a;
3) Инициализации ( определении значения переменной на этапе описания )
А) int i=100; // инициализация копией
Б) int i (100); // прямая инициализация
Операции можно классифицировать по количеству операндов на: унарные – воздействуют на один операнд, бинарные – на два операнда, тернарные – на три операнда.
1. Операции увеличения и уменьшения на 1 (++ и —).
Также называются инкрементом и декрементом. Имеют две формы записи. Префиксную(—х) и постфиксную(х++). Префиксная операция инкремента (декремента) увеличивает (уменьшает) свой операнд и возвращает изменённое значение как результат. Постфиксные версии инкремента и декремента возвращают первоначальное значение операнда, а потом изменяют его.
2. Операция определения размера (sizeof).
Операция предназначена для вычисления размера выражения (в байтах) выражения или типа и имеет две формы: sizeof , sizeof ( ). При применении операции к выражению возвращается размер типа, который получается в результате вычисления выражения. При применении к типу – возвращается размер заданного типа.
3. Операции отрицания(-,!).
Арифметическое отрицание (или унарный минус -) изменяет знак операнда целого или вещественного типа на противоположный.
Логическое отрицание (!) даёт в результате значение 0 (ложь), если операнд отличен от нуля (истина), и значение 1 (истина), если операнд равен нулю (ложь). Тип операнда может быть логический, целочисленный, вещественный или указатель.
1. Арифметические операции.
Арифметические операции, применимые ко всем арифметическим типам ( например, к целым и вещественным), а также к любым другим типам, которые могут быть преобразованы в арифметические (например, символьные типы). К бинарным арифметическим операциям относятся (в порядке убывания приоритета):
1. Умножение(*), деление(/), остаток от деления(%);
2. Сложение(+), вычитание(-).
2. Операции отношения ( , >=, ==, !=).
Операции отношения – это стандартные операции, которые сравнивают первый операнд со вторым. Операнды могут быть арифметического типа или указателями. Результатом операции является значение true (истина) или false (ложь). Операции сравнения на равенство и неравенство имеют меньший приоритет, чем остальные операции сравнения.
3. Логические операции(&& и ||).
Логическая операция И (&&) возвращает значение истина тогда и только тогда, когда оба операнда принимают значение истина, а в противном случае операция возвращает значение ложь. Логическая операция ИЛИ (||) возвращает значение истина тогда и только тогда, когда хотя бы один операнд принимает значение истина, в противном случае операция возвращает ложь. Приоритет операции (&&) выше приоритета операции (||). Если значения первого операнда достаточно, чтобы определить результат, то второй операнд не вычисляется.
Условная операция (? :). Формат условной операции: операнд_1 ? операнд_2 : операнд_3.
Операнд_1 – это логическое или арифметическое выражение. Он оценивается с точки зрения его эквивалентности константам true(истина) и false(ложь). Если результат вычисления условной операции будет значение операнда_1 равен истине, то результатом условной операции будет значение операнда_2, иначе операнда_3. Вычисляется всегда либо операнд_2, либо операнд_3. Их тип может различаться. Условная операция является сокращённой формой оператора if.
Выражение – это синтаксическая единица языка, определяющая способ вычисления некоторого значения. Выражения состоят из операндов, операций и скобок. Каждый операнд является в свою очередь выражением или одним из его частных случаев – константой, переменной или функцией.
Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки. Если в одном выражении записано несколько операций одинакового приоритета, то унарные операции, условная операция и операции присваивания выполняются справа налево, остальные – слева направо.
Порядок вычисления подвыражений внутри выражений не определён ( нельзя считать, что в выражении (sin(x+2)+cos(y+1)) обращение к синусу будет выполнено раньше чем к косинусу).
В выражение могут входить операнды различных типов. Если операнды одного типа – то результат будет того же типа. Если операнды разного типа, то перед вычислением выполняются преобразования более коротких в более длинные типы для сохранения значимости и точности. Типы по старшинству со старшего: Long double, double, float, long, int, short, char. Преобразование типов происходит неявно.
7… Структура программы на C/C++, пример программы.
Каждая программа на языке C++ состоит из одной или нескольких функций. Каждая функция содержит четыре основных элемента:
1. Тип возвращаемого значения;
3. Список параметров, заключенный в круглые скобки (может быть пустым)
4. Тело функции (последовательность операторов), которое помещается в фигурные скобки.
В приведённом примере:
1. Тип возвращаемого значения int – целый;
2. Имя функции main;
3. Список параметров пуст;
4. Тело функции состоит из одного оператора return 0, который возвратит значение 0 вызываещему окружению (либо компилятору, либо операционной системе).
#include // подключение содержимого заголовочного файла библиотеки
Using namespace std; // Использование пространства имён std
Int main(); // Заголовок функции
Cout – это директива препроцессора, которая указывает компилятору на необходимость подключить перед компиляцией содержимое заголовочного файла библиотеки подпрограмм С++. Имя заголовочного файла помещено в скобки, в данном случае это iostream . В этом файле содержатся готовые программные средства для организации форматированного ввода-вывода. В общем случае в программе может быть несколько директив, каждая из которых должна начинаться с новой строки и располагаться вне тела функции.
Далее идет комментарий. Комментарии используются для кратких заметок об используемых переменных, алгоритме или для дополнительных разъяснений сложного фрагмента кода, т.е. помогают понять смысл программы. Комментарии игнорируются компилятором, поэтому они могут использоваться для «скрытия» части кода от компилятора.
В языке С++ существуют 2 вида комментариев:
1) Комментарий, содержание которого умещается на одной строке, начинается с символов // и заканчивается символом перехода на новую строку.
2) Если содержание комментария не умещается на одной строке, то используется парный комментарий, который заключается между символами /* */. Внутри парного комментария могут располагаться любые символы, включая символ табуляции и символ новой строки. Парный комментарий не допускает вложения.
Пятая строка содержит директиву using namespace std , она означает, что все определенные ниже имена в программе будут относиться к пространству имен std.Пространством имен называется область программы, в которой определена некоторая совокупность имен. Эти имена неизвестны за пределами данного пространства имен. В нашем случае это означает, что глобальные (т.е. определенные вне программы имена из библиотеки iostream ) имена cout , cin и endl определены внутри пространства имен std , более того в ней определены собственные имена, a, b. Пространство имен std – это пространство имен, используемое стандартной библиотекой. Программист вправе определить собственное пространство имен.
Следующая строка нашей программы представляет собой заголовок функции main , которая не содержит параметров и должна возвращать значение типа int . Тело функции помещено в фигурные скобки.
Седьмая и тринадцатая строка определяют начало и конец блока.
В восьмой строке производится объявление двух переменных типа int (целый тип данных).
Девятая строка начинается с идентификатора cout , который представляет собой объект С++, предназначенный для работы со стандартным потоком вывода, ориентированным на экран. Далее идет операция > называется операций извлечения из потока: она читает значения из объекта cin и сохраняет их в переменных, стоящих справа от символов >> . В результате выполнения данной операции с клавиатуры будут введены два значения, первое из которых сохраняется в переменнойa , второе – в переменной b.
Далее идет оператор вывода, в результате выполнения которого на экране появится сообщение «Их сумма равна …». Например, если с клавиатуры были введены числа 3 и 4, то на экране появится сообщение «Их сумма равна 7».
8…Типы операторов в С/С++, оператор пустой, составной, оператор-выражение, оператор возврата.
Оператор по определению есть пустой оператор, или оператор-выражение, или составной оператор, возврата, условия, цикла, с пред- и постусловием, параметром, без условного перехода, переключатель, продолжения или завершения.
Пустой оператор – означает отсутствие оператора там, где по синтаксису должен быть, а по семантике никаких действий выполнять не нужно.
Оператор-выражение – выражение заканчивается “;”, рассматривается как оператор. А смысл его в вычислении этого выражения. В него входят: оператор присвоения и обращения к функции, не возвращающей значение.
Составной оператор(блок) – представляет собой последовательность операторов, заключенных в фигурные скобки. Блок обладает собственной областью видимости. Составные операторы применяются в случае, когда правила языка предусматривают наличие только одного оператора, а логика программы требует несколько операторов.
Оператор возврата – оператор возврата из функции return завершает выполнение функции и передаёт управление в точку её вызова. Данный оператор используется при разработке функций, возвращающих значение.
Данные – это формализованное(понятное для компьютера) представление информации. В программах данные фигурируют в качестве значений переменных или констант. Данные, которые не изменяются в процессе выполнения программы, называются константами. Данные,объявленные в программе и изменяемые в процессе ее выполнения, называются переменными.
Все типы данных можно разделить на простые и составные. К простым относятся: стандартные(целые, вещественные, символьные, логический) и определенные пользователем(перечислимые типы). К составным типам относятся массивы, строки, объединения,структуры, файлы и объекты. Кроме этого существует специальный тип void ,который не предназначен для хранения значений и применяется обычно для определения функций, которые не возвращают значения.
В данном разделе мы рассмотрим только стандартные типы данных.
Существует семейство целых типов данных — short, int, long; и два спецификатора – signed и unsigned.
Тип | Диапазон значений | Размер (байт) |
short | -32 768 . 32 767 | |
unsigned short | 0 . 65 535 | |
int | -32 768 . 32 767 или -2 147 483 648 . 2 147 483 647 | 2 или 4 |
unsigned int | 0 . 65 535 или 0 . 4 294 967 295 | 2 или 4 |
long | -2 147 483 648 . 2 147 483 647 | |
unsigned long | 0 . 4 294 967 295 |
Тип int является аппаратно-зависимым, это означает, что для 16-разрядного процессора под величины этого типа отводится 2 байта, для 32-разрядного — 4 байта. Размер типов short – 2 байта, long – 4 байта всегда фиксирован.
Спецификатор используется для установления беззнакового формата представления данных, signed – знакового. По умолчанию все целые типы являются знаковыми и поэтому спецификатор signed можно не использовать.
Существует семейство вещественных типов данных: float, double,long double.
Тип | Диапазон значений | Размер (байт) | Количество значащих цифр после запятой |
float | 3.4 e -38 . 3.4 e +38 | ||
double | 1.7 e -308 . 1.7 e +308 | ||
long double | 3.4 e -4932 . 3.4 e +4932 |
В таблице приведены абсолютные величины минимальных и максимальных значений.
Для описания символьных данных используются типы char и wchar_t.
Под величину типа char отводится 1 байт, что достаточно для размещения любого символа из 256-символьного набора ASCII . Под величину типа wchar_t отводится 2 байта, что достаточно для размещения любого символа из кодировки Unicode .
Для описания логических данных используется тип bool , который может принимать всего два значения: true (истина) и false (ложь). Теоретически размер переменной типа bool должен составлять 1 бит, но на практике большинство компиляторов выделяет под него 1 байт, т.к. организовать доступ к байту на аппаратном уровне легче, чем к биту.
Следует отметить, что значение константы true преобразуется к целому значению 1, а значение константы false– к 0. Поэтому логические данные могут участвовать в составе арифметических выражений. В свою очередь любое ненулевое значение может преобразовываться к логической константе true, а нулевое значение – к константе falsе, поэтому арифметические значения могут участвовать в составе логических выражений.
9…Оператор условной передачи управления в C/C++, примеры.
Условный оператор if используется для разветвления процесса обработки данных на два направления. Он может иметь одну из форм: сокращённую или полную.
Формат сокращённого if: if(B) S; где B – логическое или арифметическое выражение, истинность которого проверяется, S – один оператор: простой или составной. Если B – истинно, то выполняется S, иначе S пропускается.
If (a>0) x=y; // Сокращённый с простым оператором
If (x>y)
Формат полного if: if(B) S1; else S2; где B – логическое или арифметическое выражение, истинность которого проверяется, S1 и S2 – простые или составные операторы. Если B – истинно, то выполняется S1, а S2 пропускается, иначе пропускается S1, а выполняется S2.
If (a>0 || b 0)
S1 и S2 также могут являться операторами if.
Инициализация используется для объявления и присвоения начальных значений величинам, используемым в цикле. Выполняется один раз в начале исполнения цикла.
Выражение определяет условие выполнения цикла: если его результат истинен, цикл выполняется. Истинность проверяется перед каждым выполнением цикла.
Модификация выполняется после каждой итерации цикла и служит обычно для изменения параметров цикла. В части с модификацией можно записать несколько операторов через запятую.
Оператор(простой или составной) представляет собой тело цикла.
Источник