Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Лекция 2. Основные определения языка высокого уровня

1. Алфавит языка

2. Лексемы языка

3. Типы данных

4. Константы

5. Переменная

6. Немодифицируемая переменная

7. Операции

Рассмотрим основные определения на примере языка высокого уровня C/C++.

1. Алфавит языка

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

- прописные и строчные латинские буквы и знак подчеркивания;

- арабские цифры от 0 до 9;

- специальные знаки " { } , | [] () + - / % * . \ ' : ? < = > ! & # ~ ; ^

- пробельные символы: пробел, символ табуляции, символ перехода на новую строку.

2. Лексемы языка

Из символов языка формируются лексемы языка:

- идентификаторы;

- ключевые (зарезервированные) слова;

- знаки операций;

- константы;

- разделители (скобки, точка, запятая, пробельные символы).

Идентификатор — это имя программного объекта (переменной, функции, класса, объекта).

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

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

Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены.

НЕ нашли? Не то? Что вы ищете?

Список служебных слов языка C/C++:

auto автоматический

break разрыв

case вариант

catch перехватить

char символ

class класс

const конст

continue продолжить

default по умолчанию

delete удалить

do делать

double двойной

else иначе

enum перечисление

extern внешний

float плавающий

for для

friend друг

goto переход на

if если

inline подстановка

int целый

long длинный

new новый

operator оператор

private частный

protected защищенный

public общий

register регистровый

return возврат

short короткий

signed знаковый

sizeof размер

static статический

struct структура

switch переключатель

template шаблон типа

this текущий

throw запустить

try проверить

typedef тип

union объединение

unsigned беззнаковый

virtual виртуальный

void пустой

volatile изменяемый

while пока

3. Типы данных

Тип данных определяет:

— внутреннее представление данных в памяти компьютера;

— множество значений, которые могут принимать величины этого типа;

— операции, которые можно применять к величинам этого типа.

Для каждого встроенного типа необходимо знать эти три аспекта.

Типы данных языка C/C++.

int — целый тип (в зависимости от процессора 2 или 4 байта);

char — символьный тип (обычно1 байт);

wchar_t — символьный расширенный (обычно 2 байта);

bool — логический (true или false - 1 или 2 байта);

float — вещественный (4 байта);

double — 8 байтов.

Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:

— short — короткий;

— long — длинный;

— signed — знаковый;

— unsigned — беззнаковый.

Таким образом, с учетом спецификаторов могут быть следующие типы:

signed short int == short — короткое целое (2 байта для Windows);

unsigned short int == unsigned short —беззнаковое короткое целое (2 байта для Windows);

signed int == int — знаковое целое;

unsigned int

signed long int == signed long — знаковое длинное целое (4 байта для Windows);

unsigned long int == long 4

signed char 1

unsigned char == char 1

wchar_t 2

float 4

double 8

long double (10 байтов) — длинное вещественное.

Чтобы узнать сколько байтов занимает переменная того или иного типа можно воспользоваться функцией sizeof (тип) или sizeof (переменная):

sizeof(char)<=sizeof(short)<=sizeof(int)<=sizeof(long).

sizeof(float)<=sizeof(double)<=sizeof(long double).

4. Константы

Константами называются перечисление величин в программе.

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

Компилятор относит константу к одному из типов по ее внешнему виду.

a=b+12.104; //вещ. константа 12.104

c=ploPr(13, 22); //целочисленные константы 13 и 22

cout << "Привет"; //строковая константа "Привет"

с='a'; b='\n'; //символьная константа 'a' и '\n'

const double d=3.5; //3.5 - константа, а d - немодифицируемая переменная

const int i=122; //при описании немодифиц. переменных можно int опускать

Каждой константе автоматически присваивается тип следующим образом:

— десятичные константы рассматриваются как величины со знаком, и им присваивается тип int (целая) или long (длинная целая) в соответствии со значением константы. Если константа меньше 32768, то ей присваивается тип int, в противном случае long;

— восьмеричным и шестнадцатеричным константам присваивается тип int, unsigned int (беззнаковая целая), long или unsigned long в зависимости от значения константы согласно табл 1.1.

Таблица 1.1

Диапазон шестнадцатер. констант Диапазон восьмеричных констант Тип

0x0 - 0x7FFF 0 - 077777 int

0X8000 - 0XFFFF 0100000 - 0177777 unsigned int

0X10000 - 0X7FFFFFFF 0200000 - 017777777777 long

0X80000000 - 0XFFFFFFFF 20000000000 - 037777777777 unsigned long

Программист может явно указать тип константы.

Для того чтобы любую целую константу определить типом long, достаточно в конце константы поставить букву "l" или "L". Пример: 5l, 6l, 128L, 0105L, OX2A11L.

Целые константы также могут иметь модификатор unsigned.

Это достигается указанием префикса u или U после константы: 12U, 145UL. Константа без этого префикса считается знаковой:.

Константа с плавающей точкой — десятичное число, представленное в виде действительной величины с десятичной точкой или экспонентой.

Формат имеет вид:

[ цифры ].[ цифры ] [ Е|e [+|-] цифры ] .

Константы с плавающей точкой имеют тип double.

Примеры: 115.75, 1.5Е-2, -0.025, .075, -0.85Е2.

Символьная константа — представляется символом, заключенным в апострофы. Значением символьной константы является числовой код символа.

Символьной константой может быть управляющая последовательность.

Управляющая последовательность начинается с косой черты \, за которой идет один символ. Управляющая последовательность интерпретируется как один символ.

'\n' - символ новой строки;

'\t' - символ табуляции;

'\0' - символ конца строки;

'\\' - символ обратного слеша;

'\v' - вертикальная табуляция.

Примеры символьных констант:

' '- пробел;

'Q'- буква Q;

'\n' - символ новой строки.

Строковая константа

Строковая константа (литерал) - последовательность символов (включая строковые и прописные буквы русского и латинского, а также цифры), заключенные в кавычки ". Например: "Школа N 35", "город Тамбов", "YZPT КОД".

В строках могут использоваться управляющие последовательности. Каждая управляющая последовательность представляется как один символ. Например, при печати литерала "Школа \n N 35" его часть "Школа" будет напечатана на одной строке, а вторая часть "N 35" на следующей строке.

Символы строкового литерала сохраняются в области оперативной памяти. В конец каждого строкового литерала компилятором добавляется нулевой символ (символ с кодом 0), представляемый управляющей последовательностью '\0'.

Строковый литерал имеет тип char[]. Это означает, что строка рассматривается как массив символов.

Число элементов массива равно числу символов в строке плюс 1, так как нулевой символ (символ конца строки — '\0') также является элементом массива.

"строка неопределенной \

длины"

полностью идентична литералу

"строка неопределенной длины".

Для сцепления строковых литералов можно использовать символ (или символы) пробела. Если в программе встречаются два или более строковых литерала, разделенные только пробелами, то они будут рассматриваться как одна символьная строка. Этот принцип можно использовать для формирования строковых литералов занимающих более одной строки.

cout << "123\

456";

cout << "123"

"456";

char s[] = "12" "34"

"56" "78\

90";

//s = "1234567890"

Тип Формат Пример

Целый - десятичный - цифры от 0 до 9, начинается не с 0. 12, 192

- восьмеричный - цифры от 0 до 7, начинается с 0. 067, 03u

- шестнадцатеричный - цифры от 0 до F, начинается с 0x. 0x8C,0x45

Вещественный - Десятичный - [цел. часть].[вещ. часть] 1.4,2.,-.51

- Экспоненциальный - [циф].[циф]{E|e}[+|-][циф] 1.2E-2,.4E2

Символьный - Один или два символа в апострофах - 'A', 'ю', 'db', '*'.

Строковый - Последовательность символов в кавычках = "Вася", "\tАня\n\7"

-----------------------------------------------------------------------

5. Переменная

Переменная - это именованная область памяти, в которой хранятся данные определенного типа. У переменной есть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Во время выполнения программы значение переменной можно изменять. Перед использованием переменная должна быть описана.

Пример описания переменной: int a; double d, d3=0; float x=1.67;

Объявление переменной имеет следующий формат:

[<спецификатор-класса-памяти>] <тип-переменной> <описатель> [=<инициатор>]

[,<описатель> [= <инициатор>] ].

Спецификатор класса памяти - определяется одним из четырех ключевых слов языка СИ: auto, extern, register, static, и указывает, каким образом будет распределяться память под объявляемую переменную.

Описатель — идентификатор простой переменной либо более сложная конструкция с квадратными скобками, круглыми скобками или звездочкой (набором звездочек). Компилятор различает прописные и строчные буквы.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18