Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тест_9_л_8.doc
Скачиваний:
5
Добавлен:
24.08.2019
Размер:
206.34 Кб
Скачать
  1. Присваивание указателей выполняется с ошибкой в операторах:

(номера операторов вводить по возрастанию, без пробелов, разделяя запятой):

int main()

{ int intvar=5;

float flovar=5.0f;

double dvar=5.0;

int* ptrint =&intvar; //1

float* ptrflo =&flovar; //2

double* ptrd =&dvar; //3

void* ptrvoid =&intvar; //4

ptrvoid = &flovar; //5

ptrvoid = &dvar; //6

ptrvoid = ptrint; //7

ptrvoid = ptrflo; //8

ptrvoid = ptrd; //9

ptrflo = &intvar; //10 _getch();

return 0;

}

  1. Присваивание указателей выполняется с ошибкой в операторах:

(номера операторов вводить по возрастанию, без пробелов, разделяя запятой):

int main()

{ int intvar=5;

float flovar=5.0f;

double dvar=5.0;

int* ptrint =&intvar; //1

float* ptrflo =&flovar; //2

double* ptrd =&dvar; //3

void* ptrvoid =&intvar; //4

ptrflo = &intvar; //5 ptrint = &flovar; //6 ptrint = &dvar; //7 ptrvoid = ptrint; //8

ptrvoid = ptrflo ; //9

ptrflo = ptrvoid; //10

ptrd = ptrvoid; //11

_getch();

return 0;

}

  1. Инициализация указателя выполняется правильно в операторах:

(номера операторов вводить по возрастанию, без пробелов, разделяя запятой):

int main()

{ int intvar=5;

float flovar=5.0f;

double dvar=5.0;

int* ptrint =&intvar; //1

float* ptrflo =&flovar; //2

double* ptrd =&dvar; //3

void* ptrvoid =&intvar; //4

_getch();

return 0;

}

  1. Истинные высказывания:

1. указатель – переменную называют просто указателем

2. значением указателя является адрес участка памяти, выделенного для объекта конкретного типа

3. в определении указателя всегда присутствует обозначение соответствующего ему типа

4. указатели делятся на две категории: указатели на объекты и указатели на функции

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

6. указатель может получить свое значение только в результате инициализации

7.??? можно получить адрес переменной, относящейся к классу памяти регистр

  1. Определить результат:

(значения вводить, разделяя запятой, без пробелов):

int *px=new int;

int *py= new int;

*px=17;

*py=-5;

*px=*px+*py;

*py=*py+12;

cout << *px<< endl;

cout << *py<< endl; //ОТВЕТ 12 и 7

  1. Определить результат:

(значения вводить, разделяя запятой, без пробелов):

int *pi=new int;

int *pj= new int;

*pi=1;

*pj=4;

pi=pj; // 4 и 4

cout << *pi<< endl;

cout << *pj<< endl;

  1. Определить результат:

(значения вводить, разделяя запятой, без пробелов):

char *py , *px =new char;

*px='d'; cout << *px<< endl;

py= px ; cout << *py<< endl; // d и d

Гр.2________________________________________________________________________________________________________________________

  1. Дано float *ptr2; операция ptr2++ увеличит значение указателя на: 4

  1. Дано double *ptr3; операция ptr3++ увеличит значение указателя на: 8

  1. Дано unsigned *ptr4; операция ptr4++ увеличит значение указателя на: 4

  1. Операция ptr++ увеличит значение указателя на 1, если дано:

1. unsigned *ptr; 2. double *ptr; 3. float *ptr; 4. char *ptr

  1. Дано char *сptr; операция сptr++ увеличит значение указателя на: 1

  1. Дано int *iptr; операция iptr++ увеличит значение указателя на: 4

  1. Дано long *lptr; операция lptr++ увеличит значение указателя на: 4