Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Функция как компонент структуры программы




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

· Создается программа на C++ с помощью текстового редактора и сохраняется в исходных файлах, для которых используется расширение СРР.

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

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

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

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

Рассмотрим примеры простейших программ, состоящих только из одной главной функции main() и демонстрирующих вывод в стиле С и в стиле С++.

В программировании заголовочный (подключаемый) файл (англ. header file) – это файл, содержимое которого автоматически добавляется препроцессором в исходный текст программы в том месте, где располагается некоторая директива (в С и С++ это директива # include). В С и C++ заголовочные файлы – основной способ подключить к программе прототипы функций, константы, классы и пр., (стандартные или из другого модуля).

 

    # include <стандартный файл> //подключение стандартных заголовочных файлов

    # include ”файл пользователя” //подключение заголовочных файлов пользователя

 

Заголовочный файл в общем случае может содержать любые конструкции языка программирования, но на практике исполняемый код (за исключением inline -функций в C++, которые мы будем изучать позже) в заголовочные файлы не помещают. Например, идентификаторы, которые должны быть объявлены более чем в одном файле, удобно описать в заголовочном файле, а затем его подключать по мере надобности. По сложившейся традиции, в заголовочных файлах объявляют функции стандартной библиотеки Си и Си++, т.е. записывают их прототипы (заголовок функции, завершающийся символом ‘;’).

Примеры прототипов функций:

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

int f2 (int, char);              //прототип функции f2           

double sin (double);   //прототип стандартной математической функции вычисления синуса          

 

Для подключения заголовочного файла с прототипами функций ввода/вывода                        в стиле С используется директива # include < stdio. h > [1].

Простейшая программа «Hello, world!» может быть записана так:

· с использованием библиотеки С < stdio. h >

/*proba_1_1.cpp*/      

# include <stdio.h>            

#include <conio.h> // для прототипа _getch()

Int main()

{

printf("Hello, World! \n " [2]);

  _ getch () [3];

return 0 [4];

}

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

В фигурных скобках представлено тело функции (последовательность описаний, определений и операторов, каждое из которых заканчивается символом «точка с запятой»). В нашем примере тело функции содержит операторы вызова функции printf () для вывода текста на экран, вызова функции _ getch () дляприостановки выполнения программы и оператор завершения return..

Оператор возврата return выражение; завершает выполнение программы (функции) и передает значение выражения в точку вызова программы (функции). Для функции main()значение выражения должно быть равно нулю (return0;), если выполнение программы прошло успешно. Так как программа «запускается» на выполнение по команде операционной системы, то и возврат будет выполнен к операционной системе (точнее, в стандартный модуль, который автоматически «прикомпоновывается» к программе и из которого осуществляется ее вызов).Оператор return явно может и не использоваться (стандарт С++ предусматривает, что функция main() по умолчанию возвращает 0).

Программа «Hello, world!» может быть записана с использованием библиотеки С++ iostream так:

 

/*proba_2_1.cpp*/

# include <iostream> [5]

# include <cstdlib> // для работы с функцией system()

Int main()

{

std:: cout << "Hello, world!" << std:: endl [6];

system ("pause"); //приостановка выполнения программы до нажатия клавиши

   return 0;

}

 

Для обеспечения ввода/вывода в С++ используется директива # include < iostream >. С++ обеспечивает выполнение вывода в стандартный поток std::cout с использованием оператора <<, а ввода из стандартного потока std::cin – с использованием оператора >>. В то же время, доступны, как и в С, функции вывода printf() и ввода scanf().

Имена, используемые в стандартной библиотеке С++ (например, cout и endl), объявлены в пространстве имен std. Они невидимы в программе, пока мы явно не сделаем их видимыми. Обозначения заголовочных файлов программ до введения стандарта языка имели расширение “.h”, а имена объектов библиотек и программы помещались в единственное глобальное пространство имен и никакого префикса при обращении к ним не требовалось. Стандарт языка С++ поместил имена из стандартной библиотеки классов и функций в пространство имен std, отделив их тем самым от глобального пространства имен. Префикс std:: – это указание на обращение к имени из стандартного пространства имен std.

Одна из принципиальных особенностей С++ – расширение действия стандартных операций, или перегрузка. Конструкция (лексема) <<,при условии, что слева от нее находится имя объекта std::cout (std::cout <<) означает операцию « поместить в поток », в противном случае,означает, как и в С, операцию сдвига влево двоичного представления значения левого операнда (например, запись x << 2 означает сдвиг значения переменной x на 2 разряда влево, т.е. умножение на 4). Об этом подробнее мы будем говорить позже.

Для упрощения обращения к библиотечным именам без префикса std:: в современных компиляторах используется директива using namespace std;. Разработчики современных компиляторов встраивают в них возможность применения в программах старых заголовков (с расширением.h).

 

/*proba_2_2.cpp*/

# include <iostream>// С ++

# include < cstdlib > // для работы с функцией system()

Using namespace std;

Int main()

{

cout << "Hello, world!" << endl;

system ("pause");   

return 0;

}





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


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 202 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

4620 - | 4271 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.