Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodicheskie_ukazaniaOOP_1_chast.doc
Скачиваний:
6
Добавлен:
23.11.2019
Размер:
743.42 Кб
Скачать

Контрольные вопросы

  1. Способ описания динамического массива. В каких случаях целесообразно использовать динамический массив.

  2. Что хранится в переменной-указателе.

  3. Указателем на какой элемент массива является имя массива.

  4. Обнуляется ли динамическая память при выделении.

  5. С помощью какой операции производится освобождение памяти, выделенной посредствам new().

  6. Описать что происходит в результате следующих объявлений.

          1. int * n=new int;

          2. int* m=new int(10);

          3. int* q=new int[10];

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

int *p = new int[10];

p++;

  1. Опишите какие действия производятся в результате следующего выражения

*p++=10;

10.Как хранится двумерный массив в памяти.

  1. Объявите двумерный массив типа double с именем mas размерностью 3×3. Присвойте элементам начальные значения: 1.1, 2.2, …., 9.9

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

  3. Сошлитесь на элемент массива mas[5][5], расположенный на пересечении второй строки и третьего столбца, используя:

    • Запись индекса массива.

    • Запись указатель-смещение с именем массива как указателем.

    • Запись индекса строки и указателя-смещения столбца.

  1. Организуйте вывод двумерного массива mas[n][m] в общепринятом виде:

    • Используя запись индекса массива.

    • Используя запись указатель смещение с именем массива как указателем.

ЛАБОРАТОРНАЯ РАБОТА 6

Обработка символов, строк, текста

Цель:

-изучение символьных и строковых переменных и способов их обработки в языке С.

Работа с текстовыми файлами, ввод-вывод текстовой информации и ее хранение на внешних носителях.

Краткие теоретические сведения

Строка в C++ – это массив символов, заканчивающийся нуль-символом – ’\0’ (нуль-терминатором). По положению нуль-терминатора определяется фактическая длина строки. Количество элементов в таком массиве на 1 больше, чем изображение строки.

A

\0

A

”A”

строка

(2 байта)

’A’

символ (1 байт)

Рис. 1. Представление строки и символа

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

char s1[10]="string1";//инициализация

char s2[]="string2";//инициализация

char s3[10];

cin>>s3;//ввод

//выделение памяти под динамическую строку

char *s4=new char[strlen(s3)+1];

strcpy(s4,s3);//копирование строки s3 в строку s4

Для работы со строками существуют специальные библиотечные функции, которые содержатся в заголовочном файле string.h.

Строки, при передаче в функцию, в качестве фактических параметров могут быть определены либо как одномерные массивы типа char[], либо как указатели типа char*. В отличие от обычных массивов в этом случае нет необходимости явно указывать длину строки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]