Лекции.Орг


Поиск:




Базовые стандартные типы данных




Таблица 1

 

Имя типа размер в байтах объектов данного типа способ кодировки диапазон значений данных, которые могут быть записаны в объектах данного типа (от … до …)
char   символ -128 … 127 (коды ASCII)
unsigned char   беззнаковый символ 0 … 255
short   целое -32768 … 32767
unsigned int   беззнаковое целое 0 … 65535
int   целое -32768 … 32767
long   длинное целое -2147483648 … 2147483647
unsigned long   беззнаковое длинное целое 0 … 4294967295
float   действительное 3.4E-38 … 3.4E+38
double   длинное действительное 1.7E-308 … 1.7E+308
long double   длинное действительное 3.4E-4932 … 3.4E+4932

 

Понятие определения объекта

 

Для того, чтобы в программе можно было работать с объектом, его надо создать, т.е. программист на языке С++ должен дать указание системе на его создание – на выделение памяти требуемого размера и задать способ кодировки информации в этой области памяти. Выделенной памяти должно быть присвоено имя. В этом случае говорят, надо определить (defined) объект. Определить объект можно только один раз!!!!!!!!

Объект, который определен, одновременно и описан (declared).

Инструкция определения объекта выглядит так:

имя_типа [имя_объекта1, имя_объекта2, …,] имя_объектаN;

Т.е. эта инструкция должна начинаться с имени типа определяемых (определяемого) объектов(а) после которого через запятую следуют имена объектов (или одно имя, если в этой инструкции определяется только один объект).

Инструкция обязательно заканчивается точкой с запятой. Нет точки с запятой – нет инструкции!!!

 

Например:

int nA1, nA2, nA3 = 0;

float fltVar;

char chSymb;

Здесь записаны три инструкции определения объекта.

Первая создает в памяти три объекта с именами nA1, nA2, nA3, размер каждого из них 2 байта, в область этих объектов можно записывать целые числа из диапазона от -32768 до 32767 (смотри табл.) При создании объектов nA1, nA2 в их область памяти ничего разумного не записано, там могут в данный момент находиться любые целые числа из диапазона объектов типа int.

В область объекта nA3 записано в момент создания число 0. Об объекте nA3 говорят, что объект nA3 инициализирован нулем.

Какие объекты созданы в в следующих двух инструкциях, смотри таблицу 1.

 

В программе могут быть определены константные объекты, значения которых устанавливаются в момент их создания и не могут быть изменены в процессе выполнения программы. Далее приведены примеры неименованных констант. Их именем является само их значение.

 

Так определяют целые константные объекты, тип которых long:

3 55 -10 +1 1 1876

 

Так определяют действительные константные объекты, тип которых double (в записи таких констант всегда присутствует точка):

3. 0 3. 55. – 10. -1. 1 0. 34. 34 -15. 12345678

 

Так определяют символьные константные объекты, тип которых char (их значения взяты в одинарные кавычки – кавычки не являются частью данного, а призваны только для того, чтобы обозначить его значение):

3 ‘ ‘ a ‘ ‘ \n ‘ ‘ я ‘ ‘ % ‘ ‘ }

 

Так определяют символьные константные строки (их тип пока называть не будем, т.к. эти константные объекты являются объектами производного типа), значения этих констант взяты в двойные кавычки – двойные кавычки не являются частью данного, а призваны только для того, чтобы обозначить его значение:

3 “ “ abcd “ “ 123456789“-15.12345678 “ “ я

константная строка, в памяти занимает столько байт, сколько в ней символов + 1 байт на символ конца строки

Символом конца строки является символ ‘\0’, код которого равен 0.

 

Понятие описания объекта

 

 

Каждый объект в программе может быть создан один раз, то есть инструкция его определения может так же появиться только один раз.

 

 

Но иногда в программе приходится объект не создавать (он где-то уже создан или гарантировано будет создан), а только описывать (declared) его основные характеристики, для того чтобы система знала, как правильно организовать его обработку. В этом случае используют инструкцию описания объекта.

 

Вот ее вид:

extern имя_типа [имя_объекта1, имя_объекта2, …,] имя_объектаN;

 

Обратите внимание, что инструкция описания объекта повторяет синтаксис инструкции определения объекта, перед которой появляется зарезервированное слово extern.

 

Модульная структура программы в СИ++. Объект типа функция.

Любой алгоритм можно сформулировать в виде последовательности операций, выполняемых над некоторыми объектами, и записать эту последовательность операций в виде программы. С увеличением алгоритмов и соответственно объема программы невозможно удержать в памяти все ее детали. Возрастает трудоемкость создания таких программ и уменьшается их надежность. К счастью программисты давно используют принципы структурного программирования, разбивая программу на отдельные процедуры, реализующие определенные группы операции алгоритма. Каждая процедура решает свою узкоспециализированную задачу, может обращаться к другим процедурам, а для этого ей необходимо уметь обмениваться данными с другими процедурами. Понятие подобной процедуры в языке С++ конкретизируется в виде объекта типа функции.

Такой стиль программирования, использующий принципы структурного программирования, ведет к повышению степени абстракции программы и к упрощению ее структуры, повышает надежность программы. Разделение программы на объекты-функции позволяет избежать избыточности кода (многократного повторения одного и того же кода), поскольку функцию записывают один раз, а вызывать ее на выполнение можно многократно из разных точек программы. Упрощается процесс отладки, т.к. каждую функцию можно отладить отдельно. Дальнейшим шагом в повышении уровня абстракции является объединение функций и связанных с ними данных в отдельные файлы - исходные модули (они имеют расширение .срр), компилируемые раздельно. Получившиеся в процессе компиляции файлы объектные модули (файлы с расширением.obj), объединяются в исполняемую программу с помощью компоновщика (получают исполняемый файл с расширением.exe).

 





Поделиться с друзьями:


Дата добавления: 2016-10-06; Мы поможем в написании ваших работ!; просмотров: 317 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

780 - | 753 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.