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;


 

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

39301. Проектирование производства работ по монтажу надземной части полносборного многоэтажного здания 1.3 MB
  Задачей курсовой работы является проектирование производства работ по монтажу надземной части полносборного многоэтажного здания. Монтаж надземной части одноэтажного промышленного здания рекомендуется вести маневренными стреловыми гусеничными кранами, кранами на пневмоходу или автокранами.
39302. ЛАНДШАФТЫ ЧЕРВЕНСКОГО РАЙОНА 1.21 MB
  В работе приведено описание природных компонентов территории Червенского района: геологического строения и рельефа, климата и поверхностных вод, почвенно-растительного покрова и животного мира. Дана классификация природных ландшафтов Беларуси и характеристика ландшафтов Червенского района.
39303. ЛАНДШАФТЫ ПУХОВИЧСКОГО РАЙОНА 953 KB
  Дана классификация природных ландшафтов Беларуси и характеристика ландшафтов Пуховичского района. Классификация ландшафтов Беларуси. Классификация ландшафтов Беларуси. ВВЕДЕНИЕ Изучение ландшафтов является актуальным в наше время и позволяет получить необходимую и полезную информацию о геологическом строении и рельефе данной территории климате водах почвеннорастительном покрове животном мире и других показателях.
39304. Финансы организаций (предприятий) 118 KB
  Практическая часть должна содержать аналитическую информацию анализ показателей деятельности предприятия в соответствии с темой работы. Рекомендательная часть должна содержать рекомендации по улучшению финансового состояния предприятия в части использования предмета исследования курсовой работы. НАПРАВЛЕНИЯ ОБЪЕКТОВ КУРСОВЫХ РАБОТ Предприятия различных организационноправовых форм. Предприятия отраслей: сельское хозяйство; пищевая и перерабатывающая промышленность; общественное питание; торговля; предприятия других отраслей не...
39305. Организация взаимодействия трехмерного редактора и визуализатора на основе трассировки лучей 3.93 MB
  Данная дипломная работа заключается в организации взаимодействия трехмерного редактора и визуализатора на основе трассировки лучей путем добавления в визуализатор возможности импорта информации о трехмерной сцене из XML-файлов и написания программы-модуля для трехмерного редактора, позволяющей экспортировать такого рода файлы.
39306. Расчет годовой производственной программы 105.3 KB
  Главная передача автомобиля предназначена для постоянного увеличения подводимого от двигателя крутящего момента и передачи его под прямым углом к ведущим колесам. Постоянное увеличение крутящего момента характеризуется передаточным числом главной передачи. На автомобилях КамАЗ в зависимости от назначения передаточное число главной передачи равно 543; 594; 653; 722. На модификациях автомобилей предназначенных для использования в качестве седельных тягачи передаточные числа главной передачи увеличены.
39307. Организация бухгалтерского учета на ООО «Мое солнце» 219 KB
  Учетная политика Объектом прохождения практики послужило предприятие ООО Мое солнце. ООО МОЕ СОЛНЦЕ создано в соответствии с Гражданским кодексом Российской Федерации Федеральным законом Об обществах с ограниченной ответственностью другими действующими законодательными актами Российской Федерации. ООО МОЕ СОЛНЦЕ является юридическим лицом имеет круглую печать и штампы со своим наименованием свой торговый знак расчетный и иные счета в банках другие реквизиты необходимые для хозяйственной и иной деятельности. ООО МОЕ СОЛНЦЕ...
39308. Анализ маркетинговой деятельности предприятия ООО «Грат-Вест» 496.5 KB
  Игрушки для детей – это миниатюрное отражение взрослого мира. Бессмысленно недовольно коситься на крохотные микроволновые печи и мобильные телефоны – дети играют в нашу с вами взрослую жизнь, таким образом ее осваивая. Наш мир сегодня необыкновенно разнообразен. Стоит ли удивляться, что мир игрушек для детей предлагает воистину огромный выбор. Данная работа представляет аналитический отчет о прохождении производственной практики на предприятии ООО «Грат-Вест», которое занимается продажей детских товаров.
39309. МЕХАНІЗМИ РЕАЛІЗАЦІЇ ПРАВ ДИТИНИ В УКРАЇНІ 365 KB
  Дитину жодним чином не можна прирівнювати до дорослої людини, у тому числі й у правових аспектах. Дитина має бути забезпечена особливими правами, особливим захистом, які мають часовий вимір і спеціальне призначення. Дитина, як і кожна людська істота, від народження має права людини.