Лабораторная работа: Работа со структурами в языке программирования Си

Лабораторная работа: Работа со структурами в языке программирования Си




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































“Работа со структурами в языке программирования Си++”

Цель работы: познакомиться с понятием структуры и структурной переменной. Научиться создавать массивы структур и работать со вложенными структурами.
Структура – это объединение одного либо более объектов (переменных, массивов, указателей, других структур). Как и массив, она представляет собой совокупность данных, но отличается от него тем, что к ее элементам необходимо обращаться по имени, и ее различные элементы не обязательно должны принадлежать одному типу.
Структуры удобно использовать там, где разнообразные данные, относящиеся к одному и тому же объекту, необходимо объединять. Например, ученика средней школы характеризуют следующие данные: фамилия, имя, дата рождения, класс, возраст.
Объявление структуры осуществляется с помощью ключевого слова struct, за которым следует ее тип, список элементов, заключенных в фигурные скобки. Ее можно представить в следующем общем виде:
struct тип {тип элемента 1 имя элемента 1;
Именем элемента может быть любой идентификатор. В одной строке можно записывать через запятую несколько идентификаторов одного типа.
Русские буквы использовать в идентификаторе в языке СИ нельзя.
Следом за фигурной скобкой, заканчивающей список элементов, могут записываться переменные данного типа, например:
При этом выделяется соответствующая память.
Выведенное имя типа можно использовать для объявления записи, например: struct date day;. Теперь переменная day имеет тип date.
Разрешается вкладывать структуры одна на другую. Для лучшего восприятия структуры используем русские буквы в идентификаторах, в языке СИ этого делать нельзя.
Определенный выше тип DATA включает три элемента: День, Месяц, Год, содержащие целые значения (int). Запись УЧЕНИК включает элементы: ФАМИЛИЯ [15]; ИМЯ[15]; ДАТА РОЖДЕНИЯ, КЛАСС, ВОЗРАСТ. ФАМИЛИЯ [15] и ИМЯ [15] – это символьные массивы из 15 компонент каждый. Переменная ДАТА РОЖДЕНИЯ представлена составным элементом (вложенной структурой) ДАТА. Каждой дате рождения соответствуют день месяца, месяц и год. Элементы КЛАСС и ВОЗРАСТ содержат значения целого типа (int). После введения типов ДАТА и УЧЕНИК можно объявить переменные, значения которых принадлежат этим типам.
массив УЧЕНИКИ состоит из 50 элементов типа УЧЕНИК.
В языке СИ разрешено использовать массивы структуры; записи могут состоять из массивов и других записей.
Чтобы обратиться к отдельному компоненту структуры, необходимо указать ее имя, поставить точку и сразу за ней написать имя нужного элемента.
Ученики [1]. ДАТА РОЖДЕНИЯ. ДЕНЬ=5;
Ученики [1]. ДАТА РОЖДЕНИЯ. МЕСЯЦ=4;
Ученики [1]. ДАТА РОЖДЕНИЯ. ГОД=1979;
Первая строка указывает, что 1-й ученик учится в третьем классе, а последующие строки – его дату рождения: 5.04.79.
Каждый тип элемента структуры определяется соответствующей строкой объявления в фигурных скобках. Например, массив УЧЕНИКИ имеет тип УЧЕНИК, год является целым числом. Так как каждый элемент записи относится к определенному типу, его составное имя может появляться везде, где разрешено использовать значение этого типа. Рассмотрим пример программы:
/* Объявление записи типа computer, состоящей из трех элементов: mem, sp, model */
/* Объявление и инициализация переменной pibm типа computer */
{ printf (“ персональная ЭВМ % s\n\n “, pibm.model);
printf ( “объем оперативной памяти - % d К байт \n”, pibm.mem);
printf (“производительность - % d млн. операций в секунду \n”, pibm.sp);
/* вывод на экран значений элементов структуры */
В данной программе объявляется запись computer, которая состоит из трех элементов: mem (память ЭВМ), sp (быстродействие), model [20] (модель ПЭВМ). Переменная pibm имеет тип computer и является глобальной. Строки pibm.model, pibm.mem, pibm. sp в операторе printf вызывают обращение к соответствующим элементам записи pibm типа computer, которым ранее были присвоены определенные значения.
Результат работы программы имеет вид:
объем оперативной памяти – 512 К байт

производительность – 1 млн. операций в секунду

Рассмотрим использование в программе вложенных структур:
/* Демонстрация вложенных структур*/
/* Объявление структуры типа person; одним из элементов записи person является запись f1
/* обьявление переменной ind1 типа person */
printf ( “Укажите фамилию, имя, отчество, день, \n месяц”
“ и год рождения гражданина ind1\n”);
scanf (“ % S % S % S %d %d”, &ind1.fam, &ind1.im, &ind1.ot,
& ind1.f1.day, &ind1.f1.month, &ind1.f1.year );
/* Ввод сведений о гражданине ind1 */
printf (“ Фамилия, имя, отчество: % S % S % S \n”, ind1.fam, ind1.im, ind1.ot);
printf (“ Годрождения - % d \n”, ind1.f1.year);
printf (“ Месяцрождения - % d -й \n”, ind1.f1.month);
printf (“ День рождения - % d -й \n”, ind1.f1.day);
/* Вывод сведений о гражданине ind1 */
Структура типа date ( дата) содержит три элемента: day (день), month (месяц), year (год). Структура типа person (человек) содержит четыре элемента: fam[20] (фамилия), im[20] (имя) , ot[20] (отчество), f1 (дата рождения). Последний из них (f1) – это вложенная запись типа date.
Укажите фамилию, имя, отчество, день, месяц и год рождения гражданина ind1

Подчеркнутая информация вводится пользователем.
Фамилия, имя, отчество: Алексеев Сергей Петрович

В следующей программе рассмотрим использование структуры в виде элементов массива pibm. Каждый элемент состоит из следующих компонентов: mem (память), sp (объем винчестера), model [20] (модель ПЭВМ):
объявление массива pibm типа computer */
{ printf (“Введите сведения о ПЭВМ %d и признак (0-конец;
\n другая цифра- продолжение)\n”, i);
printf ( “объемоперативнойпамяти -”);
/* Здесь !priz – операцияотрицания priz; break – выходизцикла for, если priz=0 */
printf ( “\n О какой ПЭВМ Вы хотите получить сведения?\n (Введите номер от 0 до 9)\n” );
{ printf (“Нет сведений об этой ПЭВМ \n”);
printf (“ персональнаяЭВМ %s\n ”, pibm[j].model);
printf (“объем оперативной памяти - % d Мб \n ”, pibm[j].mem);
printf (“объем винчестера - % d Мб \n ”, pibm[j].sp);
/* Ввод сведений о ПЭВМ и занесение в массив pibm записей типа computer (первый цикл for); вывод на экран сведений о ПЭВМ (второй цикл for) */
Введите сведения о ПЭВМ и признак (0-конец; другая цифра – продолжение)

Введите сведения о ПЭВМ и признак (0-конец; другая цифра – продолжение)

О какой ПЭВМ Вы хотите получить сведения? (Введитн номер от 0 до 9)

Из таблицы взять задание по варианту и написать программу.
1. Подбельский В.В. Язык Cu ++: Учебное пособие. - М.: Финансы и статистика,1995, - 560 с.
2. Страуструп Б. Язык программирования Сг ++. - М.: Радио и связь, 1991. - 352 стр.
3. Собоцинский В.В. Практический курс Turbo Cu ++. Основы объктно- ориентированного программирования. - М.: Свет, 1993. - 236 с.
4. Романов В.Ю. Программирование на языке Cu ++. Практический подход. - М.: Компьтер, 1993. - 160 с.
5. Уинер Р. Язык турбо Cu . - М.: Мир, 1991. - 384 с.
6. Юлин В.А., Булатова И.Р. Приглашение к Cu. - Мн.: Высш. Шк., 1990,- 224 с.
7. Котлинская Г.П., Галиновский О.И. Программирование на языке Cu. -Мн.: Высш. Шк., 1991. - 156 с.

Название: Работа со структурами в языке программирования Си
Раздел: Рефераты по информатике
Тип: лабораторная работа
Добавлен 14:24:06 15 декабря 2010 Похожие работы
Просмотров: 101
Комментариев: 17
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Опишите запись СТУДЕНТ и поместите в нее следующую информацию: Ф.И.О., оценки (математика, физика, черчение, химия, сопромат). Определите, сколько студентов имеют неудовлетворительную оценку по математике.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов имеют неудовлетворительную оценку хотя бы по одному предмету.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов сдали все экзамены на 5.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите средний балл группы по физике.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите количество отличных оценок, полученных группой по всем предметам.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов имеют средний балл от 4 до 5.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите, какое количество неудовлетворительных оценок получено по всем предметам.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите, какой из предметов был сдан группой лучше всего.
Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов не имеют задолженностей.
Опишите запись АНКЕТА и поместите в нее следующую информацию: Ф.И.О.(фамилия, имя, отчество), адрес (улица, номер дома, номер квартиры), пол, возраст. Определите, сколько лиц женского и сколько мужского пола проживают в одном доме.
Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько лиц мужского пола в возрасте старше 18 лет и младше 60 проживают на одной улице.
Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько лиц женского пола в возрасте старше 30 лет проживают в одном доме.
Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько детей до 7 лет проживают на одной улице.
Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько лиц мужского пола и женского в возрасте до 50 лет проживают на одной улице.
Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько детей от 1 года до 5 проживают в одном доме.
Опишите запись ТРАНСПОРТ и поместите в нее следующую информацию: Ф.И.О. (фамилия, имя, отчество пассажира), багаж (количество вещей, вес в кг). Определить число пассажиров, вес багажа которых превышает 30 кг.
Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите, имеется ли пассажир, багаж которого состоит из одной вещи весом в 20 кг.
Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите средний вес багажа.
Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите количество пассажиров, вес багажа которых превосходит средний.
Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите количество пассажиров, имеющих более трех вещей.
Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Лабораторная работа: Работа со структурами в языке программирования Си
Реферат: Метрологическое обеспечение ремонта дизель-генератора специализированного серийного тепловоза ТЭП70. Скачать бесплатно и без регистрации
Реферат: Темы ов по ксе и экологии бесконечность и космологическая эволюция
Курсовая работа по теме Організація обліку та контролю на прикладі Кіровоградського районного центру зайнятості
Презентация На Тему Роль Денег
Реферат На Тему Астрономические Основы Летосчисления
Сочинение По Родному Языку Про Меседил Хасалихълъи
Реферат по теме Проблемы становления и развития гражданского общества в современной России
Курсовая работа по теме Технологические решения по устройству котлована
Контрольная работа: Никита Хрущев
Реферат: The Scarlet Letter Scaffold Essay Research Paper
Чернавский Курсовое Проектирование Деталей Машин
Реферат На Тему Філософські Проблеми Геосистем
Кандидатская Диссертация По Экономике Нефтехимических Предприятий
Реферат: Развитие креативности детей как условие сохранения здоровья
Реферат: Гражданское право сделки
Курсовая Работа Менеджмент Организаций
Реферат по теме Мартынов Леонид Николаевич
Интеллектуальная Собственность В Спорте Эссе
Курсовая Работа На Тему Разработка Модели Станции Переливания Крови С Использованием Методологии Проектирования Idef0, Dfd И Idef3
Реферат: Russia Between 8001584 Essay Research Paper The
Доклад: Прошлое и будущее высокопроизводительных вычислений
Реферат: Методы изучения затрат рабочего времени
Курсовая работа: Технологія монтажу, ремонту та правила технічного обслуговування синхронних двигунів

Report Page