
- •Обзорные лекции по курсу
- •Типы данных
- •Переменные и константы
- •Базовые типы
- •Void MyFunktion (); //возвращаемое функцией значение игнорируется
- •Константы
- •Типизированная константа – это константа, представленная именем как и переменная, но в отличии от переменной значение инициализированной константы изменить нельзя.
- •Void MyFunktion (); //возвращаемое функцией значение игнорируется
- •9.Переменная-объект программы, занимающий несколько ячеек памяти и предназначенный для хранения ……….
- •10.Зачем и как можно преобразовать(переопределить) тип переменной. Приведете примеры явного и неявного преобразования типов переменных.
Void MyFunktion (); //возвращаемое функцией значение игнорируется
typdef unsigned long int ULONG; // определение псевдонима для получения более
//лаконичного имени беззнаковой целой
// переменной
Константы
Константы также как и переменные предназначены для хранения данных, однако в отличии от переменных константу нельзя изменить. Создаваемую константу необходимо сразу инициализировать. В языке С++ предусмотрено два вида констант: литеральные и типизованные.
Литеральная константа–это значение непосредственно вводимое в выражениях самой программы. Например, в выраженииint myLusy=1936;словоmyLusyявляется переменной типаint, а число 1936- литеральной константой.Литеральные константы делятся на: символьные, строковые, целые и вещественные.
Символьная константа-это отдельный символ, заключенный в апострофы: ‘z‘,’@’. Строковые константы – это последовательность символов, заключенная в двойные кавычки: ”О, если б, как в свое окно, взглянуть в судьбу хоть раз!”.
Целые константы бывают десятичные, восьмеричные, шестнадцатеричные. Десятичные могут быть представлены последовательностью десятичных циф, начинающуюся не с нуля, например: 9876; 495298. Восьмеричные константы –последовательность восьмеричных цифр от 0 до , начинающаяся с нуля, например: 034,076.
Шестнадцатеричные константы начинаются с символов0х или 0Хс последующими шестнадцатеричными цифрами0..9,A…F,например, 0xF4;0X5D. Буквенные символы могут быть представлены в любом регистре. Длинные целые константы, используемые в переменных типаlong, определяются буквойlилиLсразу после символов константы без пробела, например:36L, 012L, 0x67L.
Вещественные константы – числа в форме с плавающей запятой могут быть записаны в формате с фиксированной точкой, например:789.098, 54.08, .23,или в экспоненциальной форме, например:1е9, 5е+3, 2.7е-5. В мантиссе может пропускаться целая или дробная часть.
Символьные константы в С++ занимают один байт памяти и могут принимать значения от 0 до 255. Однако существует ряд неотображаемых при печати символов, но выполняющих специальные действия и называемыхescape-последовательностями.Escape-символы в программе отображаются в виде обратного слеша, за которым следует буква или символ.
Таблица 1.2.
Символы escape-последовательности
\\ |
Вывод на печать обратной черты |
\’ |
Вывод апострофа |
\” |
Вывод кавычки при печати |
\? |
Символ вопросительного знака |
\a |
Подача звукового сигнала |
\b |
Возврат курсора на один символ назад |
\f |
Перевод страницы |
\n |
Перевод строки |
\r |
Возврат курсора на начало текущей строки |
\t |
Перевод курсора к следующей позиции табуляции |
\v |
Вертикальная табуляция (вниз) |
Типизированная константа – это константа, представленная именем как и переменная, но в отличии от переменной значение инициализированной константы изменить нельзя.
Для определения констант в С++ предусмотрены два способа описания: с использованием директивы препроцессора #defineиописательного оператора const.
Выражение #define nomDoma 231 инициализирует константуnomDomaзначением 231 без указания конкретного типа, т.е. директива просто выполняет текстовую подстановку. Однако, более общее описание этой константы можно выполнить с помощью оператора
Const unsigned short int nomDoma =231;
Теперь константа nomDoma имеет тип данных и может быть переопределена без корректировки операторов программы, использующих константу.
Преобразование типов
В С++ существует явное и неявноепреобразование типов. В случаенеявного преобразования типов допускается участие в выражениях переменных разных типов. Однако, при этом возможны ошибки, если в выражениях участвуют разные переменные базовых типов. Действительно, если результат занимает в памяти больше места, чем отведено под принимающую переменную, неизбежна потеря значащих разрядов.
Пример неявного преобразования в следующем фрагменте кода программы:
.........
Int y=0;
Float x=19.926;
y=x; //здесь используется неявное преобразование
cout << “y = ”;
cout << y <<;’\n’;
...........................
В случае явного преобразованияпеременных одного типа в другой необходимо перед именем переменной в скобках указывать присваиваемый ей новый тип. Например:
.........
Int y=75;
Float x=19.926;
y=(int)x; //здесь используется явное преобразование
cout << “y = ”;
cout << y <<;’\n’;
...........................
Результат работы обеих фрагментов программ выглядит так: у=19, т.е. произошло отсечение дробной части переменнойу.Только в первом случае это произошло, как бы по умолчанию, и программист этот результат мог и не ожидать. Во втором же случае, программист осознанно хотел получить только целую часть дробного значения, а поэтому и переопределил тип переменной у, написав в коде (int)y.
Резюме
Программа на С++ -это текст на формальном языке, описывающий некоторый процесс обработки данных в терминах синтаксических конструкций языка С++, имеющих предопределенный смысл(семантику). Схема построения языка С++ типична для формальных языков высокого уровня:Алфавит → Лексемы → Скалярные типы и выражения → Операторы → Адреса, указатели, массивы, память → Функции, классы, объекты.
Ключевые(служебные) словаС++– это идентификаторы, зарезервированные в языке для внутреннего использования. Всего зарезервировано около 50 слов:char do long for class const return void while и т.д.Ключевые слова запрещено использовать программисту в качестве произвольных имен. Кроме этого программисту не рекомендуется выбирать идентификаторы, начинающиеся с одинарного или двойного символа подчеркивания, так как эти символы зарезервированы для реализаций С++ и стандартных библиотек.
Константы – это лексемы, используемые для изображения фиксированного числового, строкового или символьного(литерного) значений данных. Посредством констант визуализируется внешнее представление типов данных. Внутреннее(кодовое) представление констант обеспечивает допустимые типизированные методы обработки данных. Многообразие типов данных и операций по их обработке определяют возможности любого языка программирования.
Понятие данныепроизошло от латинскогоdatum, буквально означающегофакт.В связи с чемданнымистали называтьописаниялюбых явлений или абстрактных идей, которые представляются достаточно ценным для того, чтобы их точно зафиксировать.Данные(факты)и ихсмысловое содержание(семантика)фиксируются наестественном языке совместно, так как язык достаточно выразителен для представления того и другого.
Модель данных– это средство абстракции, которое дает возможность понять информационное содержание данныхпо их конкретным значениям.Модели данных моделируют реальный мир адекватно особенностям компьютерной обработки данных. В качествеатомарной единицы данныхпринимают последовательность понятий<имя объекта, свойство объекта, значение свойства, время>.
Типы данных, выделенные в среде языка программирования C++, обеспечивают моделирование поведения достаточно широкого спектра предметных областей реального мира и определяют: визуальное представление их на экранах и в документах, формат их представления в памяти компьютера, область возможных значений, множество допустимых операций над данными.
Являясь языком общего назначения, C++ поддерживает следующие типы данных:
Базовые типы(Fundamental Types). Базовые типы идентифицируются зарезервированными ключевыми словами, и их не надо определять. Отдельные экземпляры этих типов обычно называют переменными.
Производные типы(Derived Types). Экземпляры этих типов создаются с использованием как базовых типов, так и типов классов. Разнообразие экземпляров этих типов определено следующими ключевыми словами: структуры, объединения, указатели, массивы.
Типы Класса(Fundamental Types). Экземпляры этих типов называют объектами.
Таким образом переменная – это пара понятий ИМЯ-ЗНАЧЕНИЕ.Имени соответствует адрес (ссылка) на ячейку памяти, выделенную переменной, а значением является содержимое этой ячейки.Таким образом переменная- это частный случай объекта как именованной области памяти.При определении значения переменной в соответствующую ей область памяти помещается некоторый код. Это может происходить либо во время компиляции, либо во время исполнения программы. В первом случае говорят обинициализации, во втором случае – оприсваивании.
Для того чтобы переменная стала информационным объектомпрограммы и могла бы участвовать в процессах выполнения операций над данными необходимо, чтобы она обладалаименем, типом, а значит и размером выделяемой памяти, а также рядом специальных свойств(Видимость, время существования и другие атрибуты, которые рассмотрим позже).
Определение или объявление переменной в программе начинается с ключевого слова, определяющего ее тип, за которым следует имя переменной и инициализация(присвоение начального значения). Описание завершается точкой с запятой(;). Допускается описывать несколько однотипных переменных в одной конструкции, с обязательным разделением описаний запятой.
Int B = 0, b = 5; // описаны две переменные с присвоением начальных значений
float Gal = 1936.07;
double karLysi;
boll kls = false;
char Pr = ’L’;