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;


 

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

44763. Создание проекта СЭУ толкача буксира 2.38 MB
  Целью дипломного проекта является создание проекта СЭУ для вновь проектируемого судна. Учитывая задание на проектировку (тип судна, грузоподъемность, район плавания, требования к маневренности, живучести), а также используя опыт судостроения предыдущих лет...
44764. Предприятие как субъект и объект предпринимательской деятельности 57.38 KB
  Функционирование предприятий в условиях рынка предполагает поиск и разработку каждым из них собственного пути развития. Чтобы не только удержаться, но и развиваться в рынке, предприятие должно улучшать состояние своей экономики
44765. Банковский маркетинг, Краткий конспект лекций 99.59 KB
  Основные понятия банковского маркетинга. Роль маркетинга в банковской деятельности. Концепция банковской технологии маркетинга. Банковская маркетинговая стратегия. Постановка маркетинговой работы в коммерческом банке. Банковская конкуренция. Маркетинг депозитарной деятельности банка. Маркетинг кредитного банковского рынка...
44766. Проект доготовочного цеха блинной на 50 мест в г.Омске 1.04 MB
  Качество обслуживания оказывает непосредственное влияние на результаты хозяйственной деятельности предприятий общественного питания. Повышения качества обслуживания способствует увеличению количества потребителей, росту товарооборота, повышению рентабельности предприятий.
44767. Электроснабжение участка токарного цеха 5.73 MB
  Сегодня на предприятии в трех цехах трудится около полутора тысяч человек - токарей, кузнецов, слесарей, электрогазосварщиков, электриков, электромонтеров, и многих других, которым приходится знать и ремонтировать самое разное горнодобывающее и металлургическое оборудование.
44768. Анализ потребительских свойств и качеств темного пива 486.5 KB
  Пиво — один из древнейших напитков в мире. Пиво известно со времен Древнего Египта (многие считают, что пшеницу и ячмень там начали культивировать для приготовления пива, а изготовление хлеба стало побочным эффектом). В ходе археологических раскопок в Египте был найден самый древний рецепт пива. В Римской империи пиво не пользовалось популярностью, здесь предпочтение отдавалось вину
44769. Изучение ассортимента, конкурентоспособности, показатели качества чая, реализуемого Иркутским Облпотребсоюзом 725 KB
  Древняя китайская мудрость гласит: Лучше обойтись три дня без еды, чем один день без чая. В этой стране чай употребляют более 5 тысяч лет. По сравнению с Китаем, Россия имеет с этим напитком лишь шапочное знакомство 300 лет. Но даже за это время чаепитие стало национальной русской традицией
44770. Изучение ассортимента и качества пряностей, реализуемых в розничном торговом предприятии г. Москвы 289 KB
  Пряностями являются разные части растений со специфическим ароматом, разной степенью жгучести и вкуса. Эти растения относятся более чем к 30 различным ботаническим семействам. Это сухие корни, семена или кора душистых растений. Они могут употребляться в целом либо измельченном виде
44771. Особенностями приготовления блюд немецкой кухни 178.5 KB
  Целью выполнения курсовой работы является ознакомление с особенностями приготовления блюд немецкой кухни, закрепление и углубление знаний будущего инженера, способного не только технически грамотно владеть существующими технологическими процессами, но и совершенствовать их и создавать новые, обеспечивающие повышение качества продукции и эффективность производства.