Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy_LR3.docx
Скачиваний:
25
Добавлен:
18.02.2018
Размер:
33.74 Кб
Скачать

1. Массивы в языке Си: объявление, начальная инициализация, доступ к элементам массива. Индексное выражение.

Объявление массива

Массив - именованная группа данных одного типа, собранных под одним именем

[М_К_П](модификатор класса памяти) <тип><список_массивов>

<тип> имя [P1][P2]...[Pn]

int arr[10] - массив целых чисел размером в 10 элементов.

int arr [i][j] /* [строка][столбец] */

Инициализация

<тип>имя [Размер] = {список_инициализаторов}

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; - одномерный

int [2][3] = {{1,2,3},{4,5,6}} - двухмерный

Доступ к элементу массива

Доступ к элементу массива осуществляется с помощью имени массива и индекса

Имя [номер_элемента] - одномерный

Имя [P1][P2]...[Pn] - многомерный

а[0]=1

Индексное выражение

Индексное выражение arr[5] ссылается на шестой элемент массива, т.к. нумерация элементов идет с нуля.

Если необходимо обратиться к 10 элементу, надо написать аrr[9] или аrr+9.

2. Особенности организации одномерных и многомерных массивов в языке Си. Понятие приведенного индекса массива.

В языке СИ определены только одномерные массивы, но поскольку элементом массива может быть массив, можно определить и многомерные массивы. Они формализуются списком константных-выражений следующих за идентификатором массива, причем каждое константное-выражение заключается в свои квадратные скобки.

Элементы многомерного массива располагаются в последовательных ячейках оперативной памяти по возрастанию адресов.

Массив int a[2][3] будет расположен в памяти следующим образом:

Понятие приведенного индекса массива

Индексные выражения для ссылки на элементы одномерного массива вычисляются путем сложения целой величины со значениями указателя с последующим применением к результату операции разадресации (*)

3. Определение алгоритма и его свойства

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

Свойства:

1) массовость - применим для класса подобных задач, причем для всех допустимых значений;

2) дискретность - процесс получения результата разделяется на элементарные операции из ограниченного набора;

3) результативность - получение результата за конечное время;

4) определенность - ориентирован на определенного исполнителя, который должен однозначно понимать все инструкции, входящие в алгоритм

4. Организация адресного пространства приложения. Влияние области видимости переменной на выбор сегмента для ее размещения в программе. Влияние области локализации программной переменной на присваиваемое ей значение по умолчанию.

Объекты, объявленные глобально, имеют закреплённую за ними область оперативной памяти, в

которой хранится их значение в течение всего времени выполнения программы.

Объекты, объявленные локально, имеют закреплённую за ними область оперативной памяти, в

которой хранится их значение, в течение времени выполнения блока, в котором они объявлены.

Это объекты, объявленные внутри блоков. При входе в блок под эти объекты выделяется память,

при выходе из блока память освобождается. При повторном входе в блок память под объект

выделяется снова, но это может быть совершенно иная область памяти.

Область видимости (действия) объекта – это область программы, в которой объект является

доступным для использования.

Глобальную для файла область действия имеют объекты, объявленные на внешнем уровне в

данном файле, так как к ним можно обратиться из любой области файла за исключением блоков, в которых эти объекты локально переобъявлены.

Локальную область действия имеют объекты, объявленные внутри какого-нибудь блока, их область действия – от точки объявления до конца блока. Если имя локального объекта совпадает с именем глобального объекта, то внутри локального блока глобальный объект становится недоступным.

Влияние области локализации программной переменной на присваиваемое ей значение по

умолчанию.

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

может записаться абсолютно любое значение

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