- •Программирование на языке высокого уровня си
- •Часть II
- •Содержание
- •Работа 1. Пользовательские функции в си
- •I. Теоретический раздел работы
- •1. Функции
- •1.1. Аргументы функций
- •1.2.Функции, возвращающие значения.
- •1.3. Функция main ()
- •2. Рекурсия.
- •II. Экспериментальный раздел работы
- •III. Задания для самостоятельной работы
- •Работа 2. Структурированный тип данных массив
- •I. Теоретический раздел работы
- •1.1. Структурированный тип данных массив
- •1.2. Передача массива в качестве параметра
- •1.3. Многомерные массивы
- •II. Экспериментальный раздел
- •III. Задания для самостоятельной работы.
- •Работа 3. Символьный и строковый типы данных
- •1.1. Символьный тип данных
- •Работа 4. Структуры
- •I. Теоретический раздел работы
- •1.1. Структура
- •1.2. Объединение
- •1.3. Переименование типов
- •II. Экспериментальный раздел работы
- •III. Задания для самостоятельной работы
- •Работа 5. Работа с файлами
- •I. Теоретический раздел работы
- •1.1.Введение
- •1.1. Потоковый ввод-вывод
- •1.2. Открытие и закрытие потока
- •1.3. Стандартные файлы и функции для работы с ними.
- •1.4. Форматированный ввод-вывод
- •1.5. Прямой доступ к файлам
- •II. Экспериментальный раздел работы.
- •III. Задания для самостоятельной работы
- •Список литературы
- •Учебное издание
- •Часть II
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
«ПРИДНЕСТРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
им. Т. Г. ШЕВЧЕНКО»
ПГУ им. Т.Г.Шевченко
Рыбницкий филиал
Кафедра физики, математики и информатики
Программирование на языке высокого уровня си
Часть II
практикум
Рыбница, 2010
УДК 681.3.06
ББК 32.973.2-018
П 78
Программирование на языке высокого уровня СИ. Часть II: практикум/
Сост. О. В. Шестопал, О. В. Сташкова. – Тирасполь, 2010. – 83 с.
Практикум составлен в соответствии с учебной программой по дисциплинам «Программирование на языке высокого уровня» для студентов 1 курса специальности «Программное обеспечение вычислительной техники и автоматизированных систем».
Практикум (II часть) включает в себя 5 лабораторных работ по структурированным типам данных: массивы, строки, перечисляемый и диапазонный типы данных, структуры и объединения, файлы. Особое внимание уделено вопросам программирования рекурсивных алгоритмов. Каждая из лабораторных работ включает теоретический материал, экспериментальный и самостоятельный разделы. Порядок расположения материала соответствует последовательности его изучения.
Основные цели предлагаемого практикума – придать курсу программирования научно-обоснованный базис, сформировать на его основе определенную культуру проектирования и разработки программ.
Рецензенты:
В.Е. Лозовский, учитель высшей категории, директор МОУ «Рыбницкая средняя образовательная школа №6 с лицейскими классами»
А.Б. Глазов, ст. преп. кафедры «ФМИ»
Рекомендовано Научно-методическим советом ПГУ им. Т.Г. Шевченко
Протокол № _______от ____________ 2010 г.
© Составление О.В. Шестопал, О.В.Сташкова, 2010 г.
Содержание
Работа 1. ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ В СИ 4
Работа 2. СТРУКТУРИРОВАННЫЙ ТИП ДАННЫХ МАССИВ 17
35
Работа 3. СИМВОЛЬНЫЙ И СТРОКОВЫЙ ТИПЫ ДАННЫХ 36
Работа 4. СТРУКТУРЫ 50
Работа 5. РАБОТА С ФАЙЛАМИ 62
СПИСОК ЛИТЕРАТУРЫ 77
Работа 1. Пользовательские функции в си
Цель работы:
– изучить суть работы с подпрограммами;
– изучить правила описания подпрограмм и обращения к подпрограммам;
– изучить понятие и виды рекурсии;
– научиться решать задачи с использованием подпрограмм;
– научиться применять рекурсию для решения задач.
I. Теоретический раздел работы
1. Функции
Любая Си-программа составляется из "строительных блоков", именуемых функциями. Функция — это подпрограмма, которая содержит одну или несколько Си-инструкций и выполняет одну или несколько задач. Хороший стиль программирования на Cи предполагает, что каждая функция выполняет только одну задачу.
Каждая функция имеет имя, которое используется для ее вызова. Своим функциям программист может давать любые имена за исключением имени main (), зарезервированного для функции, с которой начинается выполнение программы.
В Cи ни одна функция не может быть встроена в другую: все функции рассматриваются как отдельные компоненты. (Безусловно, одна функция может вызывать другую.)
Прототип объявляет функцию до ее первого использования.
Общий формат Си-функций
Общий формат Си-функций:
тип_возвращаемого_значения имя (список_параметров)
{
тело функции
}
Рассмотрим подробно все элементы, составляющие функцию.
С помощью элемента тип_возвращаемого_значения указывается тип значения, возвращаемого функцией. Если функция не возвращает никакого значения, необходимо указать тип void. Если функция действительно возвращает значение, оно должно иметь тип, совместимый с указанным в определении функции.
Каждая функция имеет имя. Оно, как нетрудно догадаться, задается элементом имя. После имени функции между круглых скобок указывается список параметров, который представляет собой последовательность пар (состоящих из типа данных и имени), разделенных запятыми. Если функция не имеет параметров, элемент список_параметров отсутствует, т.е. круглые скобки остаются пустыми.
В фигурные скобки заключено тело функции. Тело функции составляют Си-инструкции, которые определяют действия функции. Функция завершается (и управление передается вызывающей процедуре) при достижении закрывающей фигурной скобки или инструкции return.