русс | укр

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

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

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

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


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

Функции

[return [РВ];]

}

где имя – идентификатор (название) функции;

тип – описатель типа функции (результата);

bi – список (перечисление через запятую) формальных параметров, используемых в вычислениях (действиях) тела функции с указанием типа каждого;

описатели bi – операторы описания типов формальных параметров, выполненные вне заголовка;

( ) – ограничители списка формальных параметров;

тело функции – основная часть (совокупность операторов), реализующая вынесенные в отдельный алгоритм вычисления (действия);

return РВ; – оператор возврата (return) результата вычислений;

РВ – результат вычислений (выражение);

[ ] – признак необязательности содержимого;

{ } – ограничители тела функции.

Первая строка структуры является заголовком функции.

Структура вызова функции:

имя ([a1, . . . , ai, . . . , an])

где имя – идентификатор функции;

a1, ai, an – список (перечисление через запятую) фактических параметров (аргументов), численные значения которых требуется передать в дополнительную функцию (подпрограмму);

( ) – ограничители аргументов;

[ ] – признак необязательности содержимого.

Правила записи и использования

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

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

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

4. Функция предписывает выполнение указанных в теле вычислений (действий) с операндами – формальными параметрами, идентификаторы которых указаны в списке заголовка.

5. В качестве формальных параметров используются переменные и указатели.

6. Физически формальные параметры (переменные) – дополнительные ячейки памяти, предназначенные для временного хранения, передаваемых им значений фактических параметров.

7. Количество, типы и последовательность расположения формальных параметров в списке задается создателем функции.

8. В функции наряду с формальными параметрами могут использоваться вспомогательные (локальные) переменные.

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

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

11. Тип возвращаемого значения определяется типом функции. Если он не указан, подразумевается целочисленный результат (int). Результат возвращается в точку вызова.

12. В функции при необходимости могут быть несколько операторов возврата (return), располагаемых в теле функции в соответствии с требованиями алгоритма.

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

14. Головная и дополнительные функции – есть отдельные программные модули. Поэтому в них могут использоваться одноимённые переменные, указатели и массивы.

15. Тексты (определения) дополнительных пользовательских функций могут располагаться в любом месте программы (вне тела любой из функций), стандартных – в соответствующих библиотеках языка Си в виде объектных модулей.

16. Независимо от взаиморасположения функций выполнение программного модуля начинается с головной функции.

17. Из тела каждой функции можно обращаться к любой другой, а также и к ней самой.

18. Фактические и формальные параметры в списках должны совпадать по количеству, месту расположения и типу.

19. В качестве фактических параметров используются константы, переменные, вызовы дополнительных функций, арифметические выражения, адреса переменных и массивов.

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

Прототип является конструкцией, аналогичной описателям переменных, что позволяет проверить указанные в вызове типы фактических параметров и возвращаемого результата на соответствие указанным в заголовке функции.

Прототип функции аналогичен ее заголовку и имеет структуру

[тип] имя([тип [b1], . . . ,тип [bi], . . . ,тип [bn]]);

где имя – идентификатор (название) функции;

тип – описатель типа функции (результата);

b1, bi, bn – список (перечисление через запятую) формальных параметров с указанием типа;

( ) – ограничители списка формальных параметров;

[ ] – признак необязательности содержимого;

; – признак оператора.

В списке допускается указывать только типы формальных параметров.

Рассмотрим конкретные примеры определения, вызова, и описания функций.

Пример взаимодействия головной функции с одной пользовательской и стандартными

Просмотров: 475


Вернуться в оглавление



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


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

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

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


 


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

 
 

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