Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТТП (методичка).doc
Скачиваний:
3
Добавлен:
10.11.2018
Размер:
2.24 Mб
Скачать
    1. Операции присваивания

К операциям присваивания относятся =, +=, –=, *=, /= и др., а также префиксные и постфиксные операции ++ и ––. Все операции присваивания присваивают переменной результат вычисления выражения. Если тип левой части присваивания отличается от типа правой части, то тип правой части приводится к типу левой.

В одном операторе операция присваивания может встречаться несколько раз. Вычисления производятся справа налево. Например:

a = (b = c) * d;

Вначале переменной b присваивается значение c, затем выполняется операция умножения на d, и результат присваивается переменной a.

Типичный пример многократного присваивания:

a = b = c = d = e = f = 0;

осуществляет обнуление всех перечисленных переменных.

Операции +=, -=, *= и /= являются укороченной формой записи операции присваивания. Их применение иллюстрируется при помощи следующего описания:

a += b означает a = a + b

a -= b означает a = a – b

a *= b означает a = a * b

a /= b означает a = a / b

Префиксные и постфиксные операции ++ и -- используются для увеличения (инкремент) и уменьшения (декремент) на единицу значения переменной. Указанные операции выполняются следующим образом:

++a увеличивает значение переменной a на единицу

до использования этой переменной в выражении;

a++ увеличивает значение переменной a на единицу

после использования этой переменной в выражении;

--a уменьшает значение переменной a на единицу

до использования этой переменной в выражении;

a-- уменьшает значение переменной a на единицу

после использования этой переменной в выражении.

Студенту на заметку!

В блок-схеме оператору присваивания соответствует блок вычисления:

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

a++;

s += a;

    1. Другие операции

Операцию sizeof (size — размер) можно применить к константе, типу или переменной. В результате будет получено число байтов, занимаемых операндом. Ниже приведена программа (Листинг 9), демонстрирующая использование операции sizeof.

Листинг 9 — Использование операции sizeof

/* sizeof.c – пример использования операции sizeof. */

#include <stdio.h>

#include <conio.h>

void main()

{

float a;

int b;

char c;

float d[50];

clrscr();

printf(“\nРазмер памяти под целое %d”,

sizeof(int));

printf(“\nРазмер памяти под символ %d”,

sizeof(char));

printf(“\nРазмер памяти под вещественное %d”,

sizeof(float));

printf(“\nРазмер памяти под двойную точность %d”,

sizeof(double));

printf(“\nРазмер памяти под переменную a %d”,

sizeof(a));

printf(“\nРазмер памяти под переменную b %d”,

sizeof(b));

printf(“\nРазмер памяти под переменную c %d”,

sizeof(c));

printf(“\nРазмер памяти под массив d %d\n”,

sizeof(d));

}

Рисунок 24 — Результат выполнения программы sizeof.c

Операция «запятая» применяется для связывания между собой выражений. Список выражений, разделенный запятыми, трактуется как единое выражение и вычисляется слева направо.

Если, например, надо ввести символ с клавиатуры и сравнить введенное с ‘a’, то для этого можно использовать следующий оператор ветвления:

if (c = getchar(), c > ‘a’)

...

Данное выражения вычисляются слева направо, сначала переменной c присваивается результат функции getchar(), затем выполняется проверка условия c > ‘a’, результат которого определяет целое значение логического выражения и используется для оператора if.