русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Определение функций.


Дата добавления: 2013-12-23; просмотров: 921; Нарушение авторских прав


Функции

Определение функций.Как уже было отмечено, каждая программа на языке Си - это совокупность функций. В определении функции указываются последовательность действий, выполняемых при обращении к функции, имя функции, тип результата (возвращаемого значения) и совокупность формальных параметров, заменяемых при обращении к функции фактическими параметрами (аргументами).

"Описание и определение функций - это та область, где стандартом ANSI в язык внесены самые существенные изменения" [2]. Так как многие компиляторы были написаны до ввода стандартов, а многие современные компиляторы позволяют использовать два варианта определения и описания функций, не будем ограничиваться только вариантом, рекомендуемым стандартом языка. Это целесообразно, так как "достандартный" (нестандартный) вариант часто встречается в опубликованных ранее текстах программ и нужно уметь их читать. Начнем в исторической последовательности с нестандартного определения функции, однако отметим еще раз, что стандарт допускает два варианта определения.

Действия, выполняемые при обращении к функции, задает ее тело - составной оператор (блок), обязательным элементом которого служат внешние фигурные скобки { }. Имя функции, тип результата, совокупность параметров и их свойства задают заголовок функции. Структура классического (нестандартного) определения функции:

тип результата

имя_функции (список_формальных _параметров)

спецификация _формалъных_параметров

{

определения_объектов

исполняемые _операторы

}

 

Здесь первые три строки - заголовок, последние четыре -тело функции.

В этой главе будем рассматривать функции, возвращающие значения целого или вещественного типа. Таким образом, типом результата может быть char, int, long, float, doubleили long double.Могут быть добавлены signed и unsigned.Если тип результата не указан, то по умолчанию предполагается целый тип int. Допустимы функции, не возвращающие результата. В этом случае для них должен быть использован тип void.



Имя неглавной функции - это произвольно выбираемый идентификатор. Имя функции не должно совпадать со служебными словами, именами библиотечных функций и с другими именами в программе. Список формальных параметров - набор идентификаторов, отделяемых друг от друга запятыми. Спецификация формальных параметров определяет их свойства и во многом подобна определениям и описаниям. В данной главе будем считать, что параметр может быть специфицирован либо как простая переменная целого или вещественного типа, либо как одномерный массив (целый или вещественный). Пример рассмотренного определения функции:

 

 

В настоящее время более широко используется и рекомендуется стандартом языка Си определение функции, в котором список формальных параметров объединен с их спецификацией. Структура стандартного определения функции:

тип результата

имя_функции (спецификация _формалъных_параметров)

{

определения_объектов; исполняемые_операторы;

)

 

Пример той же функции:

 

 

Принципиально важным оператором тела функции является оператор возврата из функции в точку ее вызова:

returnвыражение; или

return;

 

Выражение в операторе возврата задает возвращаемое функцией значение. Для функции типа void,не возвращающей никакого значения, выражение в операторе returnотсутствует. В теле такой функции оператор returnможет вообще отсутствовать. В этом случае компилятор предполагает, что оператор returnнаходится в самом конце тела функции.

Применение оператора returnдопустимо и в функции main( ). Если программист явно не поместил в функцию main() оператор return,то компилятор поместит его в конце текста функции main(). В отличие от "неглавных" функций, откуда возврат выполняется в вызывающую функцию, выполнение оператора return;или returnвыражение; в функции main( ) приводит к завершению программы. Управление при таком выходе передается вызывающей программе, например операционной системе, которая может анализировать значение выражения, использованного в операторе возврата.

Приведем примеры определения функций и проиллюстрируем некоторые их особенности.



<== предыдущая лекция | следующая лекция ==>
Основные функции работы в текстовом режиме | Обращение к функции и ее прототип.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.