Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ ВАШИХ ПЕРВЫХ ФУНКЦИЙ



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

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

Таблица 9. Примеры смысловых имен функций.

Имя функции Назначение функции
Print_test_scores Печатать тестовые очки класса
Accounts_payable Обработать счета компании
Get_user_name Запрос имени пользователя
Print_document Напечатать указанный документ
Calculate_income_tax Определить подоходный налог пользователя

Функция C++ по структуре подобна программе main, которую вы использовали во всех предыдущих программах. Другими словами, имя функции предваряется ее типом, а за ним следует список параметров, описание которых появляется в скобках. Вы группируете операторы функций внутри левой и правой фигурных скобок, как показано ниже:

тип_возврата имя_функции (список_параметров)

{

объявления_переменных;
операторы;
}Рассмотрите, например, как структура этой функции соответствует следующей программе main:

void main (void) //———–> тип имя (список_параметров)

{
int count; // —————————> объявления_переменных;
for (count = 0; count < 10; count++) cout < < count < < ‘ ‘; // —–> Оператор
}

Следующие операторы определяют функцию с именем show_message, которая выводит сообщение на экран, используя cout.

void show_message (void)

{
cout < < «Привет, учусь программировать на C++» < < endl;
}

Как вы, возможно, помните из урока 2, слово void, предшествующее имени функции, указывает функции не возвращать значение. Подобно этому, слово void, содержащееся внутри круглых скобок, указывает (компилятору C++ и программистам, читающим ваш код), что функция не использует параметры (информацию, которую программа передает функции). Следующая программа SHOW_ MSG.CPP использует функциюshow_message для вывода сообщения на экран:

#include < iostream.h>

void show_message (void)

{
cout < < «Привет, учусь программировать на C++» < < endl;
}

void main (void)

{
cout < < «Перед вызовом функции» < < endl;
show_message ();
cout < < «Вернулись из функции» < < endl;
}

Вы уже знаете, что выполнение программы всегда начинается внутриmain. Внутри main следующий оператор (вызов функции) вызывает функцию show_message:

show_message ();

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

С: \> SHOW_MSG < ENTER>

Перед вызовом функции

Привет, учусь программировать на C++

Вернулись из функции

Если программа встречает вызов функции, она начинает выполнять операторы, находящиеся внутри функции. После того как программа выполнит все операторы, которые содержит функция (другими словами, функция завершится); выполнение программы продолжается с оператора, следующего непосредственно за вызовом функции:

#include < iostream.h>

void show_message (void)

{
cout < < «Привет, учусь программировать на C++» < < endl;
}

void main (void)

{
cout < < «Перед вызовом функции» < < endl;
show_message ();
cout < < «Вернулись из функции» < < endl;
}

В данном случае программа выполняет первый оператор в main, которой выводит сообщение для пользователя, что программа собирается вызвать функцию. Далее программа встречает вызов функции и запускает выполнение операторов в show_messsage. После того как программа выполнит единственный оператор функции, она возвращается обратно вmain и продолжает свое выполнение с оператора, непосредственно следующего за вызовом функции. В этом случае программа выводит сообщение, извещая пользователя о том, что она возвратилась из функции, и после этого заканчивает свою работу. Следующая программа TWO__MSGS.CPP использует две функции - show_title и show_lesson для вывода информации об этой книге:

#include < iostream.h>

void show_title (void)

{
cout < < «Книга: Учимся программировать на C++» < < endl;
}

void show_lesson (void)
{
cout < < «Урок: Знакомство с функциями» < < endl;
}

void main (void)
{
show_title ();
show_lesson ();
}

Когда программа начинает выполнение, она сначала вызывает функциюshow_title, которая выводит сообщение с помощью cout. После завершенияshow_title программа вызывает функцию show_lesson, также выводящую сообщение. После завершения show_lesson программа завершается, поскольку в main больше нет операторов.

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

Вызов функции

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

function_name();

Если программа передает информацию (параметры) в функцию, она размещает эту информацию внутри круглых скобок, разделяя ее запятыми:

payroll(employee_name, employee_id, salary);

После того как последний оператор функции завершен, выполнение программы продолжается с первого оператора следующего за вызовом функции.

ПРОГРАММА МОЖЕТ ПЕРЕДАВАТЬ ИНФОРМАЦИЮ В ФУНКЦИИ

Для увеличения потенциальных возможностей ваших функций C++ позволяет программам передавать информацию (параметры) в функции. Если функция использует параметры, вы должны сообщить C++ тип каждого параметра, например int, float, char и т.д. Следующая функцияshow_number использует параметр типа int.

void show_number (int value)

{
cout < < «Значение параметра равно » < < value < < endl;
}

Если ваша программа вызывает функцию show_number, она должна передать ей значение, как показано ниже:

show_number ( 1001 ); //—————-> Значение, передаваемое в функцию

C++ будет подставлять переданное число вместо каждого имени параметра value внутри функции:

show_number (1001)

void show_number (int value )

{
cout < < «Значение параметра равно » < < value < < endl;
}

void show_number (1001)

{
cout < < «Значение параметра равно » < < 1001 < < endl;
}

Как видите, поскольку C++ замещает значение параметра, функцияshow_number выводит число 1001, переданное ей главной программой.

Следующая программа USEPARAM.CPP использует функциюshow_number несколько раз, каждый раз передавая разные числа:

#include < iostream.h>

void show_number (int value)

{
cout < < «Значение параметра равно » < < value < < endl;
}

void main (void)

{
show_number (1);
show_number (1001);
show_number (-532);
}

Если вы откомпилируете и запустите эту программу, на вашем экране будет отображено следующее:

С: \> USEPARAM < ENTER>

Значение параметра равно 1

Значение параметра равно 1001


Поделиться:



Популярное:

  1. III. Вид работы: «Использование информационной базы данных»
  2. V. Использование психодиагностических методик
  3. Аварийные радиобуи EPIRB, SART. Назначение, использование, эксплуатационные проверки.
  4. Активное использование речевых средств и средств информационно- коммуникационных технологий (далее – ИКТ) для решения коммуникативных и познавательных задач.
  5. Анализ рентабельности собственного капитала. Использование модели Дюпона в финансовом управлении.
  6. Анализ товарооборота, его использование для характеристики показателей деятельности
  7. Ассортимент полуфабрикатов и их использование
  8. Базы данных. Использование ЭВМ для хранения неструктурированной (текстовой) информации. Информационно-поисковые системы.
  9. Банковская система и предложение денег. Центральный банк, его функции. Коммерческие банки. Создание денег банковской системой. Банковский мультипликатор. Денежная база.
  10. Беседа с использованием проективных заданий («Зазеркалье») (адаптированная методика Е.И.Изотовой).
  11. БЛОК 3. Создание работоспособности.
  12. Ваши слова воздействуют на слушателя как правда, как несомненный здравый смысл. Происходит ли это потому, что Вы исходите из Ваших фундаментальных ощущений, а у слушателя нет опыта подобных ощущений?


Последнее изменение этой страницы: 2016-05-30; Просмотров: 660; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.018 с.)
Главная | Случайная страница | Обратная связь