40128

Языки программирования и их классификация

Доклад

Менеджмент, консалтинг и предпринимательство

При первом способе его началом является пара символов а окончанием последний символ строки: Это комментарий При втором способе его началом является пара символов а окончанием пара символов: Еще один пример комментария В C различают три группы типов данных: фундаментальные типы встроенные типы и типы определяемые пользователем. Фундаментальные типы делятся на...

Русский

2015-01-17

66 KB

0 чел.

Языки программирования делятся на 3 группы:

  1.  Машинные языки – исходный текст программы состоит из машинных кодов, которые непосредственно могут исполнятся на ЭВМ.
  2.  Машинно-ориентированные языки – исходный текст программы состоит из условных обозначений команд микропроцессора.
  3.  Алгоритмические языки (языки высокого уровня) – исходный текст программы состоит из инструкций, удобных для восприятия человеком и при этом четко формализованных.

Для записи текста программы на C++ используется алфавит языка. Алфавит состоит из следующих символов:

1.   Буквы:

_  а...z A...Z

2.   Цифры:

0...9

3.   Специальные символы:

‘ “ + - * / \ % = > < # | & ^ ~ ! ? . , : ; () [] {}

4.   Пробел, символ табуляции, перевод строки (переход на новую строку).

Заглавные и строчные буквы в C++ различаются.

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

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

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

Идентификатор (или просто имя) - это имя переменной, константы, функции, типа, синоним типа, имя метки или имя константы типа перечисления (enum).

Применение идентификатора начинается с разъяснения компилятору его назначения. Это разъяснение называется определением. В соответствии с этим определением идентификатор может применяться только в некоторой части программы.

Эта часть называется областью видимости идентификатора.

Некоторые правила именования идентификаторов:

1.   Идентификатор начинается с буквы и может содержать буквы и цифры (знак подчеркивания считается буквой).

2.   Ограничения на длину имени не накладываются, но конкретная реализация может различать лишь конечное число его начальных символов (в Visual C++ компилятор различает только первые 31 символ).

3.   Имена, начинающиеся со знака подчеркивания, зарезервированы для нужд реализации (использовать их в программах не следует).

4.   Идентификаторы с малой областью видимости должны быть короткими, а с большой - по возможности подробными. Для разделения слов в имени удобно пользоваться знаком подчеркивания.

5.   Стилистическое соглашение между программистами: в начале имени добавляется сокращенное обозначение типа данных (i - int, d - double, p - указатель, sz -С-строка и т.д.).

6.   В именах макросов лучше использовать только заглавные буквы.

Примеры идентификаторов:

hello DEFINED varO long name bAr BAR class MyVariable foO

Примеры лексем, которые нельзя использовать в качестве идентификаторов:

012 $sys if .name pay.due

n+m A1&A2 Not_Done!

Некоторые идентификаторы являются стандартными, например, имя главной функции программы (main).

Литерал - это изображение конкретного значения одного из арифметических типов, либо типа С-строки.

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

Примеры литералов:

true

а

12345

543.21

"Простая  строка   на   C++!"

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

Операторы бывают унарные и бинарные. Унарные операторы бывают префиксные и постфиксные (суффиксные).

Важные особенности C++, позволяющие строить гибкие и эффективные выражения:

1.   Поддерживается очень много различных операторов.

2.   Действие присваивания реализовано в виде оператора =.

3.   Для пользовательских типов данных возможно определение своих операций.

Примеры выражений на C++:

а += 5 + (b = с % 2)

а = ((b < с) ? (d = е) : (f = g))

р = &(х++)

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

Прежде всего, к разделителям относятся: пробел, символ табуляции и перевод строки.

Их можно использовать в любом количестве и сочетании между двумя любыми лексемами, а в некоторых местах они просто необходимы.

Символ «точка с запятой» (;) является специальным разделителем в инструкциях (он часто неофициально называется пустой инструкцией или пустым оператором - это неверно).

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

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

В C++ комментарий включается в программу двумя способами.

При первом способе его началом является пара символов «//», а окончанием последний символ строки:

// Это комментарий!

При втором способе его началом является пара символов «/*», а окончанием - пара символов «*/»:

/*  Еще один пример

комментария!      */

В C++ различают три группы типов данных: фундаментальные типы, встроенные типы и типы, определяемые пользователем.

Фундаментальные типы делятся на:

1. Логический тип (bool).

2. Символьные типы (char, wchar_t).

3. Целочисленные (целые) типы (например, тип int).

4. Типы с плавающей точкой (например, double).

5. Тип void - используется для указания на отсутствие информации.

Логический, символьные и целые типы вместе называются интегральными, и к ним можно применять все арифметические и все логические операции.

Интегральные типы вместе с вещественными типами с плавающей точкой называются арифметическими, и к ним применимы все арифметические операции и обычные (непобитовые) логические операции (операции сравнения, операции: «И», «ИЛИ», «НЕ»).

Встроенные типы делятся на:

1. Типы указателей (например, int *).

2. Типы ссылок (например, double &).

3. Типы массивов (используются квадратные скобки: []).

