- •Основные типы данных
- •Спецификаторы типов данных
- •Вещественные типы данных
- •Логический тип данных
- •Символьный тип данных
- •Управляющие последовательности
- •Логические операции
- •Побитовые логические операции
- •Форматирование ввода-вывода с помощью функций потоков ввода-вывода
- •Основные понятия структурного программирования
- •Базовый набор управляющих структур
Понятие и виды лексем. Лексема — элементарная единица языка, имеющая самостоятельный смысл.
Ключевые слова for, if…
Идентификаторы [^0-9][A-z0-9_]+
Константы 123, “Hello”
Разделители ()
Комментарии // /**/
Знаки операций
Структура и основные элементы программы #include <iostream> using namespace std; int main() { setlocale(0,””); cout << “Это пример программы” << endl; system(“pause”); return 0; }
Общее понятие типов данных Что определяет тип данных: 1. Характер данных 2. Объём памяти для хранения данных 3. Множество значений данных 4. Правила обработки данных Типы данных: 1. Простые (число, буква) 2. Структурированные (текст) Типы данных: 1. Встроенные 2. Пользовательские
Переменные и константы Переменная — именованная область памяти, где хранятся данные определённого типа. Константа — величина, значение которой не изменяется: 1. Именованные const int g = 10; 2. Литеральные 23; -1.1; ‘1’; “Text”; 017; 0xAB; 10us; 1e30;
Основные типы данных
int
bool
char
float
double
Спецификаторы типов данных
short
long
signed
unsigned
Определение переменных и констант в программе Переменные: [класс памяти]<тип данных> <идентификатор>[инициализатор] Константы: [класс памяти] const <тип данных> <идентификатор>[инициализатор]
Инициализация переменных различных типов int a = 123; int b(123); unsigned z = a+b; int i = 0, j, k(1);
Целочисленные типы данных десятичные: 123 восьмеричные: 0123 шестнадцатеричные: 0xABC
int (2/4 байта)
short int (2 байта)
long int (4 байта)
123s — short 123u — unsigned 123us — unsigned short
Вещественные типы данных
float (4 байта)
double (8 байт)
long double (10 байт (8 байт в консольном приложении))
123.4f — float 123.4l — long double
Особенности представления вещественных типов данных m — мантисса, p — порядок
float
±
порядок
мантисса
1
8 бит
23 бита
double
±
порядок
мантисса
1
11 бит
52 бита
Логический тип данных
bool (1 байт) true — !0 false — 0
Символьный тип данных
char (1 байт) ‘i’, ‘!’, ‘И’
Управляющие последовательности
\n — новая строка
\a — звуковой сигнал
\t — табуляция
\\ — символ \
\” — символ ”
\’ — символ ’
\054, \x4A — символы по номеру из таблицы ASCII
Операции и выражения a+b — выражение a, b — операнды + — операция Типы операций:
Унарные -а
Бинарные a+b
Тернарная a ? b : c
Операция присваивания, составные операции присваивания <переменная> = <выражение> тип выражения преобразуется к типу переменной Составные операции: +=, -=, *=, /=, <<=, &=, |=, ^=, %=
Понятие L-значения L-значение — <переменная> в левой части операции присваивания.
Преобразование типов данных Явное: int(3.14), (int) 3.14, static_cast<int>(3.14) Неявное:
если операнд — char или short, то он преобразуется в int
если операнды разных типов, то все операнды преобразуются к типу высшего приоритета. Приоритет типов операндов:
double
float
long
unsigned
Арифметические операции +a, -a, a+b, a-b, a*b, a/b (целое, если a и b — целые, иначе — вещественное) a%b (a и b должны быть целыми)
Операции инкремента и декремента, их разновидности постфиксный: a++, a-- c = a++; эквивалентно c = a; a += 1; префиксный: ++a, --a c = ++a; эквивалентно a += 1; c = a;
Операции отношения ==, !=, >, <, >=, <=
Логические операции
!a
a && b
a || b
Побитовые операции сдвига a << b; a >> b; r = a << b //
Побитовые логические операции
~a (NOT)
a | b (OR)
a & b (AND)
a ^ b (XOR)