Реферат Курсовая Конспект
Лекция 4 - Лекция, раздел Компьютеры, Лекция 4 Базовые Типы Данных ...
|
Базовые типы данных
Тип задаётся набором допустимых значений и действий, которые можно производить над данными этого типа. Типы данных языка C схематически представлены на рисунке 1.
Рис. 1
Базовые типы данных языка C.
Тип char – символьный тип, хранит код символа. Любой символ в компьютере, который можно ввести с клавиатуры, вывести на монитор, имеет соответствующий ему код. Эти коды представлены в таблицах кодировок ASCII, ГОСТ и других, в зависимости от используемой компьютером кодировки. Преобразование символа в код и наоборот производится компьютером автоматически.
Тип int – целочисленный тип, хранит значение целого числа.
Тип float – вещественный тип, хранит значение числа с плавающей точкой.
Тип double – вещественный тип двойной длины, хранит значение числа с плавающей точкой.
Типы char, int, float, double является знаковыми, то есть переменная данного типа может принимать положительные и отрицательные значения.
Тип void – пустой тип, не имеющий значения.
Для модификации диапазонов принимаемых данными типами значений возможно использование модификаторов типа, которые ставятся перед соответствующим типом.
Модификатор signed – знаковый тип, хранит значения как положительные, так и отрицательные.
Модификатор unsigned – беззнаковый тип, хранит только неотрицательные значения.
Модификатор short – короткий тип, хранит укороченные значения.
Модификатор long – длинный тип, хранит удлинённые значения.
Модификаторы signed и unsigned могут применяться к типам char и int. Модификаторы short и long могут применяться к типу int. Модификатор long может также применяться к типу double. Модификаторы signed и unsigned могут комбинироваться с модификаторами short и long в применении к типу int.
В следующей таблице приведены все возможные типы с различными комбинациями модификаторов для стандарта ANSI языка C, их размеры в байтах и интервалы изменения.
Тип | Размер в байтах (битах) | Интервал изменения | |
char | 1(8) | от -128 | до 127 |
unsigned char | 1(8) | от 0 | до 255 |
signed char | 1(8) | от -128 | до 127 |
int | 2(16) | от -32768 | до 32767 |
unsigned int | 2(16) | от 0 | до 65535 |
signed int | 2(16) | от -32768 | до 32767 |
short int | 2(16) | от -32768 | до 32767 |
unsigned short int | 2(16) | от 0 | до 65535 |
signed short int | 2(16) | от -32768 | до 32767 |
long int | 4(32) | от -2147483648 | до 2147483647 |
signed long int | 4(32) | от -2147483648 | до 2147483647 |
unsigned long int | 4(32) | от 0 | до 4294967295 |
float | 4(32) | от -3.4E+38 | до -3.4E-38 |
от 3.4E-38 | до 3.4E+38 | ||
double | 8(64) | от -1.7E+308 | до -1.7E-308 |
от 1.7E-308 | до 1.7E+308 | ||
long double | 10(80) | от -3.4E+4932 | до -3.4E-4932 |
от 3.4E-4932 | до 3.4E+4932 |
В среде Borland C++ 3.1 можно в объявлениях переменных опускать слово int (например, short вместо short int, unsigned short вместо unsigned short int).
Все числа в памяти ЭВМ хранятся в двоичной системе счисления, но для программиста они доступны в десятичной системе счисления.
Различие между целыми числами со знаком и целыми числами без знака состоит в том, как интерпретируется старший бит целого числа в машинном представлении. Старший бит для целого знакового числа определяет знак числа. Если старший бит равен нулю, то число положительное, если единице, то число отрицательное. Отрицательные числа хранятся в обратном коде. Старший бит для целого беззнакового числа является обычным численным разрядом.
Константы
В языке C константа представляет собой фиксированную величину, которая не может быть изменена в программе. В языке C определены 4 типа констант:
- целые числа (базовый тип – int);
- вещественные числа (базовые типы – float, double);
- символьные (базовый тип – char);
- строковые (массив символов).
Целые константы – натуральные числа. В языке C используются числа в восьмеричной, десятичной и шестнадцатеричной системах счисления. Чтобы отличать восьмеричные и шестнадцатеричные константы от десятичных, перед восьмеричными константами ставится ноль, а перед шестнадцатеричными – пара символов ‘0x’.
Пример 1
Тип данных | Восьмеричная константа | Десятичная константа | Шестнадцатеричная константа |
int | |||
int | 7B | ||
short int | -473 | -315 | -13B (FEC5) |
unsigned int | CC4C | ||
long int | 124F8 |
Любая целая константа всегда считается неотрицательной, таким образом, минус перед константой воспринимается как унарная операция смены знака.
Вещественные константы – вещественные числа в десятичной системе счисления.
Пример 2
Тип данных | Константа |
float | 14.9 |
float | -0.516 |
float | -2.5e-7 |
double | 14.9 |
double | -4.96e-19 |
double |
Символьные константы – целые числа, значения которых соответствует ASCII-коду символа. Символьные константы заключаются в одинарные кавычки. В качестве символьной константы может выступать escape-последовательность, также взятая в одинарные кавычки.
Пример 3
Тип данных | Константа | ASCII-код |
char | ‘a’ | |
char | ‘n’ | |
char | ‘9’ |
Строковые константы – это группа (массив) символов в количестве от 0 до произвольного числа n, заключённая в двойные кавычки и заканчивающаяся нулевым байтом. В строковую константу могут входить escape-последовательности.
Пример 4.
“Это - n строковая константа”
Строковая константа в программе может быть записана в двух или более строках, но при выводе на консоль в рабочем режиме программы она будет выведена в одну строку, если для переноса на другую строку используются знаки ‘<Enter>’, так как под символы ‘<Enter>’ память не отводится.
Пример 5.
printf (“Эта строковая константа
при выводе на консоль
будет записана в одну строку”);
Если несколько строк записаны без разделителя или через разделители пробел, Enter или табуляция, то компилятор объединит их в одну строку.
Пример 6.
"Hel" "lo, "
"Wor" "ld""!"
Особенностью представления строковых констант в языке C является то, что под строковую константу компилятор отводит на один байт больше, чем число символов в константе. Этот дополнительный байт всегда является в константе последним и заполняется нулевым значением ‘ ’.
Пример 7
H | e | l | l | o | , | W | o | r | l | d | ! | ‘ ’ |
Под разделительные символы (пробел, Enter, табуляция), присутствующие в строке, также отводятся соответствующие байты.
Правила определения типа константы.
Целая константа относится к типу int, если эта константа входит в интервал значений типа int. Если эта константа не входит в интервал значений типа int, то она считается константой типа unsigned int, если же она не входит в интервал unsigned int, то она считается константой типа long int, если же она не входит в интервал long int, то она считается константой типа unsigned long int.
Константа с десятичной точкой считается константой типа double, если она помещается в соответствующий интервал изменения.
Константы символьного и строкового типов задаются явно.
В языке C имеется механизм явного задания типов констант с помощью суффиксов. В качестве суффиксов для целочисленных констант могут использоваться u, l, h, U, L, H, для вещественных констант – l, f, L, F.
Пример 8
Тип данных | Константы |
short int | 12h, 34H |
long int | 23L, -237l |
unsigned int | 17u, 456U |
unsigned long int | 89lu, 89Lu, 89ul, 7UL, 7Ul |
unsigned short int | 45uh, 45uH |
float | 23.4F, -67.7E-24f |
long double | 1.39l, 12.0L |
– Конец работы –
Эта тема принадлежит разделу:
На сайте allrefs.net читайте: Лекция 4.
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Лекция 4
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов