Similar presentations:
Основные понятия и определения С++
1. Основные понятия и определения С++
2. 1. Элементы языка С++
1. ЭЛЕМЕНТЫ ЯЗЫКА С++3. Элементы языка С++
• Алфавит• латинские буквы: от а до z (строчные) и от А
до Z (прописные);
• десятичные цифры: 0, 1, 2, 3, 4, 5, 6,
7, 8, 9;
• специальные символы: " { } , | [ ] ()+-/% \ ;':
?< = >_ ! & # * ~ ^
4. Из символов алфавита формируются лексемы -
Из символов алфавита формируютсялексемы • единицы текста программы, которые
при компиляции воспринимаются, как
единое целое и не могут быть
разделены на более мелкие элементы.
5. К лексемам относятся
• идентификаторы,• служебные слова,
• константы,
• знаки операций,
• разделители.
6. Идентификаторы
• последовательность латинских букв, цифр,символов подчеркивания (_),
начинающаяся с буквы или символа
подчеркивания.
• Например:
• В12 rus hard_RAM_disk
MAX
ris__32
7. Служебные (ключевые) слова -
Служебные (ключевые) слова • это идентификаторы, назначение которыходнозначно определено в языке.
• Полный список служебных слов зависит от
реализации языка, т. е. различается для
разных компиляторов.
8.
asmauto
break
else
enum
extern
operator
private
protected
template
this
throw
case
catch
char
float
for
friend
public
register
return
try
typedef
typeid
class
const
continue
goto
if
inline
short
signed
sizeof
union
unsigned
virtual
default
int
static
void
delete
do
long
new
struct
switch
volatile
while
double
9. Типы данных
• В Си/Си++ имеется четыре базовыхарифметических (числовых) типа
данных. Из них два целочисленных —
char, int — и два плавающих
(вещественных) — float и double.
10. Типы данных
• В программах можно использоватьнекоторые модификации этих типов,
описываемых с помощью служебных слов
— модификаторов.
11. Существуют два модификатора
• размера — short (короткий) и long(длинный) — и два модификатора
знаков — signed (знаковый) и unsigned
(беззнаковый).
12.
Типданных
Размер
(байт)
Диапазон значений
char
1
-128...+127
int
2
-65536…+65535
unsigned
char
1
0...255
unsigned
int
2
0…131070
short int
2
-32768…32767
unsigned
short int
2
0...65535
long int
4
-2147483648
...2147483647
unsigned
long int
4
0...4294967295
float
4
±(3.4Е-38...3.4Е+38)
double
8
±(1.7Е-308...1.7Е+308)
long double
10
+(3.4Е-4932...1.1Е+4932)
13. Выводы из таблицы типов:
• Знаковые модификаторы применяютсятолько к целым типам.
• Если не указан базовый тип, то по
умолчанию подразумевается int.
14. Выводы из таблицы типов:
• Если не указан модификатор знаков, то поумолчанию подразумевается signed.
• С базовым типом float модификаторы не
употребляются!!!
15. Выводы из таблицы типов:
• Модификатор short применим только кбазовому типу int .
• В качестве логических величин в Си/Си++
выступают целые числа. Интерпретация их
значений в логические величины
происходит по правилу: равно нулю —
ложь, не равно нулю – истина
16. Описание переменных:
• имя_типа список_переменных;Примеры описаний:
• char symbol,ее;
• unsigned char code;
• int number,row;
• unsigned long long_number;
• float x,X,cc3;
• double e,b4;
• long double max_num;
17. Описание переменных:
• Одновременно с описанием можно задатьначальные значения переменных. Такое
действие называется инициализацией
переменных
18. Инициализация переменной
• тип имя_переменной =начальное_значение;
• Например:
• float pi=3.14159,с=1.23; unsigned int
year=2000;
19. Константы
• Целые десятичные числа, начинающиесяне с нуля, например: 4, 356, —128.
• Целые восьмеричные числа, запись
которых начинается с нуля, например: 016,
077.
20. Константы
• Целые шестнадцатеричные числа, записькоторых начинается с символов Ох,
например: OxlA, 0x253, OxFFFF.
21.
Диапазоншестнадцатеричных
констант
Диапазон
восьмеричных
констант
Тип
0x0-0x7FFF
0-077777
Int
0X8000-0XFFFF
0100000-0177777
Unsigned int
0X100000X7FFFFFFF
0200000017777777777
Long
0X800000000XFFFFFFFF
020000000000037777777777
Unsigned long
22. Запись вещественных констант
• Если в записи числовой константыприсутствует десятичная точка (2.5)
или экспоненциальное
расширение (1Е-8), то компилятор
рассматривает ее как
вещественное число и ставит ей в
соответствие тип double. Примеры
вещественных констант: 44.
3.14159 44Е0 1.5Е-4.
23. Использование суффиксов
• Программист может явно задать типконстанты, используя для этого суффиксы.
Существуют три вида суффиксов: F (f) - float;
U(u) —unsigned; L(l) — long (для целых и
вещественных констант)
24. Примеры:
• 3.14159F — константа типа float, подкоторую выделяется 4 байта памяти;
• 3.14L — константа типа long double,
занимает 10 байт;
• 50000U — константа типа unsigned int,
занимает 2 байта памяти (вместо четырех
без суффикса);
25. Запись символьных и строковых констант.
• Символьные константы заключаются вапострофы. Например:'А','а','5',' + '.
Строковые константы, представляющие
собой символьные последовательности,
заключаются в двойные кавычки.
Например: "result", "введите исходные
данные".
26. Управляющие символы их назначение — управление выводом на экран:
• ' \n' — переход на новую строку;• ' \t' — горизонтальная табуляция;
• ' \а' — подача звукового сигнала;
• ' \b' – возврат на шаг (на один символ
назад)
27. Управляющие символы их назначение — управление выводом на экран:
• ' \v' – вертикальная табуляция• ' \r' – возврат курсора к началу новой
строки
• ' \f' – перевод (прогон) страницы
• ' \ddd' – символ в восьмеричном
представлении
• ' \xddd' – символ в шестнадцатеричном
представлении
28. Например
• константа, соответствующая заглавнойлатинской букве А, может быть
представлена тремя способами:
• 'А', ' \101 ', '\х41' .
29. 2. Операции и выражения
2. ОПЕРАЦИИ И ВЫРАЖЕНИЯ30. Операции С++
• + сложение, - вычитание, * умножение, /деление (аналог div), % деление по модулю
(аналог mod), ++ -увеличение на
единицу(инкремент), -- уменьшение на
единицу(декремент), == равно, != не равно,
! не ,
31. Операции С++
• && логическое умножение(И конъюнкция),& поразрядная конъюнкция, || логическое
сложение (ИЛИ дизъюнкция), |
поразрядная дизъюнкция, ~ поразрядное
отрицание НЕ, ^ поразрядное
исключающее ИЛИ
32. Операция деления
• Если делимое и делитель — целые числа,то и результат — целое число.
• например, значение выражения 5/3 будет
равно 1, а при вычислении 1/5 получится 0.
33. Операция деления
• Если хотя бы один из операндов имеетвещественный тип, то и результат
будет вещественным.
• Например, операции 5./3, 5./3., 5/3. дадут
вещественный результат 1.6666
34. Оба знака операции ++ и --
Оба знака операции ++ и -• записываться как перед операндом(префиксная форма), таи после операнда
(постфиксная форма), например: ++Х или
Х++.
35. Пример 1
• а=3; b=2;• с=а++*b++;
• Результат:
• а =4, b=3, с= 6;
36. Пример 2
• а=3; b=2;• с=++а*++b;
• Результаты будут такими:
• а = 4, b = 3, с = 12.
37. Логическое выражение
• результатом операции отношения являетсяцелое число: если отношение истинно — то
1, если ложно — то 0.
• Примеры отношений:
• а<0, 101>=105, 'а'=='А, 'а'! = 'А'
38. Логические операции
• х>0 && х<1• х>5 || х<2
• Операция присваивания
• например:
• а=b=с=х+у;
39. Дополнительные операции присваивания:
• а+=2 эквивалентно а=а+2,• х-=а+b эквивалентно
х=х-(а+b),
• р /=10 эквивалентно р=р /10,
• m*=n эквивалентно m=m*n,
• г%=5 эквивалентно г=г%5.
40. Операция явного преобразования типа
• имеет следующий формат:• (имя_типа) операнд
• Примеры использования преобразования
типа:
• (long)8, (float)1, (int)x%
41. Например:
• float с;• int a=1, b=2;
• с=(float)a/b;
• В результате переменная с получит
значение 0,5. Без преобразования типа ее
значение стало бы равно 0.
42. Операция sizeof
• Эта операция имеет две формы записи:• sizeof(выражение)
• sizeof(тип)
43. Операция sizeof
• Результатом операции являетсяцелое число, равное количеству
байтов, которое занимает в
памяти величина явно
указанного типа или величина,
полученная в результате
вычисления выражения.
44. Пример:
• sizeof(int) результат — 2• sizeof(1) результат — 2
• sizeof (0.1) результат — 8
• sizeof(1L) результат — 4
• sizeof(char) результат — 1
• sizeof('a') результат — 2
45. Операция «запятая»:
• Эта необычная операция используется длясвязывания нескольких выражений в одно.
• Например, если переменная х имеет тип
int, то значение выражения (Х=3, 5*х) Будет
равно 15, а переменная х примет значение
3.
46. Операция «условие ?:»
• Формат операции:• выражение1 ? выражение2 : выражениеЗ
• Первым вычисляется значение выражения
1, которое обычно представляет собой
некоторое условие.
47. Операция «условие ?:»
• Если оно истинно, т. е. не равно 0, товычисляете выражение 2 и полученный
результат становится результатом
операции. В противном случае в качестве
результата берется значение выражения 3
48. Пример 1
• Вычисление абсолютной величиныпеременной можно организовать с
помощью одной операции:
• Х<0 ? -X : X;
49. Пример 2
• Выбор большего значения из двухпеременных а и b
• max=(a<=b)?b:a;
50. Пример 3
• Заменить большее значение из двухпеременных а и b на единицу:
• (a>b)?a:b=1;