Стивен Прата - Язык Си - руководство для начинающих стр 15.

Шрифт
Фон

3.14159

.2

4е16

.8Е-5

100.

Использовать пробелы при записи констант запрещается

1.56Е+ 12 - НЕПРАВИЛЬНО

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

some = 4.0*2.0;

В этом случае константы 4.0 и 2.0 размещаются в памяти как данные типа double, т. е. для каждой из них (обычно) отводится 64 бит. Их произведение (равное 8) вычисляется с помощью операции умножения, выполняемой с двойной точностью, и только после этого производится усечение результата до нормального размера, соответствующего типу float. Все это обеспечивает максимальную точность ваших вычислений.

Переполнение и потеря значимости при обработке чисел с плавающей точкой

float

Резюме: основные типы данных

Ключевые слова

Данные основных типов вводятся в программу при помощи следующих семи ключевых слов: int, long, short, unsigned, char, float, double.

Целые числа со знаком

int: основной целый тип, используемый в вычислительной системе;

long или long int: может содержать целое значение, не меньшее максимальной величины, допускаемой типом int, или даже большее;

short или short int: максимальное целое число типа short не больше, чем максимальное целое число типа int, а может быть, и меньше. Обычно числа типа long бывают больше чисел типа short, а тип int реализуется как один из двух указанных типов. Например, компилятор Lattice С на IBM PC под данные типов short и int отводит

16 бит, а под данные типа long - 32 бита. Все зависит от конкретной системы.

Целые числа без знака

unsignedunsigned intunsigned longunsigned shortunsignedunsigned int

Символы

Char: ключевое слово, используемое для указания данных этого типа.

Данные этих типов могут принимать положительные и отрицательные значения.

float: основной тип данных с плавающей точкой в системе;

1. Выбрать требуемый тип данных.

2. Выбрать имя для переменной.

3. Для оператора описания использовать нижеследующий формат:

спецификация-типа имя-переменной;

Спецификация-типа формируется из одного или более ключевых слов.

Вот несколько примеров:

int erest;

unsigned short cash;

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

char ch, unit, ans;

5. В операторе описания вы имеете возможность инициализировать переменную:

float mass = 6.0E24;

Другие типы

В языке Си имеются и другие типы данных, построенные с использованием основных типов. Они включают в себя массивы, указатели, структуры и объединения. Хотя эти типы являются пред метом рассмотрения последующих глав, мы, не подозревая об этом, уже применили указатели в примерах, приведенных в данной главе. [Указатели используются функцией scanf( ); признаком этого в данном случае служит префикс &.]

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

Таблица 3.1. Представление типов данных в некоторых известных вычислительных системах

Размер словаDEC PDP-11 16 битDEC VAX 32 битаInterdata 8/3 32 битаIBM PC (Lattice C) 16 бит
char8888
int16323216
short16161616
long32323232
float32323232
double64646464
Диапазон порядка±38±38±76-307 + 308 (double)

Как обстоит дело на вашей машине? Попробуйте выполнить нижеследующую программу:

main( )

{

printf(" Данные типа int занимают %d байта. \n", sizeof (int));

printf(" Данные типа char занимают %d байт.\n", sizeof (char));

printf(" Данные типа long занимают %d байта.\n", sizeof (long));

printf(" Данные типа double занимают %d байт.\n", sizeof (double));

}

В языке Си имеется встроенная операция sizeof, которая позволяет определить размер объектов в байтах.

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

ИСПОЛЬЗОВАНИЕ ТИПОВ ДАННЫХ

intfloatchar

int apples = 3; /* ПРАВИЛЬНО */

int oranges = 3.0; /* НЕПРАВИЛЬНО */

Язык Си "рассматривает" такие несоответствия менее жестко, чем, скажем, Паскаль, но в любом случае лучше учиться избегать дурных привычек.

ЧТО ВЫ ДОЛЖНЫ БЫЛИ УЗНАТЬ В ЭТОЙ ГЛАВЕ

Что такое основные типы данных языка Си: int, short, long, unsigned, char, float, double.

Как описать переменную любого типа: int beancount, float root-beer; и т. д.

Как зависать константу типа int: 256, 023, OXF5 и т. д.

Как записать константу типа char: 'r', 'U', '\007', '?' и т. д.

Как записать константу типа float: 14,92, 1.67е-27 и т. д.

Что такое слова байты и биты.

В каких случаях используются различные типы данных.

ВОПРОСЫ И ОТВЕТЫ

Вопросы

а. Население Рио Фрито

б. Средний вес картины Рембрандта

в. Наиболее часто встречающаяся буква в тексте данной главы

г. Сколько раз указанная буква встречается в тексте

2. Определите тип и смысл (если он есть) каждой из следующих констант

а. '\b'

б. 1066

в. 99 44

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке