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

19. Многомерные массивы

В языке С можно пользоваться массивами, размерность которых больше двух. Общая форма объявления многомерного массива следующая:

тип имя_массива [Размер1][Размер2]...[РазмерN];

Массивы, у которых число измерений больше трех, используются довольно редко, потому что они занимают большой объем памяти. Например, четырехмерный массив символов размерностью 10x6x9x4 занимает 2160 байтов. Если бы массив содержал 2-байтовые целые, потребовалось бы 4320 байтов. Если бы элементы массива имели тип double, причем каждый элемент (вещественное число двойной точности) занимал бы 8 байтов, то для хранения массива потребовалось бы 17280 байтов. Объем требуемой памяти с ростом числа измерений растет экспоненциально. Например, если к предыдущему массиву добавить пятое измерение, причем его толщину по этому измерению сделать равной всего 10, то его объем возрастет до 172800 байтов.

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

Передавая многомерный массив в функцию, в объявлении параметров функции необходимо указать все размеры измерений, кроме самого левого. Например, если массив m объявлен как

int m[4] [3] [6] [5];

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

void func1(int d[][3][6][5])

{

/* ... */

}

Конечно, можно включить в объявление и размер 1-го измерения, но это излишне.

20.Способы ввода данных в программу.

способы ввода данных принтф, присваивание в самой программе(а=1), и через файл.

21.Арифметические операции

+

Прибавляет величину, находящуюся справа, к величине, стоящей слева

-

Вычитает величину, стоящую справа, из величины, указанной слева

-

Будучи унарной операцией, изменяет знак величины, стоящей справа

*

Умножает величину справа на величину, находящуюся слева

/

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

%

Дает остаток от деления величины слева на величину, стоящую справа (только для целых чисел)

++

Прибавляет 1 к значению переменной, стояшей слева (префикная форма), или к переменной, стояшей справа (постфиксная форма)

--

Аналогично ++, но вычитает 1

22. Логические операции

Обычно логические операции "считают" условные выражения операндами. Операция ! имеет один операнд, расположенный справа. Остальные операции имеют два операнда: один слева и один справа.

&&

Логическое И: результат операции имеет значение "истина", если оба операнда истинны, и "ложь" в противном случае.

||

Логическое ИЛИ: результат операции имеет значение "истина", если один или оба операнда истинны, и "ложь" в противном случае.

!

Логическое НЕ: результат имеет значение "истина", если операнд имеет значение "ложь", и наоборот.