Q: (ВКЛ. ВЫКЛ);

Базовые средства языка С++

Основные вопросы

lСостав языка

lПростые типы данных

lПеременные

lСтруктура программы

lЭтапы создания исполняемой программы

Алфавит языка С++

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

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

lCпециальные знаки:

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

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

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

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

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

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

nконстанты;

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

Идентификаторы

lИдентификатор — это имя программного объекта.

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

lПрописные и строчные буквы различаются, например, sysop, SySoP и SYSOP — три различных имени.

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

lПробелы внутри имен не допускаются.

Выбор идентификатора

lДлина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на нее ограничения.

lИдентификатор не должен совпадать с ключевыми словами

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

lНа идентификаторы, используемые для определения внешних переменных, налагаются ограничения компоновщика (использование различных компоновщиков или версий компоновщика накладывает разные требования на имена внешних переменных).

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

Ключевые слова

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

Список ключевых слов

asm

else

new

this

auto

enum

operator

throw

bool

explicit

private

true

break

export

protected

try

case

extern

public

typedef

catch

false

register

typeid

char

float

reinterpret_cast

typename

class

for

return

union

const

friend

short

unsigned

const cast

goto

signed

using

continue

if

sizeof

virtual

default

inline

static

void

delete

int

static_cast

volatile

do

long

struct

wchar_t

double

mutable

switch

while

dynamic_cast

namespace

template

Константы

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

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

Примеры констант

Константа

Формат

Примеры

Целая

Десятичный: последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль

