Операция sizeof – унарная операция

Операция sizeof возвращает целое значение типа size_t, которое означает количество байт, занятых ее операндом. size_t — это тип, определенный в стандартной библиотеке, и обычно он основан на базовом типе unsigned int.

Пример:

int dice;

cout << sizeof dice;

Значение выражения sizeof dice равно 4, поскольку переменная dice объявлена как int, а потому занимает 4 байта. Поэтому приведенный оператор выведет на экран значение 4.

Операция sizeof может быть применена к элементу массива или к массиву в целом (массивы будут рассмотрены в главе 8). Когда она применяется к имени массива, то возвращает количество байт, занятых всем массивом, в то время как примененная к отдельному элементу с соответствующим индексом, она возвращает число байт, занятых данным элементом.

Операцию sizeof также можно применять к имени типа вместо переменной – в этом случае результат означает количество байт, занятых каждой переменной данного типа. И в этом случае имя типа должно быть заключено в скобки. Например, после выполнения оператора:

size_t size = sizeof(long);

переменная size получает значение 4. Эта переменная объявлена с типом sizet, чтобы обеспечить соответствие типу значения, которое возвращает операция sizeof. Использование другого целочисленного типа для этой переменной может привести к появлению предупреждающих сообщений компилятора.

Операторы языка С

Любое выражение языка, которое приводит к выполнению команды программы и за которым стоит точка с запятой, становится оператором.

Например, операторами являются следующие строки:

x = 0;

i++;

printf(...);

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

Список операторов, которые могут быть в языке С:

- Пустой оператор – это оператор состоящий из одной точки с запятой ;

- Составной оператор или блок. Для этого типа операторов используются фигурные скобки { и }. Они объединяют несколько операторов в составной оператор или блок, так что они оказываются синтаксически эквивалентны одному оператору.

Пример блока:

{

int a=1, b=3, c;

a++;

c=a+b;

}

- Оператор-выражение – это оператор формата выражение; Сюда входят все вычисления, присваивания, вызовы функций и так далее.

Пример:

a++;

c=a+b;

- Оператор возврата return вращает вычисленное функцией значение на место вызова функции.

Все остальные операторы будет рассмотрены в главе 6:

- Условный оператор if.

- Оператор со счетчиком for.

- Оператор цикла с предусловием while.

- Оператор цикла с предусловием do while.

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

- Оператор множественного выбора switch.

- Оператор разрыва break.

- Оператор перехода goto.

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

1) Что понимается под операцией на языке С?

2) Что такое операнд? Пприведите пример операции и операндов.

3) Дайте определение оператора, приведите пример.

4) Приведите классификацию операций по месту применения.

5) Перечислите известные Вам математические операций, приведите пример их использования.

6) Перечислите арифметические операции языка С, расскажите об особенностях выполнения арифметических операций.

7) В чем отличие постфиксной и префиксной форм операций инкремента и декремента?

8) Как вызвать системную функцию в программе?

9) Приведите пример математических функций.

10) Что необходимо добавить в программу на языке С, чтобы работать с математическими константами.

11) Перечислите известные битовые операции. С какими переменными они могут использоваться?

12) Охарактеризуйте битовые операции сдвига языка С.

13) Какие формы записи оператора присваивания (=) Вам известны?

14) Какие виды операторов могут быть в языке С?

ГЛАВА 6