Разделы презентаций


Тема 4. Переменные, массивы, структуры

Содержание

Информационные технологииТема 4. Переменные, массивы, структуры2Объявление и определение переменныхШевченко А. В.Объявление и инициализацияПеред использованием в программе любая переменная должна быть объявлена, то есть ей необходимо присвоить имя и указать тип: Тип_данных

Слайды и текст этой презентации

Слайд 1Информационные технологии
Тема 4. Переменные, массивы, структуры
1
Тема 4. Переменные, массивы, структуры
Шевченко

А. В.

Информационные технологииТема 4. Переменные, массивы, структуры1Тема 4. Переменные, массивы, структурыШевченко А. В.

Слайд 2Информационные технологии
Тема 4. Переменные, массивы, структуры
2
Объявление и определение переменных
Шевченко А.

В.
Объявление и инициализация
Перед использованием в программе любая переменная должна быть

объявлена, то есть ей необходимо присвоить имя и указать тип: Тип_данных имя_переменной[, имя_переменной, … ]; При определении переменных можно одновременно провести их инициализацию: Переменная = значение

Пример программы

short a; int day, month, year; double PI = 3.14; unsigned long x, y = 255, z;

Информационные технологииТема 4. Переменные, массивы, структуры2Объявление и определение переменныхШевченко А. В.Объявление и инициализацияПеред использованием в программе любая

Слайд 3Информационные технологии
Тема 4. Переменные, массивы, структуры
3
Перечисления
Шевченко А. В.
Объявление перечислимого типа

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

целочисленных констант: enum [имя_типа] { значение1, значение2, … }; Элементы, которые не инициализированы явно, получают значения предшествующих им элементов, увеличенные на единицу. Первому элементу присваивается значение 0.

Пример программы

enum Animal {Cat, Dog, Tiger, Elephant}; enum Error {ERR_READ = 101, ERR_WRITE = 102}; Animal a1; Animal a2 = Cat;

Информационные технологииТема 4. Переменные, массивы, структуры3ПеречисленияШевченко А. В.Объявление перечислимого типа данныхПеречисление является типом данных, все возможные значения

Слайд 4Информационные технологии
Тема 4. Переменные, массивы, структуры
4
Массивы
Шевченко А. В.
Объявление массивов
Массив -

это объединение нескольких элементов данных одного типа в одну переменную: Тип_данных

имя_массива[число_элементов]; Тип и число элементов определяют объем памяти, выделяемой под массив. Число элементов может быть задано константами или константными выражениями. Значение числа элементов должно выражаться целым положительным числом.

Пример программы

int months[12]; Animal animals[200]; enum {MIN = 20, MAX = 200}; double values[MIN*10];

Информационные технологииТема 4. Переменные, массивы, структуры4МассивыШевченко А. В.Объявление массивовМассив - это объединение нескольких элементов данных одного типа

Слайд 5Информационные технологии
Тема 4. Переменные, массивы, структуры
5
Массивы
Шевченко А. В.
Инициализация массивов
При определении

можно одновременно инициализировать массив. Для этого после имени массива ставят

знак равенства и в фигурных скобках по порядку перечисляют значения элементов массива: Тип имя[число_элементов] = { значение1, значение2, … }; Нет необходимости инициализировать все элементы. Неинициализированным элементам присваивается значение 0. Если значений больше, чем размер массива, то выдается сообщение об ошибке. Если размер не указан, то он вычисляется по числу элементов.

Пример программы

float values[3]; float values[3] = {1.23, 4.56}; float values[] = {1.23, 4.56};

Информационные технологииТема 4. Переменные, массивы, структуры5МассивыШевченко А. В.Инициализация массивовПри определении можно одновременно инициализировать массив. Для этого после

Слайд 6Информационные технологии
Тема 4. Переменные, массивы, структуры
6
Доступ к элементам массива
Шевченко А.

В.
Индексация элементов массивов
Доступ к элементам массива осуществляется при помощи индекса,

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

Пример программы

float values[3] = {1.23, 4.56}; float x = values[2]; values[2] = 7.89; int index = 1; float y = values[index+1];

Информационные технологииТема 4. Переменные, массивы, структуры6Доступ к элементам массиваШевченко А. В.Индексация элементов массивовДоступ к элементам массива осуществляется

Слайд 7Информационные технологии
Тема 4. Переменные, массивы, структуры
7
Строки
Шевченко А. В.
Представление строк в

языке С
Строки символов представляют собой массив типа char. В стандарте

языка С предусмотрены ASCIIZ строки, заканчивающиеся символом '\0' (нуль-терминатором). При инциализации строки константой нуль-терминатор автоматически подставляется компилятором в конец строки.

Пример программы

char country[] = "Russia"; char country[7] = {'R', 'u', 's', 's', 'i', 'a', '\0'}; char country[7]; country[0] = 'R'; country[1] = 'u'; country[2] = 's'; country[3] = 's'; country[4] = 'i'; country[5] = 'a';

Информационные технологииТема 4. Переменные, массивы, структуры7СтрокиШевченко А. В.Представление строк в языке ССтроки символов представляют собой массив типа

Слайд 8Информационные технологии
Тема 4. Переменные, массивы, структуры
8
Многомерные массивы
Шевченко А. В.
Представление многомерных

массивов в языке С
Язык С поддерживает многомерные массивы. Размерность определяется

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

Пример программы

int matrix[3][2] = {{11, 12}, {21, 22}, {31, 32}}; int matrix[3][2] = {11, 12, 21, 22, 31, 32}; matrix[0][0] = 11; matrix[0][1] = 12; matrix[1][0] = 21; matrix[1][1] = 22; matrix[2][0] = 31; matrix[2][1] = 32;

