Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Определения функций. // функции square, определяемая программистом,




 

// функции square, определяемая программистом,

// вычисляет квадраты целых чисел от 1 до 10.

 

#include "stdafx.h"

#include <iostream>

using namespace std;

 

int square(int); //Прототип функции

 

int _tmain(int argc, _TCHAR* argv[])

{

for (int x=1; x<=10; x++)

{

cout <<square(x) <<" ";

}

cout <<endl;

return 0;

}

//Описание функции

int square(int y)

{

return y*y;

}

 

Функция square активизируется или вызывается в main вызовом square (x).

Функция создает копию значения x в параметре y. Результат передается в ту точку main, из которой была вызвана square, и затем этот результат выводится на экран. Благодаря структуре повторения for этот процесс повторяется 10 раз.

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

 

Строка

int square (int);

 

является прототипом функции. Тип данных int в круглых скобках указывает компилятору, что функция square ожидает в операторе вызова целое значение аргумента. Тип данных int слева от имени функции square указывает компилятору, что square возвращает оператору вызова целый результат. Компилятор обращается к прототипу функции для проверки того, что вызовы функции square содержат правильный возвращаемый тип, правильное количество аргументов, правильный тип аргументов и правильный порядок перечисления аргументов.

 

 

Формат описания функции имеет вид

 

тип-возвращаемого-значения имя-функции (список-параметров)

{

объявления и операторы

}

 

 

Имя функции – любой правильно написанный идентификатор.

Тип- возвращаемого-значения – это тип данных результата, возвращаемого из функции оператору её вызова. Тип возвращаемого значения void указывает, что функция не возвращает никакого значения. Компилятор предполагает тип int для неопределенного типа возвращаемого значения.

Список-параметров – список разделенных запятыми объявлений тех параметров, которые получает функция при её вызове. Если функция не получает никаких значений, список-параметров задается как void. Тип должен быть указан явно для каждого параметра в списке параметров.

Объявления и операторы – внутри { } образуют тело функции. Тело функции рассматривается как блок. Блок – просто составной оператор, который включает объявления. Переменные могут быть объявлены в любом блоке, а блоки могут быть вложенными.

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




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 1254; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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