- •Введение
- •Общие характеристики и особенности применения
- •3 Редактор форм
- •4 Палитра компонент - краткий обзор
- •4.2 Компоненты вкладки additional
- •4.3 Компоненты вкладки dialogs
- •4.4 Компоненты вкладки system
- •5 Выполнение программы простой структуры.
- •5.3 Операции языка с
- •5.3.1 Арифметические операции
- •5.3.2 Операции отношения и логические операции
- •5.3.3 Операции присваивания
- •5.3.4 Операторы выбора
- •If (условие) оператор;
- •If (условие) оператор; else оператор;
- •If (!X) ShowMessage(“Число равно нулю”); else
- •5.3.5 Операторы циклов
- •5.3.6 Операторы перехода
- •5.4 Пример простейшего проекта
- •Задания
- •Варианты
5.3 Операции языка с
5.3.1 Арифметические операции
Операции сложения, вычитания, умножения и деления действуют так же, как и в других языках программирования. Операции выполняются слева направо, т.е. сначала вычисляется значение левого операнда, затем значение правого операнда. Если операнды имеют один тип, то результат будет иметь тот же тип. Поэтому, если операция деления / применяется к целым переменным, то результат будет тоже целым.
Язык С имеет еще две операции, которых нет в других языках. Это унарные операции ++ (инкремент) и — (декремент). Унарной называется операция,
которая имеет только один операнд. Операция ++ добавляет единицу к операнду, операция — вычитает единицу из операнда. Обе операции могут следовать перед операндом (префиксная форма записи) и после операнда (постфиксная форма записи). При префиксной форме переменная сначала увеличивается или уменьшается на единицу, а затем это ее новое значение используется в том выражении, в котором она встретилась. При постфиксной форме в выражении используется текущее значение переменной и лишь затем переменная увеличивается или уменьшается на единицу. Три написанные ниже оператора дают один и тот же результат, но имеют различие при использовании в выражениях: i = i+1; ++i; i++;
Например, в результате выполнения операторов int i = 1, j; j = i++ * i++;
значение переменной i будет равно 3, а значение переменной j равно 1.
Если изменить эти операторы следующим образом: int i = 1, j;
j =++ i * ++i;
то результат будет другим: значение i будет равно 3, а значение j равно 9.
5.3.2 Операции отношения и логические операции
Операции сравнения: == (равно), != (не равно), <, >, <=, >= используются при сравнении двух выражений. Результатом такого сравнения могут быть значения true (истина) или false (ложь). Однако результатом логического выражения может являться и целочисленное арифметическое значение. При этом значение 0 расценивается как false, а любое ненулевое значение — как true. Рассмотрим пример: int tr, fal; tr = (101<=105); fal= (101>105);
В результате выполнения этих операторов переменная tr получит значение 1, а переменная fal станет равной 0.
Не следует путать операторы типа if (A = =2)...;
и
if (A =2).;
Оба эти оператора верны, так как в C любое выражение, имеющее некоторое значение, может использоваться в условных операторах. Но если в первом случае значение логического выражения может быть как истинным, так и ложным, в зависимости от значения переменной А, то во втором случае значение логического выражения всегда истинно, так как в результате присваивания значение А равно двум и не является нулевым.
В С имеется три логические операции:
&& — логическое И (AND)
|| — логическое ИЛИ (OR)
! — логическое НЕ (NOT)
Логические операции в языке С соответствуют классическим логическим операциям, а их результат — соответствующим таблицам истинности.
5.3.3 Операции присваивания
Особенностью обычного оператора присваивания является то, что он
и допускает многократное использование, например:
a=b=c=x*y;
Выполняются операции присваивания справа налево, т. е. сначала вычисляется значение выражения x*y, затем это значение присваивается c, потом b и лишь затем а.
Кроме обычного присваивания, все прочие являются составными операциями. Они присваивают переменной, стоящей слева, результат применения простой операции, указанной перед символом «=», к обоим операндам.
Например, выражение X+=Y эквивалентно выражению X=X+Y, но записывается компактнее и выполняется быстрее.