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

23. Массивы. Описание массива.

Массив - это совокупность элементов данных одного и того же типа, объединенных общим именем и расположенных в непрерывной области памяти ЭВМ так, что к каждому элементу массива можно получить доступ, зная его порядковый номер или индекс.

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

24. Ввод-вывод массива

Язык Си не имеет встроенных средств для ввода-вывода массива целиком, поэтому массив вводят и выводят поэлементно с помощью циклов, как, например, в следующей программе:

#include <stdio.h>

void main(void)

{

double a[100]; int n, i;

printf("Введите количество чисел n = ");

scanf("%d", &n);

if(n>(sizeof a) /sizeof(double))

{

printf("Слишком много элементов\n");

}

else

{

for(i=0; i<n; i++)

{

printf("a[%d]=", i); scanf("%lf", &a[i]);

}

………

25. Инициализация массива

Инициализация - присвоение значений вместе с описанием данных.

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

int a[4] = { 15, 21, 1, 304 };

индексы элементов -> 0 1 2 3

26. Программа вычисления длины строки символов

Фрагмент вычисления длины строки можно оформить в виде отдельной функции и затем использовать в разных программах. Эта функция может выглядеть следующим образом:

int StrLen (char str[])

{

int len;

for(len=0; str[len]; len++);

return len;

}

32. Двумерные массивы (массивы массивов)

Двумерный массив удобно представить себе виде прямоугольной таблицы элементов; выделяют строки и столбцы.

Описание двумерного массива строится из описания одномерного путем добавления второй размерности, например:

int a[4][3];

В памяти ЭВМ двумернвй массив представляется как массив массивов т.е. каждый эемент такого массива является в свою очередь тоже массивом. В С описание происходит с помощью дополнительной пары квадратных скобок.

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

Имя двумерного массива с одним индексным выражением А[i] - значение адреса первого элемента этой строки.

Имя двумерного массива с двумя индексными выражениями

A[i][j] – значение j-го элемента i-ой строки.

Ввод двумерного массива осуществляется поэлементно с помощью двух вложенных циклов.

32. Адресная арифметика языка Си

1. К адресу можно прибавить целое число n результатом будет адрес элемента того же типа отстоящего на n позиций вправо от исходного элемента.

int *p, p1, a[100];

p=a;//пусть адрес 1000

p1=p+5;//p+N*R результат 1020

аналогично используется операция ++, +=.

2. Вычитание из адреса целого числа. Результатом является адрес того же типа элементa на n отстоящего влево от исходного.

3. Вычитание двух указателей разрешено. Результат - количество элементов.

4. умножение, сложение деление указателей запрещено.

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