Информационные технологииТема 4. Переменные, массивы, структуры8Многомерные массивыШевченко А. В.Представление многомерных массивов в языке СЯзык С поддерживает многомерные

Слайд 9Информационные технологии
Тема 4. Переменные, массивы, структуры
9
Структуры
Шевченко А. В.
Объявление структур
Структуры объединяют

под одним именем данные различных типов: struct [имя_структуры] { тип_1

элемент_1; тип_2 элемент_2; … };

Пример программы

struct Product { int code; char name[20]; float price; char comment[256]; };

Информационные технологииТема 4. Переменные, массивы, структуры9СтруктурыШевченко А. В.Объявление структурСтруктуры объединяют под одним именем данные различных типов: struct

Слайд 10Информационные технологии
Тема 4. Переменные, массивы, структуры
10
Определение структурных переменных
Шевченко А. В.
Объявление

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

имя структуры (только С++). Структурные переменные могут быть элементами массивов.

Пример программы

struct Product product1; Product products[20]; struct { int x; int y; float length; } vector1, vector2;

Информационные технологииТема 4. Переменные, массивы, структуры10Определение структурных переменныхШевченко А. В.Объявление структурных переменныхСтруктурные переменные объявляются стандартным образом. В

Слайд 11Информационные технологии
Тема 4. Переменные, массивы, структуры
11
Инициализация структур
Шевченко А. В.
Инициализация структурных

переменных
Структурные переменные могут инициализироваться при их определении. Для этого после

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

Пример программы

Product products[20] = { {1, "Яблоки", 55.50, "Сорт \"Гольден\""}, {2, "Апельсины", 45.00}, {5, "Бананы", 22.00}, {8, "Груши", 64.45, "Очень спелые!"}, {4, "Сливы", 82.50}, {6, "Грейпфруты"}, };

Информационные технологииТема 4. Переменные, массивы, структуры11Инициализация структурШевченко А. В.Инициализация структурных переменныхСтруктурные переменные могут инициализироваться при их определении.

Слайд 12Информационные технологии
Тема 4. Переменные, массивы, структуры
12
Доступ к элементам структур
Шевченко А.

В.
Оператор доступа к элементам структуры
Для доступа к отдельным элементам (полям)

структурных переменных используется оператор ".", который связывает имя структурной переменной и имя поля.

Пример программы

Product product; product.code = 1; product.name = "Яблоки"; product.price = 55.50; product.comment = "Сорт \"Гольден\""; float price = products[9].price;

Информационные технологииТема 4. Переменные, массивы, структуры12Доступ к элементам структурШевченко А. В.Оператор доступа к элементам структурыДля доступа к

Слайд 13Информационные технологии
Тема 4. Переменные, массивы, структуры
13
Объединения
Шевченко А. В.
Объявление
Объединения можно рассматривать

как структуру, все элементы которой имеют одинаковый начальный адрес в

памяти. Синтаксис объединений: union [имя_объединения] { тип_1 элемент_1; тип_2 элемент_2; … };

Пример программы

union Date { char date_dos[12]; char date_unix[50]; };

Информационные технологииТема 4. Переменные, массивы, структуры13ОбъединенияШевченко А. В.ОбъявлениеОбъединения можно рассматривать как структуру, все элементы которой имеют одинаковый

Слайд 14Информационные технологии
Тема 4. Переменные, массивы, структуры
14
Определение размера переменных в памяти
Шевченко

А. В.
Оператор sizeof()
Оператор sizeof() позволяет определить размер в байтах, занимаемый

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

Пример программы

short x; int size1 = sizeof(short); int size2 = sizeof(x);

Пример программы

long y[] = {43, 56, 34}; int size1 = sizeof(long); int size2 = sizeof(y); int n = sizeof(y)/sizeof(long);

Информационные технологииТема 4. Переменные, массивы, структуры14Определение размера переменных в памятиШевченко А. В.Оператор sizeof()Оператор sizeof() позволяет определить размер

Слайд 15Информационные технологии
Тема 4. Переменные, массивы, структуры
15
Созание новых типов данных
Шевченко А.

В.
Оператор typedef
Оператор typedef позволяет определять новые типы данных на основе

уже существующих.

Пример программы

typedef short number; typedef struct {int x; int y} Vector; typedef long[64] LONG_ARRAY;

Информационные технологииТема 4. Переменные, массивы, структуры15Созание новых типов данныхШевченко А. В.Оператор typedefОператор typedef позволяет определять новые типы

Слайд 16Информационные технологии
Тема 4. Переменные, массивы, структуры
16
Шевченко А. В.
Выравнивание данных в

структурах
Текст программы
typedef struct { short

a; float b; char c; } A; … A a1, a2; a1.a = -23456; a1.b = 1234.56; a1.c = 8;

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

a

b

c

A

a

b

c

a

b

c

a1

a2

sizeof(A) = 12

Информационные технологииТема 4. Переменные, массивы, структуры16Шевченко А. В.Выравнивание данных в структурахТекст программы  typedef struct

Слайд 17Информационные технологии
Тема 4. Переменные, массивы, структуры
17
Шевченко А. В.
Оптимальное размещение данных

в структурах
a
b
c
A1
sizeof(A1) = 12
a
c
A2
sizeof(A2) = 8
b
Текст программы
typedef struct

{ short a; float b; char c; } A1; … typedef struct { short a; char c; float b; } A2;
Информационные технологииТема 4. Переменные, массивы, структуры17Шевченко А. В.Оптимальное размещение данных в структурахabcA1sizeof(A1) = 12acA2sizeof(A2) = 8bТекст программы

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика