1 / 19

Лекция 2

Лекция 2. Структура С++. Алфавит С++. Ключевые слова Специальные символы и операторы Идентификаторы (имена). Ключевые слова. asm auto bool b reak case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern

brian-ortiz
Download Presentation

Лекция 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Лекция 2 Структура С++

  2. Алфавит С++ • Ключевые слова • Специальные символы и операторы • Идентификаторы (имена)

  3. Ключевые слова asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while

  4. Символы и операторы { } [ ] # ## ( ) ; : ? :: . .* + - * / % ^ & | ~ ! = < > <= >= += -= *= /= %= ^= &= |= <<= >>= << >> == != <= >= && || ++ -- , -> ->* ... <: :> <% %> %:%: %:

  5. Идентификаторы Идентификаторы – символьные имена меток, функций, переменных или типов. Правила именования: • Состоит только из букв латинского алфавита, цифр или символа ‘_’ • Начинается не с цифры • Не совпадает с ключевым словом

  6. Типы данных Простые: • Логический тип • Символьный тип • Целые типы • Типы с плавающей точкой • Перечислимые типы • Пустой тип Адресные: • Указатели • Массивы • Ссылки • Составные: • Структуры и классы • Объединения

  7. Целые типы • Наименования типа [модиф. знака][модиф. размера]int • Модификаторы знака signed, unsigned • Модификаторы размера short, long • Размеры sizeof(char) ≤sizeof(short) ≤sizeof(int) ≤sizeof(long) sizeof(N) = sizeof(signed N) = sizeof(unsigned N) Обычно sizeof(short) = 2 байта sizeof(int) = 4 байта sizeof(long) = 4 байта

  8. Целые литералы Литерал типа – конструкция языка, задающая некоторое значение данного типа • Разрядность • десятичные ( 10, 11, 12, … ) • восьмеричные ( 012, 013, 014, … ) • шестнадцатеричные ( 0xA, 0xB, 0xC, … ) • Модификаторы размера и знака • постфикс U (unsigned) Пример: 3U • постфикс L (long) Пример:12L • можно сочетать Пример: 34UL

  9. Символьный тип • Наименования типа [модиф. знака] char wchar_t • Модификаторы знака signed, unsigned • Размеры sizeof(char) ≤sizeof(wchar_t) ≤sizeof(long) Обычно sizeof(char) = 1 байт sizeof(wchar_t) = 2 байта

  10. Символьные литералы Символьный литерал – символ, заключенный в одиночные кавычки, например ‘q’ или ‘8’ Специальные литералы: ‘\n’ – перевод строки ‘\0’ – нулевой литерал‘\t’ – табуляция ‘\\’ – обратный слэш Тип литерала ‘c’ – charL‘c’ – wchar_t

  11. Логический тип • Наименование типа bool • Принимаемые значения true, false • Размер типа 1≤ sizeof(bool) ≤sizeof(long) Обычно: 1 байт • Особенности bool c = 7 ; (cравноtrue ) int n = true ;(n равно1)

  12. Типы с плавающей точкой • Наименования типа float, double, long double • Размеры sizeof(float) ≤sizeof(double) ≤sizeof(long double) Обычно sizeof(float) = 4 байта ( 7 дес. знаков) sizeof(double) = 8байт (15 дес. знаков) sizeof(long double) = 10байт (19 дес. знаков)* *Чаще встречается sizeof(long double) == sizeof(double) == 8

  13. Литералы с плавающей точкой • Десятичный формат <целаячасть>.<дробная часть>[модификатор] Пример: 12.379 3.141592 • Экспоненциальный формат <целая>.<дробная>e<степень>[модификатор] Пример: 1e5 1.23e-4 • Модификаторы 1.27 – тип double 1.27F – тип float 1.27L – тип long double • Сокращенная запись .5 12.

  14. Пустой тип void • Является простым типом, но может являться только частью более сложного • Невозможно создать объект типа void • Означает «неопределенный тип» или «отсутствие типа» void f () {} – функция, не возвращающая никакого значения void* x – указатель на данные неопределенного типа

  15. Перечисления • Задают набор значений. Переменные этого типа могут принимать только значения из заданного списка • Значениями перечисления являются именованные константы. Им ставятся в соответствие целые числа, начиная с нуля.Соответствие может быть задано, в этом случае для следующих констант это значение увеличивается на 1. • Размер типа – достаточный для хранения численных эквивалентов значений, но не более sizeof(int) • Тип константы – имя перечисления (в примере тип A – безымянный, тип Two – Numbers) enum { A, B, C, }; // A = 0 // B = 1 enum Numbers { One = 1, Two, Four = 4, }; // Two = 2

  16. Объявление переменных простых типов Форматобъявления [модификаторы]<тип><имя>[инициализатор]; Множественное объявление [модификаторы]<тип><имя>[иниц.],<имя>[иниц.]; Инициализатор: = значение или (значение)

  17. Примеры объявлений Полное объявление Неполные объявления Множественное объявление Идентично static const unsigned short int a = 10 ; static const unsigned int c = 8, b = 9 ; int a ; float f = 1.37 ; unsigned short intq ; char c ( ‘m’ ); char b, r = ‘w’ ; char b; char r = ‘w’ ;

  18. Объявление перечислений Внутри базового типа С инициализацией По имени типа enumStates { None, Half, Full }; States state = Half ; enum { None, Half, Full } state ; enum { None, Half, Full } state = Half ;

  19. Синонимы типов Ключевое слово typedef перед объявлениемвводит новое имя типа. Взаимозаменяемо с некоторыми конструкциями языка. Является синонимом типа, а не новым типом! enumStates { None, Half, Full }; typedef unsigned intuint ; typedef unsigned short intWORD ; typedefenum { None, Half, Full } States;

More Related