Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП. ЛЕКЦИИ! Готовимся к экзамену))).docx
Скачиваний:
12
Добавлен:
10.12.2018
Размер:
175.63 Кб
Скачать

1.5.6. Возвращаемые значения функции

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

Пример функции, которая возвращает среднее арифметическое от введенных 3-х чисел.

#include<iostream.h>

float sred (float nl, float n2, float n3) // объявление функции sred

{

int s;

s=( n1 + n2 + n3)/ 3;

return s;

}

main()

{

float num1, num2, num3;

int avg;

cout<<"\n Введите три числа";

cin>>num 1>>num2>>num3 ;

avg=sred (numl, num2, num3); // вызов функции sred

cout<<"\n Среднее значение= "<< avg;

return 0;

}

Замечание

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

1.5.7. Использование прототипов функций

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

Предыдущий пример, записанный при помощи прототипов функций:

#include <iostream.h>

float sred (float nl, float n2, float n3); // прототип (объявление) функции sred

main()

{

float num1, num2, num3;

int avg;

cout<<"\n Введите три числа";

cin>>num1>>num2>>num3 ;

avg=sred (numl, num2, num3); // вызов функции sred

cout<<"\nСреднее значение= "<< avg;

return 0;

}

float sred (float nl, float n2, float n3) // определение функции sred

{

int s;

s=(n1 + n2 +n3) / 3; //тело функции sred

return s;

}

Использование прототипов позволяет исключить возможные ошибки при передаче параметров.

Тема 1.6(1). Массивы и указатели

Цели изучения темы

  • изучить работу с одномерными и двумерными массивами;

  • изучить работу с указателями.

Объявление массива

Массив – это множество однотипных данных, объединенных под одним именем.

Формат объявления массива:

<тип элементов массива> <имя массива>[количество элементов массива]

где

тип элементов массива – любой тип данных языка С++

Пример

int mas[3]; // объявлен массив из 3 целых чисел

Нумерация в массивах начинается с нуля. Поэтому массив mas содежит элементы, которые обозначаются: mas[0], mas[1], mas[2].

Массив можно инициализировать при объявлении. В этом случае нет необходимости указывать его размер.

Пример

int mas[]={23, 25, 81}; // объявлен и инициализирован массив из 3 целых чисел

Элементы массива mas получили значения:

mas[0]= 23,

mas[1]= 25,

mas[2]= 81.

Массив символов в С++ представляет собой строку символов. При этом строка символов обязательно заканчивается признаком конца, которым служит символ ‘\0’.

Пример

char city [ ] = "Москва";

Массив city будет содержать строку из 7 элементов: 6 букв и 0-символ. 0-символ является признаком конца строки, в программе он обозначается \0.

Такой способ инициализации не подходит, если в дальнейшем в массив city потребуется занести название другого города с длинным названием.

Можно описать название города по-другому:

char city1[ ] = {'М', 'о', 'с', 'к', 'в', 'а' }

Массив city1 – это массив символов; он будет содержать 6 элементов (символов).

Примечание. В одинарных кавычках (апострофах) ‘b’ записывают символы, в двойных – строки символов, потому что последний символ строки символов – признак конца строки ‘\0’. Поэтому ‘b’ – это один символ, а “b” – два (символ b и символ конца строки).

Объявленные выше массивы city и city1 в памяти ПК представлены следующим образом:

City

City1

0

М

0

М

1

О

1

о

2

С

2

с

3

К

3

к

4

В

4

в

5

А

5

а

6

/0

 

 

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

city [0]='м';