Восьмеричный: нуль, за которым следуют восьмеричные цифры (0,1,2,3,4,5,6,7)Шестнадцатеричный: Ох или ОХ, за которым следуют шестнадцатеричные цифры (0,l,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

8, 0, 199226

01, 020, 07155

ОхА, 0xlB8, 0X00FF

Вещественная

Десятичный: [цифры]. [цифры]

Экспоненциальный: [цифры] [.] [цифры]{Е|е}[+-] [цифры]

5.7, .001, Е6, .lle-3, 5E10

Символьная

Один или два символа, заключенных в апострофы

'А', 'ю', '*', 'db', \0', \п\ •\012\ \xO7\xO7'

Строковая

Последовательность символов, заключенная в кавычки

"ПЯВУ",

«\tЗначение r=\0xF5\n"

Управляющие последовательности

Изображение

Шестнадцатеричный код

Наименование

7

Звуковой сигнал

\b

8

Возврат на шаг

\f

С

Перевод страницы (формата)

\n

А

Перевод строки

\r

D

Возврат каретки

\t

9

Горизонтальная табуляция

\v

6

Вертикальная табуляция

\\

Обратная косая черта

\’

27

Апостроф

\"

22

Кавычка

\?

3F

Вопросительный знак

\0ddd

-

Восьмеричный код символа

\0xddd

ddd

Шестнадцатеричный код символа

Комментарии

Комментарий предназначается для записи поясняющей программу информации

Существует два вида комментариев

nСтрочный – начинается с двух символов «прямая косая черта» (//) и заканчивается символом перехода на новую строку

nБлочный –заключается между символами-скобками /* и */.

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

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

Простые типы данных

lДля описания простых типов определены следующие ключевые слова:

nint (целый);

nchar (символьный);

nwchar_t (расширенный символьный);

nbool (логический);

nfloat (вещественный);

ndouble (вещественный с двойной точностью).

lПервые четыре типа называют целочисленными (целыми), последние два — типами с плавающей точкой. Код, который формирует компилятор для обработки целых величин, отличается от кода для величин с плавающей точкой.

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

nshort (короткий);

nlong (длинный);

nsigned (знаковый);

nunsigned (беззнаковый).

Целый тип (int)

lРазмер типа int зависит от компьютера и компилятора.

lРазмер short int <= Размер int <= Размер long int

lВнутреннее представление величины целого типа — целое число в двоичном коде. При использовании спецификатора signed старший бит числа интерпретируется как знаковый (0 — положительное число, 1 — отрицательное).

lПо умолчанию все целочисленные типы считаются знаковыми, то есть спецификатор signed можно опускать.

lКонстантам, встречающимся в программе, приписывается тот или иной тип в соответствии с их видом. Если этот тип по каким-либо причинам не устраивает программиста, он может явно указать требуемый тип с помощью суффиксов L, l (long) и U, u (unsigned).Например:

nконстанта 32L – signed long int

nконстанта 77U – unsigned int

lМожно использовать суффиксы L и U одновременно.

Символьный тип (char)

lПод величину символьного типа отводится, как правило, 1 байт.

lТип char может быть со знаком или без знака.

lВ величинах со знаком можно хранить значения в диапазоне от -128 до 127.

lПри использовании спецификатора unsigned значения могут находиться в пределах от 0 до 255.

lВеличины типа char применяются также для хранения целых чисел, не превышающих границы указанных диапазонов.

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

lВеличины логического типа могут принимать только значения true и false, являющиеся зарезервированными словами.

lВнутренняя форма представления значения false — 0 (нуль).

lЛюбое другое значение интерпретируется как true.

lПри преобразовании к целому типу true имеет значение 1.

Типы с плавающей точкой
(float, double и long double)

lВнутреннее представление вещественного числа состоит из двух частей — мантиссы и порядка.

lМантисса — это число, большее 1.0, но меньшее 2.0. Поскольку старшая цифра мантиссы всегда рав­на 1, она не хранится.

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

lМожно явно указать тип константы с помощью суффиксов F, f (float) и L, 1 (long). Например:

nконстанта 2E+6L - тип long double

nконстанта 1.82f — тип float.

Диапазоны значений простых типов

Тип

Диапазон значений

Размер (байт)

bool

true и false

1

signed char

-

1

unsigned char

0

1

signed short int

67

2

unsigned short int

0

2

signed long int

-2 2

4

unsigned long int

0 5

4

float

3.4e3.4e+38

4

double

1.7e-1.7e+308

8

long double

3.4e-43.4e+4932

10

Тип void

lМножество значений этого типа пусто.

lОн используется:

nдля определения функций, которые не возвращают значения,

nдля указания пустого списка аргументов функции

nкак базовый тип для указателей

nв операции приведения типов

Структура программы

Программа на языке C++ состоит из функций, описаний и директив препроцессора.

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

Описание функции

тип_возвращаемого_значения имя ([параметры ])

{

операторы, составляющие тело функции

}

    Если функция не должна возвращать значение, указывается тип void. Тело функции заключается в фигурные
    скобки; Функции не могут быть вложенными;

Описание переменной

[класс памяти] [const] тип имя [инициализатор];

lНеобязательный класс памяти может принимать одно из значений auto, extern, static и register.

lМодификатор const показывает, что значение переменной изменять нельзя. Такую переменную называют именованной константой, или просто константой.

lПри описании можно присвоить переменной начальное значение, это называется инициализацией. Инициализатор можно записывать в двух формах

nсо знаком равенства: = значение

nв круглых скобках: ( значение )

lКонстанта должна быть инициализирована при объявлении.

lВ одном операторе можно описать несколько переменных одного типа, разделяя их запятыми.

Примеры описания переменных

short int а = 1:

const char С = ‘С’;

char s, sf = 'f’;

char t (54);

float с = 0.22, x(3), sum;

Область действия идентификатора

lДругое название – область видимость переменной

lОбласть действия идентификатора - это часть программы, в которой его можно использовать для доступа к связанной с ним области памяти.

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

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

Класс памяти

lauto — автоматическая переменная. Память под нее выделяется при необходимости и инициализируется каждый раз при выполнении оператора, содержащего ее определение. Освобождение памяти происходит при выходе из блока, в котором описана переменная. Время ее жизни — с момента описания до конца блока.

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

lstatic — статическая переменная. Время жизни — постоянное. Инициализируется один раз при первом выполнении оператора, содержащего определение переменной.

lregister — аналогично auto, но память выделяется по возможности в регистрах процессора. Если такой возможности у компилятора нет, переменные обрабатываются как auto.

Этапы создания исполняемой программы

С++. Базовые средства описания действий

Основные вопросы

lОперации

lВыражения

lОператоры ветвления

lОператоры цикла

lОператоры передачи управления

Унарные операции

++

--

sizeof

~

!

-

&

*

new

delete

(type)

увеличение на 1

уменьшение на 1

размер a=sizeof(float) à a=4;

поразрядное отрицание

логическое отрицание

арифметическое отрицание (унарный минус)

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

разыменование указателя

выделение памяти

освобождение памяти

преобразование типа

Бинарные операции

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7