русс | укр

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

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

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

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


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

Объявление формальных параметров


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


Функции, имеющие возвращаемый параметр с помощью оператора return.

Тип возвращаемого параметра функции может быть:

· простой тип: - арифметический, символьный, логический, перечисляемый;

· указатель базовый тип любой: - скаляр, массив, строка, структура, файл, функция.

Если в заголовке функции не указан тип возвращаемого параметра, то по умолчанию возвращается с помощью оператора return переменная типа int.

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

int big (int a, int b)

{

if (a>b) return a; // если a>b, то программа завершится здесь

else return b; // иначе здесь

}

 

int bigint (int a, int b, int c)

{

if ( (a>b) && (a>c) ) return = a;

else if (b>c) return = b;

else return = c;

}

Если функция не возвращает результат в точку вызова, то return может отсутствовать и выполнение функции завершается по концу тела функции.

Если функция возвращает результат в точку вызова, то вызов такой функции представляет собой:

1. операнд в операторе:

· в правой части оператора присвоения;

· в списке фактических параметров;

· в операторе условия выражением условия;

· в выборе варианта селектором;

· в цикле с предусловием и постусловием;

· в методе в/в cout.

2. самостоятельный оператор.

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

имя_функции ([список фактических параметров]);

· имя_функции совпадает с именем вызываемой функции;

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

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



Пример функции, возвращающей указатель

#include <iostream>

using namespace std ;

char* fSubStr ( char*, char* ) ;

int main ( )

{

char* s = "A Toyota! Race fast... safe car: a Toyota" ;

char* ss = "Toyota" ;

cout << "String:\t\t" << s << endl ;

cout << "Substring:\t" << ss << endl ;

char* p ( s );

while ( p = fSubStr ( p, ss ) )

{

cout << "Substring entry:\t" << p << endl ;

p += strlen ( ss ) ;

}

return 0 ;

}

// определение функции поиска подстроки в строке

char* fSubStr ( char* ps, char* pss )

{

if ( ! *pss || strlen ( pss ) > strlen ( ps ) ) return 0 ;

char *p, *r ;

while ( *ps )

{

for ( p = ps, r = pss; *r && *p == *r; p++, r++ ) ;

if ( ! *r ) return ps ;

ps++ ;

}

return 0 ;

}

Параметры функции определяются списком формальных параметров. Они позволяют при каждом вызове функции работать с переменными, определенными при вызове функции, называющиеся фактическими параметрами. Рассмотрим предыдущий пример:

 

cout<<”Куб числа ”<< 1.2<<” = ”<<cube(1.2);//фактический параметр 1.2 // соответствует описанию формального //параметра

double cube(double x) // double x – формальный параметр

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

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

2. последовательность формальных и соответствующих им фактических параметров должна быть соответственна: первому формальному параметру соответствует первый фактический, второму – второй и т.д.;

3. типы формальных и соответствующих им фактических параметров должны быть одинаковыми или совместимыми.

Сопоставление формальных и фактических параметров производится динамически при каждом вызове функции, в последовательности: первому формальному параметру соответствует первый фактический, второму – второй и т.д. Формат объявления формальных параметров:



<== предыдущая лекция | следующая лекция ==>
Функции | Тип идентификатор


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


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

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

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


 


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

 
 

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

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