4. Типы функций (используются круглые скобки: ()).

Типы, определяемые пользователем, делятся на:

1. Типы перечислений (enum) - используются для представления значений из конкретного множества.

2. Типы структур и классы (struct, union, class).

Класс можно называть обобщением типа структуры.

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

Размер результата вычисления выражения или размер объекта определенного типа в байтах можно получить при помощи оператора sizeof следующим образом: sizeof expr. Здесь expr- выражение.

Размер самого типа можно получить при помощи оператора sizeof следующим образом: sizeof (type). Здесь type - имя типа или то же, что и expr.

Характеристики типов, зависящие от реализации можно также получить, используя заголовочный файл <limits>.

В C++ крайне важно различать понятия «объявление» и «определение». Прежде чем использовать идентификатор в программе, его следует объявить. Объявить - означает: связать имя с некоторым типом. Примеры объявлений:

// Объявления, являющиеся определениями.

char sym;

const double pi = 3.1415926535897932385;

const char *season[] = {"весна", "лето", "осень", "зима"};

struct Date {int d, m, y;};

int day(Date *p) { return p->d; }

typedef complex<short> Point;

enum Beer {Carlsberg, Tuborg, Thor};

namespace NS { int a; } // Определение пространства имен.

// Чистые объявления - не являются определениями,

double sqrt(double);

extern int error_number;

Из примеров видно, что объявления могут делать нечто большее, чем просто связывание имени с типом. Большинство объявлений являются одновременно и определениями, т. е. они определяют некоторую сущность, которая соответствует имени.

Например, для sym - это выделение областей памяти определенных размеров, для pi - это размещение в памяти определенного константного значения, для Date - это определение нового типа, для day - это определение тела функции и т. д.

Из приведенных объявлений определениями не являются: sqrt и error_number. Эти объявления являются чистыми объявлениями (другие названия - прототипы, сигнатуры, интерфейсы).

Сущности, на которые ссылаются данные имена, должны быть определены где-то в другом месте. Тело функции sqrt должно быть задано каким-то другим объявлением, и память для целой переменной error_number должна быть выделена некоторым другим объявлением.

Например:

double sqrt(double d) { /* Тело функции */ };

int error_number = 1;


 

А также другие работы, которые могут Вас заинтересовать

44634. Единственное и множественное число имен существительных 18.79 KB
  Что вы знаете о зайцах Определите сколько в этом слове зв и букв Какая буква обозначает два звука Запишем ее три раза под самой правильной поставим точку. А сейчас составьте мне такое предложение чтобы в нем говорилось не об одном зайце а о нескольких.Обобщение структурных и семантических признаков понятия и правила Для того чтобы понять правы мы с вами или нет давайте обратимся к учебнику. мы сегодня работали Что нового узнали Рефлексия: Что понравилось на уроке Что было пока сложно 7.
44635. Правила вежливости 18.9 KB
  На каком уроке мы уже говорили о вежливых словах Вспомним что же за особенные эти вежливые слова Слова приветствия Словапросьбы Слова благодарности Слова пожеланий Словаизвинения Словапрощания На каждую группу приведем примеры. мире мы говорим о вежливых словах Давайте поставим цели на урок:. Откроем страницу 52 и давайте подберем слова к картинкам на которых ребята творят волшебство. Сейчас поработаем в паре: придумайте такую ситуацию с соседом по парте когда 1 ряд: оба ведут себя...
44637. Силы и моменты, действующие в системе электропривода 227.08 KB
  Рабочая машина соединяется с двигателем через передаточное устройство (редуктор, понижающий или повышающий скорость врашения вала двигателя, ремень, муфту, и т.д.). В узлах рабочей машины, в передаточном устройстве, а также и в двигателе при движении, возникают силы трения и инерции.
44638. Депарафинизация масляного сырья кристаллическим карбамидом 26.36 KB
  Карбамид имеет тетрагональную структуру. Его молекулы упакованы плотно, и свободные пространства, в которых могут разместиться молекулы другого вещества, отсутствуют
44639. Что такое глагол? 18.72 KB
  Что такое глагол Тип урока: закрепление изученного материала ФОУД: фронтальная индивидуальная Дидактическая цель: создать условия для тренировки алгоритма учебных действий с понятием глагол.Образовательные: систематизировать и углубить знания о глаголе; учить находить глаголы в тексте и подбирать их самостоятельно; учить определять синтаксическую роль глагола в предложении; 2. основу предложения какая тема нашего урока Сегодня у нас с вами второй урок по теме глагол. Вспомним что же такое...
44640. Одушевленные и неодушевленные имена существительные 20.39 KB
  Запишите это соединение три раза ставлю ручку на верхнюю линию рабочей строки пишу первый элемент черта с наклоном возвращаюсь по написанному пишу второй элемент черта с закруглением вверху отрываю руку ставлю ручку чуть ниже середины рабочей строки на элемент черта с наклоном пишу третий элемент черта с закруглением вверху и внизу; затем прописываю соединение с буквой а внимание соединение с а всегда верхнее пишу первый элемент овал не отрывая руки пишу второй элемент черта с закруглением внизу.