- •Міністерство освіти і науки україни
- •Для студентів напряму підготовки 0804 "Комп’ютерні науки" усіх форм навчання
- •Харків, хнеу, 2008
- •Содержание
- •Общие положения
- •Требования к оформлению отчета
- •Часть 1(4 часа): Среда визуальной разработки программ Microsoft Visual Studio .Net
- •Разработка простейшего консольного приложения.
- •Часть 2(2 часа): Подготовка и решение на пэвм задач линейного характера
- •Краткие теоретические сведения
- •1.2. Стандартные типы данных, модификаторы,
- •1.3. Спецификаторы класса памяти
- •1.4. Операции
- •Лабораторная работа №2 Подготовка и решение на пк задач с разветвлением
- •Краткие теоретические сведения
- •2.1. Оператор if
- •If (условие) выражение;
- •If (условие) выражение1; else выражение2;
- •2.2. Оператор switch/case
- •2.3. Операторы break, continue и goto
- •Задания к лабораторной работе №2
- •Лабораторная работа №3 Подготовка и решение на пк задач с использованием циклов
- •Лабораторная работа №4 Применение функций для решения типовых экономических задач
- •Использование параметров функции для обмена информацией между функциями.
- •Создание собственных заголовочных файлов
- •Лабораторная работа №5 Обработка на пк одномерных массивов.
- •5.1. Краткие теоретические сведения
- •Лабораторная работа №6 Обработка на пк двумерных массивов.
- •Двумерные массивы
- •Приложение а. Среда визуальной разработки программ Microsoft Visual Studio .Net
- •1.1. Среда mde
- •1.2. Команды главного меню
- •1.3. Создание проекта
- •1.4. Ввод и редактирование исходного текста программы
- •1.5. Создание исполняемого файла
- •1.6. Запуск и отладка программы
- •Приложение №в
- •Спецификация программных требований
- •Целое число, выводится на экран. Пользовательский интерфейс
- •План тестирования
- •Текст программы
- •Результат работы программы
- •Краткие выводы по работе
1.2. Стандартные типы данных, модификаторы,
квалификаторы доступа и преобразование типов данных
Каждая программа обрабатывает определенную информацию. В C++ данные имеют один из восьми базовых типов: char (текстовые данные), int (целые числа), float (числа с плавающей запятой одинарной точности), double (числа с плавающей запятой двойной точности), void (пустые значения), bool (логические значения), перечисления и указатели.
Текст (тип данных char) представляет собой последовательность символов, которые могут быть разделены пробелами. Обычно каждый символ занимает 8 бит, или один байт, с диапазоном значений от 0 до 255.
Целые числа (тип данных int) находятся в диапазоне от -32768 до 32767 и занимают 16 бит, то есть два байта, или одно слово. В Windows 98 и Windows NT и более современных ОС Windows используются 32-разрядные целые числа, что позволяет расширить диапазон значений от -2147483648 до 2147483647.
В C++ поддерживаются три типа целых чисел. Наряду со стандартным типом int существуют типы short int (короткое целое) и long int (длинное целое). Допускается сокращенная запись short и long.
Числа с плавающей запятой одинарной точности (тип данных float) могут быть представлены как в фиксированном формате, так и в экспоненциальном. Диапазон значений — ±3.4Е-38 до ±3.4Е+38, размерность — 32 бита, то есть 4 байта, или 2 слова.
Числа с плавающей запятой двойной точности (тип данных double) имеют диапазон значений от ±1.7Е-308 до ±1.7Е+308 и размерность 64 бита, то есть 8 байтов, или 4 слова. Ранее существовал тип long double с размерностью 80 бит и диапазоном от ±1.18Е-4932 до ±1.18Е+4932. В новых 32-разрядных версиях компиляторов он эквивалентен типу double и поддерживается из соображений обратной совместимости с написанными ранее приложениями.
Перечисления представляются конечным набором именованных констант различных типов.
Тип данных void, как правило, применяется в функциях, не возвращающих никакого значения. Этот тип данных также можно использовать для создания обобщенных указателей.
Указатели, в отличие от переменных других типов, содержат не данные в обычном понимании этого слова, а адреса памяти, где хранятся данные.
Переменные нового логического типа данных bool в C++ могут содержать только одну из двух констант: true или false.
Компилятор языка C++ позволяет при описании переменных указывать модификатор unsigned. Он применяется с четырьмя типами данных: char, short, int и long. Наличие данного модификатора указывает на то, что значение переменной должно интерпретироваться как беззнаковое число, то есть самый старший бит является битом данных, а не битом знака. Существует модификатор signed, который выполняет противоположное unsigned действие.
В C++ используются два квалификатора доступа const и volatile. Они применяются для обозначения неизменяемых переменных (const) и переменных, значения которых могут измениться в любой момент (volatile).
Иногда требуется, чтобы значение переменной оставалось постоянным в течение всего времени работы программы. Такие переменные называются константными. Например, если в программе вычисляется длина окружности или площадь круга, часто придется оперировать числом (3,14159). В бухгалтерских программах такой величиной является НДС.
Применение квалификатора volatile может понадобиться в том случае, когда переменная обновляется системными устройствами, например таймером. При получении сигнала от таймера выполнение программы прерывается, и значение переменной изменяется.
Квалификатор volatile также применяется при описании объектов данных, совместно используемых разными процессами в многозадачной среде.
Допускается в некоторых случаях одновременное применение квалификаторов const и volatile.
В С++ применяются и другие квалификаторы. Их рассмотрение выходит за рамки руководства.
Часто бывает, когда в операции участвуют переменные разных типов. Такие операции называются смешанными. Например:
int ival;
float fres;
ival=ival*fres;
В процессе выполнения смешанных операций компилятор автоматически производит преобразования типов данных. Целочисленное значение переменной ival считывается из памяти, приводится к типу с плавающей запятой и умножается на исходное значение переменной fres. Результат в виде значения с плавающей запятой присваивается переменной целого типа ival. Автоматические преобразования типов данных при выполнении смешанных операций осуществляются в соответствии с иерархией преобразований. Суть состоит в том, что с целью повышения производительности в смешанных операциях значения разных типов временно приводятся к тому типу данных, который имеет больший приоритет в иерархии. Ниже перечислены типы данных в порядке снижения приоритета: double, float, long, int, short.
Если значение преобразуется к типу, имеющему большую размерность, нет потери информации, вследствие чего не страдает точность вычислений.
Иногда требуется изменить тип переменной, не дожидаясь автоматического преобразования. Для этого предназначена операция приведения типа. Если в программе необходимо временно изменить тип переменной, нужно перед ее именем ввести в круглых скобках название соответствующего типа данных. Например:
fr=fv+(float)iv/iw;
fr=fv+iv/(float)iw;
fr=fv+(float)iv/(float)iw;
Во всех трех случаях перед выполнением деления происходит явное приведение значения одной или обеих переменных к типу float.