Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
С и С++.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
212.63 Кб
Скачать

12.Переименование типов (typedef).

Для того чтобы сделать программу более ясной, можно задать типу новое имя с

помощью ключевого слова typedef:

typedef тип новое_имя [ размерность ]: В данном случае квадратные скобки являются элементом синтаксиса. Размерность может отсутствовать. Примеры:

typedef unsigned int UINT:

typedef char MsgClOO];

typedef struct{

char f1o[30];

int date, code:

double salary:} Worker:

Введенное таким образом имя можно использовать таким же образом, как и имена стандартных типов:

UINT i. j: // две переменных типа unsigned int

Msg str[10]: // массив из 10 строк по 100 символов

Worker staff[100]: // массив из 100 структур

Кроме задания типам с длинными описаниями более коротких псевдопимов,

typedef используется для облегчения переносимости программ: если машинно-зависимые типы объявить с помощью операторов typedef, при переносе программы потребуется внести изменения только в эти операторы.

13.Выражения.

выражения состоят из операндов, знаков операций и

скобок и используются для вычисления некоторого значения определенного

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

частных случаев — константой или переменной.

Примеры выражений:

(а + 0.12)/6

х && у II !z

(t * sin(x)-L05e4)/((2 * к + 2) * (2 * к + 3))

Операции выполняются в соответствии с приоритетами. Для изменения порядка

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

операция и операции присваивания выполняются справа палево, остальные — слева направо. Например, а = b = с означает а = (Ь = с), а а + b + с означает (а + Ь) + с.

Порядок вычисления подвыражений внутри выражений не определен: например,

нельзя считать, что в выражении (sin(x + 2) + cos(y + 1)) обращение к синусу будет выполнено раньше, чем к косинусу, и что х + 2 будет вычислено раньше, чем

У+1.

Результат вычисления выражения характеризуется значением и типом. Например, если а и b — переменные целого типа и описаны так:

int а = 2. b = 5: то выражение а + b имеет значение 7 и тип 1nt, а выражение а = b имеет значение,

равное помещенному в переменную а (в данному случае 5) и тип, совпадающий

с типом этой переменной. Таким образом, в C++ допустимы выражения вида

а = b = с: сначала вычисляется выражение b = с, а затем его результат становится

правым операндом для операции присваивания переменной а.

В выражение могут входить операнды различных типов. Если операнды имеют

одинаковый тип, то результат операции будет иметь тот же тип. Если операнды

разного типа, перед вычислениями выполняются преобразования типов по определенным правилам, обеспечивающим преобразование более коротких типов

в более длинные для сохранения значимости и точности.

Преобразования бывают двух типов:

• изменяющие внутреннее представление величин (с потерей точности или без

потери точности);

• изменяющие только интерпретацию внутреннего представления.