Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций.DOC
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
268 Кб
Скачать
☆

Void main(void)

{

show_number(1); show_number(1001); show_number(-500);

}

будет напечатано:

значение параметра а=1

значение параметра а=1001

значение параметра а= -500

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

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

Пример №3. Функция, которая возводит число а в натуральную степень b:

a  a  …  a

b раз

#include<iostream.h>

float step (float a, int b)

{

int i; float f=1;

for ( i=1; i<abs(b); i++) f*=a;

if (b>=0)return f;

else return (1/f);

}

void main () { cout <<”3.2^5=”<<step(3.2,5);}

В программе можно использовать возвращаемое функцией значение, запоминая его в переменной с помощью оператора присваивания:

rezult=step(3, 5);

Можно использовать вызов функции в операторе cout:

cout << «3^5=» << step(3, 5) << endl;

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

if ( max(a, b)<100) . . .

Можно в самом начале программы поместить прототип функции, а сама функция может быть задана в другом месте программы. Прототип указывает тип возвращаемого значения, имя функции, количество и тип каждого параметра. Чаще всего прототип совпадает с заголовком в описании функции. Прототип может выглядеть так: float func(int a, float b); или так:

float func(int, float);

Эти два объявления абсолютно равносильны.

Пример №4. Функция возведения в квадрат.

#include < iostream.h>

float sqr(float); // прототип функции

Void main(void)

{

float b;

cout <<  введите число: 

cin >> b;

cout <<  b^2=  << sqr(b) << endl;

}

float sqr(float a); // описание функции

{

return a*a;

}

Область действий переменной.

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

Локальные переменные – это переменные, объявленные внутри блока, в частности внутри функции. Локальная переменная доступна внутри блока, в котором объявлена Блок открывается и закрывается с помощью фигурных скобок. Локальная переменная существует, пока выполняется блок, в котором она объявлена. При выходе из блока эта переменная и ее значение теряется.

Пример №5.

#include <iostream.h>

Void func(void); //прототип функции

Void main(void)

{

int i=1; //локальная переменная

func();

cout << В функции main значение i= << i << endl;

}

Void func(void)

{

int i=10; //локальная переменная

cout <<  в функции func значение i= << i << endl;

}

Будет напечатано:

в функции func значение i=1

в функции main значение i=10

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

Глобальные переменные – это переменные , объявленные вне какой-то функции.

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

Пример №6.

#include <iostream. h>

int a=1001; // глобальная переменная а