Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1 ятп.docx
Скачиваний:
7
Добавлен:
22.02.2015
Размер:
95.05 Кб
Скачать
  1. // FIRST.CPP -пример простой программы

  2. #include <iostream>

  3. using namespace std;

  4. Int main ()

  5. {

  6. cout « "Hello C++!\п";

  7. return 0;

  8. }

Этот пример демонстрирует типичную структуру программы на C++. Рассмотрим эту структуру в деталях.

0-ая строка): Комментарий однострочный //текст

Комментарии являются важной частью любой программы. Цель его- документировать программу и облегчить её чтение как разработчику, так и любому другому человеку, читающему код. Компилятор игнорирует все, что помечено в программе как комментарий, поэтому комментарии не включаются в содержимое исполняемого файла и никак не влияют на ход исполнения программы.

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

В C++ существует еще один вид комментариев: /* устаревший вид комментариев */ он позволяет набрать многострочный комментарий.

1-ая строка): Директива препроцессора #include <имя файла>

Эта строка начинается с символа # ,называется директивой препроцессора и является указанием компилятору. Препроцессором называется специальная часть компилятора, обрабатывающая подобные директивы перед началом процесса компиляции кода. Директива #include указывает препроцессору включить в компилируемый файл содержимое другого файла на место директивы #include. Файл, включаемый с помощью директивы #include, обычно называют заголовочным (или включаемым) файлом. I0STREAM является примером заголовочного файла потока ввода- вывода, должен быть включен для всех программ, которые вводят данные с клавиатуры или выводят данные на экран . Этот текстовый файл содержит описание элементов стандартной библиотеки, необходимых для выполнения операций ввода- вывода. Конкретно: описан набор классов для управления вводом – выволом, стандартные объекты - потоки ( cin для ввода с клавиатуры и cout для вывода на экран), а также операции помещения в поток << (вывод на экран) и извлечения из потока >>(ввод с клавиатуры). . В стандартном C++ заголовочные файлы не имеют расширения, но те файлы, которые были унаследованы от языка С, имеют расширение .h.

2-ая строка): Директива using namespace std;

Каждую программу на языке C++ можно разбить на несколько так называемых пространств имен. Пространством имен называется область программы, в которой распознается определенная совокупность имен. Эти имена могут быть неизвестны за пределами данного пространства имен.В пространстве каждое имя уникально, но могут быть одинаковые имена в разных пространствах. Директива using namespace std; означает, что все определенные ниже имена в программе будут относиться к пространству имен с именем std. Объявления стандартных средств ввода – вывода содержатся в этом пространстве имён std, например переменные cout и cin. Если не использовать директиву using, то к этим элементам программы придется каждый раз добавлять имя std: std::cout , : std::cin. Для того, чтобы не дописывать std:: каждый раз перед именем переменной, используется директива using.

Механизм пространств вместе с директивой #include при написании больших программ обеспечивает гибкость, когда сочетается возможность группирования имен и ограничение доступа к ним.

3-ая строка): заголовок главной функции int main ()

Функции представляют собой основу, на которой строится любая программа C++. Функций у программы может быть несколько, но одна из них главная, с неё начинается выполнение программы , название у неё main(). Программа FIRST состоит из этой единственной функции . Кр углые скобки, идущие вслед за именем main, являются отличительной чертой функций: если бы их не было, то компилятор не смог бы отличить имя переменной или другого элемента программы от имени функции. Когда мы будем использовать имена функций в объяснениях, мы всегда будем придерживаться соглашения, принятого в C++, и ставить круглые скобки после имени функции. Позже мы увидим, что в скобках могут указываться аргументы функций — имена переменных, значения которых программа передает в функцию. Слово int, предваряющее имя функции, указывает на то, что эта функция возвращает значение типа int. В более старых версиях C++ для функции main() можно было указывать тип возвращаемого значения void, cтандартный C++ не рекомендует этого делать.

