Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора по информатике).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
700.93 Кб
Скачать

34. Целочисленные типы данных языка с.

Целое число – это число без дробной части. Пример: 25, -84, 1. Такие числа, как 2.432, 25.67 и 5.00, не являются целыми.

Тип данных int

В языке С существует несколько разновидностей целочисленных данных. Основным типом целочисленных данных является int. К данным типа int относятся целые числа со знаком. Диапазон возможных значений зависит от компьютерной системы и операционной системы, установленной на компьютере. Так, например, в ОС MS DOS для хранения данных типа int отводится 16 битов, поэтому диапазон возможных значений простирается от –32768 до +32767. На современных 32 разрядных компьютерах, работающих под управление ОС Windows, Linux, Unix, Mac OS для хранения данных этого типа отводится 32 бита. Диапазон возможных значений от –2147483648 до +2147483647. Обычно для хранения данных типа int отводится одно машинное слово, чем обеспечивается наибольшая скорость работы программы, в которой используется данный тип данных.

При объявлении переменных типа int сначала идет ключевое слово int, затем имя переменной и в заключение – точка с запятой. Несколько переменных можно объявлять как по отдельности, так и перечислив имена переменных через запятую после ключевого слова int. Кстати, такой подход применим и к другим типам данных. При объявлении переменных создаются переменные, но им не присваиваются значения. Инициализировать переменную в языке С можно прямо в операторе объявления:

int i=32;

int count=3, pass=-34;

Для вывода на печать данных типа int можно использовать функцию printf(). При этом используются символы %d для того, чтобы указать место, где должно печататься целое число. Необходимо тщательно следить за тем, равняется ли количество спецификаторов формата в функции printf() количеству отображаемых на экране значений.

Обычно в языке С предполагается, что целочисленная константа является десятичным числом. Но иногда удобнее использовать восьмеричную и шестнадцатеричную системы счисления. Чтобы указать компьютеру, что число представлено в шестнадцатеричной системе счисления, необходимо добавить префикс 0x или 0X (нуль-икс) перед числом, записанным в шестнадцатеричной системе. 0x10 - это 16 в десятичной системе. Подобно этому префикс 0 (нуль) означает, что число является восьмеричным. Восьмеричные и шестнадцатеричные числа трактуются как числа без знака.

При печати на экране числа в восьмеричном виде вместо спецификатора формата %d необходимо использовать %o. Для того чтобы отобразить целое число в шестнадцатеричном виде, используется спецификатор %x.

Другие типы целочисленных данных

При изучении языка С большинство потребностей связанных с целыми числами удовлетворят данные типа int. Однако по ряду причин вам могут потребоваться и другие типы целочисленных данных.

В языке С используются три ключевых слова, обозначающие модификации основного типа целочисленных данных: short, long и unsigned.

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

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

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

  • Тип данных unsigned int (unsigned) используется для представления только положительных чисел. Диапазон возможных значений данных этого типа смещен по отношению к диапазону данных типа int.

  • В стандарте С90 распознаются как допустимые следующие типы данных: unsigned long int (unsigned int) и unsigned short int (unsigned short). Стандарт С99 добавляет типы данных unsigned long long int (unsigned long long).

Для вывода данных типа unsigned int используется спецификатор %u. Чтобы вывести данные типа long, используется спецификатор формата %ld. Префикс l можно также использовать вместе с префиксами x и о (для вывода на экран чисел в шестнадцатеричном и восьмеричном виде соответсвенно). Для обозначения типа данных short можно использовать префикс h.

При работе с функцией printf() нужно проявлять особую осторожность, так как на самом деле здесь не приведены все случаи использования спецификаторов формата. В случае неправильной спецификации можно получить совсем не те результаты, что ожидалось.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]