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

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

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

Поможем написать учебную работу

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

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.4.2025

Лекция  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. Задание 1. Изучите по сайтам проблемы российских и казахстанских интернет магазинов и дайте ответы на следую.
2. Куплетная форма в песнях послевоенных лет
3. 3 чСтарый город ~ старейшая часть города
4. Шпаргалки по ботанической географии.html
5. 11 вв. до н. э. по 56 вв.
6. ИКТ, как механизм реализации ФГОС
7. Химическое загрязнение окружающей среды
8. 12.12 На 31
9. а Российской академии правосудия Специальность 030503 51 52 ~ Правоведение
10. Основы менеджмента