4-ая и 7-ая строки ): фигурные скобки, заключающие тело функции { }

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

5-ая строка): оператор cout <<"Hello C++!\п";

Оператор является структурной единицей программы на C++, каждый является указанием компьютеру совершить какое-либо действие. Заданный в строке оператор указывает компьютеру вывести на экран строку символов, заключённую в кавычки. Он посылает строку в стандартный поток cout , который обычно связан с экраном. Поток — это некоторая абстракция, отражающая перемещение данных от источника к приемнику.

Операция << называется операцией вставки. Она копирует содержимое строки, стоящей в правой ее части, в объект, содержащийся в левой ее части, в том же виде. Операция <<известна как операция побитового сдвига влево, в данном случае эта операция перегружена для потока вывода и используется как операция перемещения данного в поток.

Символ \n - знак перехода- вызывает перемещение курсора на экране к началу следующей строки.

Символ ; заканчивает каждый оператор, его отсутствие в конце оператора является синтаксической ошибкой (периода компиляции программы).

6-ая строка): оператор return 0;

Оператор выхода из функции, является указанием функции main() возвратить значение 0 вызывающему окружению; в данном случае это может быть компилятор или операционная система.

5. Общие сведения о языке С++

Состав языка: алфавит, синтаксис и семантика.

Алфавит – набор знаков,используемых для записи программ. Это =буквы: латинские прописные и строчные, знак подчёркивания. =цифры: арабские 0,1,2,3,4,5,6,7,8,9 =специальные знаки: + - * / % \ ( ) [ ] { } . , : ; < > = ? ! | & # ~

=Пробельные символы: к ним относятся пробел, символы табуляции, символ конца строки.

Отсутствуют русские буквы. Их (а также другие знаки клавиатуры, которые не являются символами С++) допустимо использовать в строках и комментариях.

Cинтаксиснабор правил построения языковых конструкций. Для записи правил часто пользуются так называемыми мета – языками (язык для описания другого языка). Например Паскаль описан был с использованием формул Бэкуса- Наура. Для С++ буду использовать неформальный способ описания, при этом использоваться будут такие возможности:

  1. ххх[ххх]ххх - необязательная часть конструкции заключается в скобки [… ];

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

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

Cемантика – смысл языковых конструкций поясняется по русски.

Простейшие конструкции языка , которые строятся из символов алфавита,- слова, называются лексическими единицами (лексемами).Это:

  1. Идентификатор (имя)- последовательность букв и цифр, начинающаяся с буквы. A1, a1, Abcd, abcD, _3.

(! – большие и малые буквы в С различаются).

  1. Специальные символы по своему назначению разбиваются на разные группы:

  • В С++, как и в других языках, некоторые зарезервированные английские слова, их называют ключевыми, они имеют специальное назначение, используются компиляторами.

  • Знаки операций, состоят из 1 , 2 или более символов, делятся на унарные, бинарные и тернарную в соответствии с количеством операндов

  • Разделители: скобки, точка, запятая, точка с запятой, пробельные символы.

  1. Константы – это некоторые объекты программы, которые сохраняют своё значение. Рассмотрим их с типами вместе.

К лексемам не относится комментарий, это пояснительный текст, который начинается с // и распространяется до конца строки (однострочный комментарий), либо текст комментария заключается в символы /* и */(это может быть и многострочный комментарий).В тексте комментария могут использоваться любые символы клавиатуры, в том числе и русские буквы.

  1. Метка идентификатор, помечающий некоторую инструкцию (оператор), отделяется от оператора двоеточием. На помеченный оператор можно передавать управление с помощью специального оператора goto <метка>.

Правила записи лексических единиц.

= В записи лексической единицы не допускаются пробельные символы: 1.5 или АB, но недопустимо 1. 5 или

A B;

= Две соседние лексические единицы разделяются либо знаком операци,либо разделителем, причём в качестве разделителя могут быть использованы пробельные сиволы или комментарий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]