Контрольная работа: Актуальные вопросы в работе с С++

1

1

2

2

4

Значения целых типов записываются в программе привычным способом:

123 4 -3 +345 -699

Наличие десятичной точки в записи целого числа недопустимо. Будет ошибкой записать целое число следующим образом:

123.0

Кроме привычной десятичной формы записи допускается запись целых чисел в шестнадцатиричном формате, используя префикс $, например:

$01AF $FF $1A $F0A1B

Регистр букв A,B, ..., F значения не имеет.

Допустимые операции:

- присваивание;

- все арифметические: +, - ,*, /, div, mod (при обычном делении [/] результат вещественный!);

- сравнение <, >, >=, <=, <>, =.

4. Что такое указатель? Как по указателю можно занести значение? Приведите примеры

Специальными объектами в программах на языках Си++ являются указатели.

Различают указатели-переменные (именно их мы будем называть указателями) и указатели-константы. Значениями указателей служат адреса участков памяти, выделенных для объектов конкретных типов: именно поэтому в определении и описании указателя всегда присутствует обозначение соответствующего ему типа. Эта информация позволяет в последующем с помощью указателя получить доступ ко всему сохраняемому объекту в целом.

Указатели делятся на две категории - указатели на объекты и указатели на функции. Выделение этих двух категорий связано с отличиями в свойствах и правилах использования. Например, указатели ФУНКЦИЙ не допускают применения к ним арифметических операций, а указатели объектов разрешено использовать в некоторых арифметических выражениях. Начнем с указателей объектов.

В простейшем случае определение и описание указателя-переменной на некоторый объект имеют вид:

tуре *имя_ указателя;

где tуре _ обозначение типа; имя_указателя - это идентификатор;

* - унитарная операция раскрытия ссылки (операция разыменования; операция обращения по адресу; операция доступа по адресу), операндом которой должен быть указатель (именно в соответствии с этим правилом вслед за ней следует имя_указателя).

Признаком указателя при лексическом разборе определения или описания служит символ '*', помещенный перед именем. Таким образом, при необходимости определить несколько указателей на объекты одного и того же типа этот символ '*' помещают перед каждым именем. Например, определение int*i1р, *i2р, *iЗр, i; вводит три указателя на объекты целого типа i1р, i2р, i3р и одну переменную i целого типа. Переменной i будет отведено в памяти 2 байта (ТС++ или ВС++), а указатели i1р, i2р, i3р разместятся в участках памяти, размер которых также зависит от реализации, но которые только иногда имеют длину 2 байта.

В совокупности имя типа и символ '*' перед именем воспринимаются как обозначение особого типа данных "указатель на объект данного типа".

При определении указателя в большинстве случаев целесообразно выполнить его инициализацию. Формат определения станет таким:

tуре *имя_ указателя инициализатор;

Как упоминалось, инициализатор имеет две формы записи, поэтому допустимы следующие две формы определения указателей:

К-во Просмотров: 522
Бесплатно скачать Контрольная работа: Актуальные вопросы в работе с С++