- •Часть I
- •Работа 1 Знакомство со средой Borland c
- •1. Введение
- •2. Начало работы в среде
- •2.1. Вызов Borland c
- •2.2. Использование меню
- •2.3. Работа с окнами. Использование мыши
- •2.4. Первая программа
- •2.5. Работа с файлами
- •2.6. Основные приемы работы с текстовым редактором
- •2.7. Меню Edit
- •3. В конце работы Вы должны уметь
- •Работа 2 Обзор элементов языка с
- •I. Теоретический раздел работы
- •1.1. Введение
- •1.2. Структура программы на языке Borland c
- •Состав языка
- •1.3.1. Константы и переменные
- •1.3.2. Типы данных в с
- •Ввод и вывод данных
- •II. Экспериментальный раздел работы
- •III. Дополнительный материал
- •IV. Раздел заданий для самостоятельной работы
- •Работа 3 Операции языка Си, оператор присваивания
- •I.Теоретический раздел работы
- •1.1. Знаки операций в Си
- •1.2.Выражения
- •2. Оператор присваивания
- •3. Алгебраические выражения
- •4. Описание пользовательских подпрограмм-функций
- •II. Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы
- •Работа 4 Числовые типы данных
- •I.Теоретический раздел работы
- •1.1. Целые типы данных
- •1.1.1. Операции над целыми типами данных
- •1.1.2. Представление целых чисел в компьютере
- •1.1.3. Некоторые стандартные подпрограммы для работы с целыми числами
- •1.2. Представление вещественных чисел в эвм
- •II.Экспериментальный раздел работы
- •III. Раздел заданий для самостоятельной работы.
- •Работа 5 Операторы отношений и логические операторы
- •I.Теоретический раздел работы
- •1.1. Некоторые сведения о логическом типе данных
- •1.2. Оператор условного перехода if...Else
- •1.3. Условный оператор switch
- •II. Экспериментальный раздел работы
- •Работа 6 Инструкции управления. Операторы Си, реализующие повторения
- •I. Теоретический раздел работы
- •1.1. Оператор цикла с предусловием
- •1.2. Оператор цикла с постусловием
- •1.3. Оператор цикла со счётчиком
- •1.4. Операторы завершения цикла
- •II.Экспериментальный раздел работы
- •Список литературы
4. Описание пользовательских подпрограмм-функций
Несмотря на то, что в языке С имеется много стандартных функций, часто возникает необходимость создавать свои собственные. Функцией называется фрагмент программы, в который передаются ПАРАМЕТРЫ, и который ВОЗВРАЩАЕТ значение. Прелесть функции в том, что ее можно выполнить много раз из разных точек программы. Функции дают удобный способ заключения некоторой части вычислений в черный ящик, который в дальнейшем можно использовать, не интересуясь его внутренним содержанием. Использование функций является фактически единственным способом справиться с потенциальной сложностью больших программ. Если функции организованы должным образом, то можно игнорировать то, как делается работа; достаточно знание того, что делается. Язык С разработан таким образом, чтобы сделать использование функций легким, удобным и эффективным. Вам будут часто встречаться функции длиной всего в несколько строчек, вызываемые только один раз, и они используются только потому, что это проясняет некоторую часть программы. До сих пор мы использовали только предоставленные нам функции типа sqrt, sin; теперь пора написать несколько наших собственных.
Функция C по структуре подобна программе main, которую вы использовали во всех предыдущих программах. Другими словами, имя функции предваряется ее типом, а за ним следует список параметров, описание которых появляется в скобках. Вы группируете операторы функций внутри левой и правой фигурных скобок, как показано ниже:
тип_возврата имя_функции (список_параметров)
{
объявления_переменных; операторы;
}
Пример:
void MyFunction (void)
{
/*
………………..
*/
}
Как вы, возможно, помните, слово void, предшествующее имени функции, указывает функции не возвращать значение. Подобно этому, слово void, содержащееся внутри круглых скобок, указывает (компилятору C и программистам, читающим ваш код), что функция не использует параметры (информацию, которую программа передает функции).
Вы может, как передаватьзначения в вашу функцию, так и возвращать значения из нее. Для этого надо указать входные переменные и тип результат :
int MyFunction (int a,int b,double f)
Функции используют оператор return для возврата значения вызвавшей функции. Когда ваша программа встречает оператор return, она возвращает заданное значение и завершает выполнение функции, возвращая управление вызвавшей программе. В программе вы можете использовать возвращаемое значение, как показано ниже:
Result =MyFunction(a,b,f);
Если операторы появляются в функции после оператора return они не будут выполняться. Как уже обсуждалось выше, если ваша программа встречает оператор return в функции, то возвращается соответствующее значение, функция заканчивается и выполнение программы продолжается с первого оператора, следующего за вызовом функции.
Имена, использованные для формальных параметров функций, являются чисто локальными и недоступны никаким другим функциям: другие процедуры могут использовать те же самые имена без возникновения конфликта. Формальные параметры – это наименование переменных, с помощью которых резервируются ячейки памяти, и передается информация.
При вызове функции в основной программе вместо формальных параметров помещаются их конкретные значения – фактические параметры. Между формальными и фактическими параметрами должно быть полное соответствие по количеству, порядку следования и типу. Однако обозначения соответствующих параметров не обязательно должно совпадать. Напомним, что имя функции может быть использовано в алгебраических выражениях.