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

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

  1. Дайте определение алгоритма и перечислите основные способы записи алгоритмов.

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

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

  4. Назовите основные лексемы языка Си. Дайте определение каждой из лексем и примеры.

  5. Перечислите основные типы операторов языка.

  6. Запишите операторы цикла, передачи управления, выбора.

  7. Напишите примеры использования функций printf() и scanf().

Лабораторная работа № 2 массивы целых чисел. Символьные массивы.

1. Цель работы.

Приобретение практических навыков работы с массивами целых чисел и строками.

2. Общие положения.

Массив - поименованный набор элементов одного и того же типа, располагающихся в памяти последовательно друг за другом по возрастанию адресов. Элементы массива нумеруются от 0 до n-1. Каждый элемент имеет свой номер.

Массив имеет имя, тип и размер. Элемент массива имеет имя (совпадает с именем массива) и индекс (номер). Например:

float deg[20] - вещественный массив из 20 элементов (вещественных чисел).

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

char str[15] - массив str - строка длиной в 15 символов.

Массивы при объявлении могут быть инициированы (получать начальные значения):

int a[] = {1, 4, 9, 4, -7, 78, 100, -3, 0, 55, 8};

char s[20] = {'a', 'b', 'c'}, word [] = “Hello !”;

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

Можно инициализировать каждый элемент массива и через присваивание, a[5] = 31; // присваивание значения 31 6-му элементу массива a.

a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], …

Двумерные массивы . Хранятся в памяти строками: сначала помещаются все колонки 1-ой строки, затем все колонки 2-ой строки и т.д. Самый правый индекс массива меняется первым. Описание двумерного массива:

тип Имя_ массива [ число_строк ][ число_столбцов ];

float rain[5][9];

Инициализация массива int ag[2][3]= {{23,17,56}, {3,41,786} };

Строкой называется последовательность символов, ограниченная символом с кодом 0, то есть '\0'. Из ее определения видно, что она является объектом переменной размерности. Поскольку в Си допускаются переменные только фиксированной размерности, то единственным допустимым способом представления строки является массив символов. Проясним суть взаимоотношений между строкой и массивом символов:

- строка хранится в массиве символов, массив символов может быть инициализирован строкой, а может быть заполнен программно:

char A[20] = { 'С','т','р','о','к','а','\0' };

int i;

char B[80];

for (i=0; i<20; i++) B[i] = 'A';

B[20] = '\0';

- строка имеет переменную размерность, ограниченную символом '\0', поэтому работать с ней можно, просматривая ее от начала до конца, пока не встретится символ '\0':

for (i=0; B[i] !='\0'; i++)...

- соответствие размерности массива и длины строки транслятором не контролируется, за это несет ответственность программа (программист, ее написавший).

Способы определения строк:

  • строковая константа #define M “строка”

  • массив типа char char m[] = “строка”

  • указатель на тип char char *m = “строка”

  • массив из символьных строк char *m[2] = {“строка1”, “строка2”}

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