Основы языка программирования
План лекций: 1. Основные особенности языка С++ 2. Основные понятия языка программирования: алфавит, константы, идентификаторы, ключевые слова, комментарии, директивы. 3. Структура программы языка 4. Типы данных 5. Переменные, константы, символы
Основные особенности языка С++ С++ предлагает большой набор операций, многие из которых соответствуют машинным командам и поэтому допускают прямую трансляцию в машинный код, а их разнообразие позволяет выбирать различные наборы для минимизации результирующего кода; базовые типы данных С++ совпадают с типами данных Ассемблера, на преобразования типов налагаются незначительные ограничения; объем С++ невелик, т.к. практически все выполняемые функции оформлены в виде подключаемых библиотек, также C++ полностью поддерживает технологию структурного программирования и обеспечивает полный набор соответствующих операторов; С++ широко использует указатели на переменные и функции, кроме того, поддерживает арифметику указателей, и тем самым позволяет осуществлять непосредственный доступ и манипуляции с адресами памяти; удобным средством для передачи параметров являются ссылки; C++ содержит в себе все основные черты объектно-ориентированных языков программирования:наличие объектов и инкапсуляцию данных, наследование, полиморфизм и абстракцию типов;
Основные понятия языка программирования При написании программ на языке C++ используются следующие понятия: алфавит; константы; идентификаторы; ключевые слова; комментарии; директивы.
Основные понятия языка: алфавит Алфавитом называют присущий данному языку набор символов, из которых формируются все конструкции языка. Язык C++ оперирует со следующим набором символов: латинские прописные и строчные буквы (А, В, С,..., х, у, z); арабские цифры (0, 1, 2,..., 7, 8, 9); символ подчеркивания («_»); специальные символы (список специальных символов языка C++ приведен в таблице А1); символы-разделители (пробелы, комментарии, концы строк и т.д.). С помощью перечисленных символов формируются имена, ключевые (служебные) слова, числа, строки символов, метки.
Основные понятия языка: идентификатор Идентификаторы (имена) используются для обозначения (идентификации) всех объектов, вводимых в программу (имен переменных, констант, функций, типов, меток и т.д.). Имена обязательно начинаются с латинской буквы или символа подчеркивания «_», за которыми могут следовать в любой комбинации латинские буквы и цифры. C++ различает прописные и строчные буквы. Не допускается использование для написания имен специальных символов и символов-разделителей. Например, _х, В12, Stack - правильно; Label.4, Root-3 - неправильно.
Основные понятия языка: ключевые слова Некоторые идентификаторы, имеющие специальное значение для компилятора, употребляются как ключевые слова. Их употребление строго определено, и они не могут использоваться иначе.
Основные понятия языка: комментарий Комментарий - это часть программы (пояснительный текст, оформленный определенным образом), которая игнорируется компилятором и служит для удобочитаемости исходного текста программы. В процессе компиляции комментарий заменяется пробелом, следовательно, он может располагаться в любом месте программы, где допустимо использование пробела. Любая последовательность символов, заключенная в ограничивающие скобки /* */, в языках С и С++ рассматривается как многострочный комментарий, например, /*Главная программа*/. В языке C++ дополнительно имеется еще один вид комментария - однострочный: все символы, следующие за знаком // (двойной слеш) до конца строки, рассматриваются как комментарий, например, //Главная программа.
Структура программы на языке C++ Программа на языке С++ состоит из функций, описаний и директив препроцессора. Одна из функций должна иметь имя main. Выполнение программы начинается с первого оператора этой функции. Простейшее определение функции имеет следующий формат: тип возвращаемого значения имя ([ параметры ]){ операторы, составляющие тело функции }
Структура программы на языке C++ Как правило, функция используется для вычисления какого-либо значения, поэтому перед именем функции указывается его тип. Ниже приведены самые необходимые сведения о функциях: если функция не должна возвращать значение, указывается тип void: тело функции является блоком и, следовательно, заключается в фигурные скобки; функции не могут быть вложенными; каждый оператор заканчивается точкой с запятой (кроме составного оператора). Пример структуры программы, содержащей функции main, fl и f2: директивы препроцессора описания int main(){ операторы главной функции } fl(){ операторы функции fl } int f2(){ операторы функции f2 }
Структура программы на языке C++ Препроцессор – это программа, которая обрабатывает текст вашей программы до компилятора. Работа препроцессора управляется директивами. С помощью препроцессора можно выполнять следующие операции: включение в программу текстов из указанных файлов; включение в программу текстов из указанных файлов замена идентификаторов последовательностями символов; замена идентификаторов последовательностями символов макроподстановка, т.е. замена обозначения параметризованным текстом, формируемым препроцессором с учетом конкретных аргументов; макроподстановка исключение из программы отдельных частей текста (условная компиляция).условная компиляция
Включение файлов производиться с помощью директивы #include, которая имеет следующий синтаксис: #include #include "путь" Угловые скобки здесь являются элементом синтаксиса. Директива #include включает содержимое файла, путь к которому задан, в компилируемый файл вместо строки с директивой: если путь заключен в угловые скобки, то поиск файла осуществляется в стандартных директориях; если путь заключен в кавычки и задан полностью, то поиск файла осуществляется в заданной директории; если путь полностью не задан – в текущей директории.
Типы данных Определяя данные, необходимо предоставить компилятору информацию об их типе. В С++ определены пять базовых типов данных: символьные (char); целые (int); вещественный с плавающей точкой (float); вещественный с плавающей точкой двойной длины (double); пустой, не имеющий значения тип (void).
Переменные, константы, символы Переменная - это имя, связанное с областью памяти, которая отведена для временного размещения хранимого значения и его последующего извлечения. В C++ все переменные должны быть объявлены до их использования. Объявление предполагает наличие имени переменной и указание ее типа. Однако следует иметь в виду, что нельзя создать переменную типа void. Основная форма объявления переменных имеет вид тип ; где, тип - один из существующих типов переменных; может состоять из одной или нескольких переменных, разделенных запятыми. Например, int x, e, z; float radius; long double integral;
Можно объявлять переменные и одновременно присваивать им значения, т.е. инициализировать их. Инициализацией называется присваивание переменным начальных значений. Например, int min=15; float p1=1.35; Переменная называется глобальной, если она объявлена вне каких-либо функций, в том числе функции main (). Переменная, объявленная внутри тела функции (одного блока), является локальной и может использоваться только внутри этого блока. Вне блока она неизвестна. Правила объявления переменных: две глобальные переменные не могут иметь одинаковые имена; локальные переменные разных функций могут иметь одинаковые имена; две локальные переменные в одном блоке не могут иметь одинаковые имена.
Данные в языках программирования могут представляться также в виде констант. Константы используются в тех случаях, когда программе запрещено изменять значение какой-либо переменной. Наиболее удобным способом определения констант является следующий: const тип имя_константы = значение_константы; Литеральные константы (литералы) - это значения, которые вводятся непосредственно в текст программы. Поскольку после компиляции нельзя изменить значения литералов, их также называют константами. Например, в выражении int MyAge=19; имя MyAge является переменной типа int, а число 19 - литеральной константой, которой нельзя присвоить никакого иного значения. Символьная константа состоит из одного символа, заключенного в апострофы: q, 2, $. Например, const char month=December;
Строковые константы состоят из последовательности символов кода ASCII, заключенной в кавычки, оканчивающейся нулевым байтом. Конец символьной строки (нулевой байт) обозначается символом NULL (\0). Перечислимые константы позволяют создавать новые типы данных, а затем определять переменные этих типов, значения которых ограничены набором значений константы. Для создания перечисляемой константы используется ключевое слово enum, а запись имеет вид enum имя_константы {список_значений_константы}; Значения константы в списке значений разделяются запятыми. Например, enum COLOR {RED, BLUE, GREEN, WHITE, BLACK};