КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Операция явного преобразования типов
Операции присваивания Операция определения размера
Операция определения размера sizeof () можно применять к константе, типу или переменной. В результате будет получено число байтов, занимаемых аргументом. Примеры: 1) printf («Размер памяти под целую переменную %d», sizeof (int)); 2) char a; printf («Размер переменной а= %d», sizeof (a));
Операция присваивания может быть простой и составной. Составное присваивание состоит из простой операции присваивания, скомбинированной с какой-либо бинарной операцией. При составном присваивании сначала выполняется действие, определяемое бинарной операцией, а затем результат присваивается левому операнду.
Операции ++ и - -
инкрементируют (увеличивают на единицу) и декрементируют (уменьшают на единицу) свой операнд. Операндом может быть целый, плавающий тип или указатель. Операции декремента и инкремента могут быть префиксными, когда знак операции записывается перед операндом и его значение сначала инкрементируется или декрементируется, а потом участвует в вычислениях, или постфиксными, когда знак операции записывается после операнда и его инкрементирование или декрементирование выполняется после того как старое значение операнда использовано в вычислениях. Примеры: 1) int x=0,y=0; int z,w; z=x++; // Значение z=0, х=1; w=++y; // Значение w=1, y=1;
При присваивании тип правого операнда преобразуется к типу левого операнда. Примеры: 1) double x; int y; x=y; // Значение у преобразуется к типу double; 2) int a,b=2; float c=12.5; a=c; // Значение а= 12; b+=2; // Эквивалентно операции b=b+2;
b++;
// Значение b=5; a/= b; // Эквивалентно a=a/b и имеет значение 2.
Явное преобразование типов может быть выполнено посредством операции приведения типа. Формат операции: (имя-типа) операнд;
Пример: 1) int x; float y; x=(int) y; // Значение у преобразуется к типу int.
Если в выражении появляются операнды различных типов, то они преобразуются к некоторому общему типу, при этом каждый арифметический операнд подчиняется следующим правилам: 1) char и short преобразуются в int, float - в double (в языке С++ все действия с вещественными числами производятся с двойной точностью). Выше уже говорилось о модификаторе unsigned. В С++ существует еще модификатор signed, который явно указывает, что в значении переменной обязательно есть знак. Он применяется для документированности и завершенности программ. Модификатор signed, использованный сам по себе, означает signed int. Тогда имеют место следующие преобразования: char - int (со знаком); unsigned char - int (старший байт всегда нулевой); signed char - int (в знаковый разряд int передается знак из char); short - int (знаковый или беззнаковый); float - double; 2) enum преобразуется в int; 3) если один из операндов двойной точности (double), то другие тоже преобразуются к двойной точности (double), и результат будет двойной точности (double); 4) если один из операндов имеет тип long, то другие тоже преобразуются в long, и результат будет long; 5) если один из операндов имеет тип unsigne, то другие операнды тоже преобразуются к типу unsigne, и результат будет unsigne; 6) если все операнды имеют тип int, то результат будет int. Сложные выражения обычно содержат множество операций, выполняемых в строгой последовательности. Величина, определяющая преимущественное право на выполнение той или иной операции, называется приоритетом. В табл.2.2. перечислены различные операции языка С++. Их приоритеты для каждой группы одинаковы. Чем большим преимуществом пользуется соответствующая группа операций, тем выше она расположена в таблице. Порядок выполнения определяет последовательность реализации операций (слева направо или справа налево), если отсутствуют
круглые скобки и операции относятся к одной группе. Некоторые значки, используемые в табл.1, еще не рассматривались. Таблица 1.
Понятие объектов и классов. Строение и использование классов.
1. Введение
В настоящее время объектно-ориентированное программирование (ООП) является доминирующим стилем при создании больших программ. ООП является результатом эволюции различных стилей в программировании, которые включают процедурное программирование, модульное программирование, структурное программирование, ООП. В программировании широко используется фундаментальный принцип управления сложными системами, согласно которому при проектировании сложной программной системы проводится алгоритмическая декомпозиция решаемой задачи. Целью декомпозиции является представление разрабатываемой системы в виде взаимодействующих небольших подсистем (модулей), каждую из которых можно отладить независимо от других. Наряду с термином декомпозиция, также используется термин структуризация проблемы, задачи или программы. Идеи разделения программ на относительно самостоятельные крупные части, реализующие определенные процедуры и функции и образующие определенную иерархию взаимосвязей, нашли отражение в структурном подходе к разработке и созданию программных средств. Теоретическое оформление структурный подход получил в конце 60-х - нача- ле 70-х годов в работах Э. Дейкстры, А.П. Ершова, Э. Йодана, Н. Вирта, Э. Брукса и других теоретиков и практиков программирования. Следует отметить появление структурного программирования, в котором нашла определенное отражение идея упорядочивания структуры программы. Структурное программирование ориентирует на составление программ, структура которых близка к «дереву» операторов или блоков. Дальнейшее развитие структурного подхода привело к модульному программированию. Оно предусматривает декомпозицию прикладной задачи в виде иерархии взаимодействующих модулей или программ. Модуль, содержащий данные и процедуры их обработки, удобен для автономной разработки и создания. Развитием идеи модульного программирования является сопоставление объектам предметной области (моделируемым объектам) программных конструкций, называемых объектами. Таким образом, по мере развития технологии программирования осуществлялась соответствующая интеграция данных и программ в модулях. Таким образом, при объектном подходе интеграция данных и процедур их обработки определяется структурой предметной области, то есть набором моделируемых объектов, их взаимосвязью или взаимодействием в рамках решаемой задачи.
Дата добавления: 2014-01-05; Просмотров: 740; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |