Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лекция 2. 4. Пример простой программы на С Структура программы Рассмотрим простой пример программы

Работа добавлена на сайт samzan.net:


Лекция  2.

4. Пример  простой  программы на С++

Структура программы

Рассмотрим простой  пример программы на C++ , записанный в файле  FIRST.CPP . Программа   выводит сообщение на экран:

  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.  Специальные символы по своему назначению разбиваются на разные группы:
  2.  В С++, как и в других языках,  некоторые зарезервированные английские слова, их называют ключевыми,  они имеют специальное назначение, используются компиляторами.
  3.  Знаки операций,  состоят из 1 , 2 или более символов, делятся на унарные, бинарные и тернарную в соответствии с количеством операндов
  4.  Разделители: скобки, точка, запятая, точка с запятой,  пробельные символы.
  5.  Константы – это некоторые объекты программы, которые сохраняют своё значение. Рассмотрим их с типами вместе.

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

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

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

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

A  B;

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




1. Вариант I В каких отношениях находятся понятия А ~ студент В ~ мастер спорта
2. А. Баиров И. Б. Осипов
3. тема отсчёта. Перемещение.
4. 49. Архитектура Франции 17 век
5. і Педагогічна частина комплексної курсової работи с дисципліни [[Дидактичні основи професіональног
6. правової норми її особливості у порівнянні з іншими правовими нормами
7. Вредное влияние курения на организм человека
8. Наборы утилит служебных программ операционных систем
9.  ОБЗОРНЫЙ РАЗДЕЛ РЕЗЮМЕ 2
10. Учёт продаж продукции, работ и услуг и расчёт с покупателями
11. Лидер ученического самоуправления 2014 Глава 1
12. на тему Спрос предложение и цена в системе рыночных отношений Группа
13. КОНТРОЛЬНАЯ РАБОТА по конституционному праву зарубежных стран для студентов 1 курса спец
14. Учет затрат и исчисление себестоимости продукции молочного скотоводства
15. Арахноидит
16. Введение На сегодняшний день в процессе управления персоналом важно правильно выстраивать коммуникации с
17. Запасы и ПБУ 5-01 5
18. Тема АТР показалась мне интересной по своему содержанию но особый интерес в этом регионе для представили стр
19. записка і розрахунки до курсової роботи з дисципліни Електромеханіка та електричні машини
20. наслідкових зв~язків; географічних закономірностей