Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по основам алгоритмизации и программи....doc
Скачиваний:
41
Добавлен:
02.11.2018
Размер:
2.69 Mб
Скачать

Комментарии

Комментарий – это сообщение, поясняющее что выполняется в данном месте программы. Комментарии позволяют повысить читабельность программы. При компиляции исходного текста компилятор игнорирует все комментарии.

Комментарий может занимать более чем одну строку. Если комментарий занимает только одну строку он может начинаться символами //, за которыми следует любой текст. Если комментарий занимает более одной строки, то либо каждую строку комментария нужно начинать с //, либо выделить начало его символами /* (начало) и */ (конец).

Типы данных

Данные в С(С++) могут быть простыми и структурированными. К данным простого типа относятся целые и вещественные числа, текстовая информация, указатели (адреса). В С имеются следующие 5 базовые типов: char( символьный), int (целый), float (вещественный), double (вещественный с двойной точностью), void (пустой тип). За исключением типа void перечисленные типы данных могут иметь модификаторы. К модификаторам относятся: unsigned (беззнаковый), signed (знаковый), short (короткий), long (длинный).

Тип данных и модификатор типа определяют:

- формат хранения данных в оперативной памяти (внутреннее представление данных);

- диапазон значений, в пределах которого может изменяться переменная;

- операции, которые могут выполняться над данными соответствующего типа.

Все типы данных можно разделить на две категории: скалярные и составные (рис.8).

Рис 8. Типы данных .

В языке С(С++) различают понятия: описание и объявление. Описание устанавливает свойства объекта: тип, размер и так далее. Объявление приводит к выделению памяти для объекта некоторого типа. Для рассмотрения различия указанных типов данных (с точки зрения их размеров) надо познакомиться с терминами "биты", "байты", "слова".

Наименьшая единица памяти называется бит. Она может принимать одно из двух значений 0 или 1. Наименьшей адресуемой единицей памяти ПЭВМ является байт. Байт представляет собой комбинацию из 8 бит. Для удобства обмена информацией байты могут быть объединены (информационно) в слова (16,32,64 - разрядные).

Целые числа и числа с плавающей запятой в ЭВМ отличаются по размеру и способу хранения.

Данные целого типа

В таблице 1 приведены характеристики данных целого типа:

Таблица 1

название типа

байт

диапазон значений

char

1

-128...127

unsigned char

1

0...255

signed char

1

int

2,4

-32 768...32 767

signed int

2,4

unsigned int

2,4

0...65 535

signed short int

2

-32 768...32 767

unsigned short int

2

0…65 536

long int

4

-147483648…2147483647

signed long int

4

unsigned long int

4

0...4 294 967 295

double long int

Как видно из приведенной таблицы размер памяти для типов int и unsigned int не определены в языке C(С++). По умолчанию размер int соответствует размеру машинного слова. Например, на 16-разрядной машине тип int всегда 16 бит, или 2 байта (слово). На 32-разрядной машине тип int всегда 32 бита, или 4 байта (слово). Таким образом, тип int эквивалентен типам short int или long int в зависимости от реализации. Аналогично тип unsigned int эквивалентен типам unsigned short или unsigned long. Поэтому программы, зависящие от спецификации размера int и unsigned int, могут быть непереносимы.

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

Если в процессе работы требуется информация о размере некоторого объекта (или его типа), то может быть использована операция sizeof (имя_объекта), возвращающая число байт объекта. Например:

i=sizeof(int); // i равно числу байт отводимых для объектов типа int

j=sizeof(long int); // j аналогично, но для данных типа типа long int

k=sizeof(i); // к размер памяти занимаемой переменной i

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