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;


 

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

83953. Оценка воздействия на окружающую среду 305.27 KB
  Открытая стоянка автотранспорта Расчет производится в соответствии с Методикой инвентаризации выбросов загрязняющих веществ в атмосферу для автотранспортных предприятий расчетным методом. Выброс iго вещества одним легковым автомобилем в день при выезде с территории в теплый период для СО для СН для...
83954. Актуальный ассортимент и приготовление горячих соусов к блюдам из мяса 2.47 MB
  Провести и разработать ассортимент современных горячих соусов, рассмотреть технологию их приготовления и примеры современной подачи. Задачи: Доказать актуальность выбранной темы; Дать историческую справку о значении соусов в питании; Разработать ассортимент современных горячих соусов...
83955. Анализ качества и эффективности использования персонала ОАО «Сбербанка России» 451.5 KB
  В связи с этим актуальность выбранной темы очевидна. В настоящее время, вопрос оценки качества персонала встает особенно остро, поскольку каждая организация старается максимально оптимизировать свою деятельность, сделать ее более эффективной.
83956. Гигиеническая оценка физического развития и питания пациента 106.5 KB
  Содержание курсовой работы включает следующие разделы: Анамнез образа жизни пациента Исследование и оценка физического состояния пациента Исследование и оценка фактического питания пациента Изучение суточных энергозатрат и определение потребности пациента в основных питательных веществах...
83957. Показатели оценки работы ремонтной службы 77.62 KB
  Современные предприятия оснащены дорогостоящим и разнообразным оборудованием, установками, роботизированными комплексами, транспортными средствами и другими видами основных фондов. В процессе работы из-за износа и разрушения отдельных деталей снижается их производительность, точность и другие параметры.
83958. ФИЛОСОФИЯ В СИСТЕМЕ КУЛЬТУРЫ 34.46 KB
  Философия как мировоззрение. По-этому уже на ранних этапах наряду с религией выработку новых знаний и ориентаций берет на себя светская культура в ее разнообразных проявлениях: искусство и литература философия и наука. Философия мировоззренческая форма сознания.
83959. Кредитные деньги и кредитные орудия 38.02 KB
  Деньги одно из величайших человеческих изобретений. В частности по форме существования деньги бывают наличные и безналичные. Наличные деньги в свою очередь подразделяются на реальные деньги это монеты из драгоценных металлов слитки кредитные деньги банкноты и казначейские билеты и разменные монеты.
83960. НЕСТАЦИОНАРНАЯ ТЕПЛОПРОВОДНОСТЬ 874.45 KB
  В результате вычислений необходимо выполнить следующие задания: Определить число Nu коэффициент теплоотдачи и плотность теплового потока: при свободной конвекции в воде и воздухе; при вынужденной конвекции в воде и воздухе; и плотность теплового потока за счет теплового излучения тела.
83961. ОПИС, ПРИЗНАЧЕННЯ, БУДОВА І ПРИНЦИП ДІЇ ТРИСТУПЕНЕВОГО ЦИЛІНДРИЧНОГО РЕДУКТОРА 182.02 KB
  Редуктор класифікують за такими ознаками: за типом передачі: зубчасті за числом ступенів: триступеневий за типом зубчастих коліс: циліндричні косо зубі прямозубі шевронні за відносним розташуванням валів редуктора в просторі: горизонтальне лінійне за особливостями кінематичної...