Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Переменная типа char имеет размер, естественный для хранения символа на данной машине, обычно 1 байт (8 бит).




 


Рис. 3. Каждый элемент данных символьного типа занимает один элемент памяти

Набор употребляемых символов включает в себя латинские буквы, 26 прописных и 26 строчных:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Za b c d e f g h i g k l m n o p q r s t u v w x y z

десять арабских цифр:

1 2 3 4 5 6 7 8 9 0

и специальные символы клавиатуры:*

! @ # $ % ^ & * () _ + - = | \ } { " ':;? / >. <, ~ `

Например, если вы пишете тест, в котором испытуемый должен выбрать один из четырех вариантов ответа — А, Б, В или Г, — каждая буква будет являться отдельным элементом символьных данных.

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

Заметьте, что символьные данные могут быть представлены в виде цифр — 1, 2, 3, — однако Си проводит различия между символом «1» и числом 1. Как символ единица не может использоваться в математических операциях, поскольку она не рассматривается в этом случае как математическая величина. Как число единица участвует в вычислениях, при этом, как вы скоро увидите, для хранения символа «1» Си отводит объем памяти вполовину меньший, чем для хранения числа 1.

Строки

Строкой называют набор символов, слов, фраз или предложений. В отличие от некоторых других языков, в Си строка не выделяется в отдельный тип данных. Язык Си работает со строкой как с последовательностью данных символьного типа, используя так называемый массив. Строка может состоять из любой комбинации букв, цифр, знаков препинания и управляющих кодов, которые тоже могут использоваться в качестве символьных данных. Язык Си проводит различия между строкой цифр и числом. Строка «123» будет восприниматься не как математическое значение сто двадцать три, а как комбинация символов «1», «2», «3».

____________________

 

Сюда же относятся и буквы русского алфавита: 33 прописных и 33 строчных.

 

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

 

Целочисленные величины

Если вы хотите производить математические операции, то должны использовать числовой тип данных. Язык Си имеет несколько типов числовых данных в зависимости от значения, которое может быть им присвоено, и занимаемого объема памяти.

Целые числа (int, от английского integer) — это числа, не имеющие дробной части. Их значение может быть положительным, отрицательным или нулевым, но никогда не имеет в своем составе знаков после точки. В языке Си есть простая аксиома, которая гласит: «Используйте для подсчетов целые числа». Используйте целые числа всегда, когда есть возможность представить некое значение в виде целого числа, например, при подсчете количества повторов определенного события.

Как показано на рис. 4, каждый элемент целочисленных данных занимает в памяти столько же места, сколько два элемента символьных, независимо от величины самого числа (и число 2, и число 2000 требуют для хранения одинакового объема памяти). Но для того чтобы занимаемое место не превышало двух элементов памяти, величина целочисленных данных в языке Си ограничена. К целочисленным данным (собственно тип int) относятся величины, значение которых находится в промежутке между –32768 и +32767. Величины, значение которых выходит за эти пределы, требуют для хранения больше двух элементов памяти.


Рис. 4. Целочисленные данные занимают два элемента памяти

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

short int короткие целые числа: положительные величины от 0 до 25
Int целые числа: величины от –32768 до +32767
long int длинные целые числа: величины от –2147483648 до +2147483647
unsigned long длинные целые числа без знака: положительные величины от 0 до 4294967295

Вещественные числа

Числа, которые могут содержать десятичную часть (вещественные), называются числами с плавающей точкой (floating-point values). Для работы с ними в языке Си используется тип данных с плавающей точкой (float). Так как числа с плавающей точкой могут быть чрезвычайно маленькими или большими, для их записи часто используют экспоненциальную форму, например, значение числа с плавающей точкой может равняться 3.4е+38. Расшифровать это можно следующим образом: «передвинуть точку вправо на 38 пунктов, добавив соответствующее количество нулей». Существуют дополнительные типы данных для работы в очень широких пределах величин:

Float величины от 3.4Е–38 до 3.4Е+38
Double величины от 1.7Е–308 до 1.7Е+308
long double величины от 3.4Е–4932 до 1.1Е+4932

Тип данных с плавающей точкой имеет предел точности, диапазон которого зависит от компилятора. Например, число 6.12345678912345 в пределах допустимого диапазона для чисел типа float может быть записано компьютером только как 6.12345. Этот тип, как принято говорить, является типом с одинарной точностью, что означает, что точность его ограничена пятью или шестью знаками после точки. Тип double принято называть типом с двойной точностью, он имеет 15–16 знаков после точки.


Рис. 5. Требования к объему памяти данных различных типов

Для записи данных с одинарной точностью резервируется четыре элемента памяти; двойная точность требует резервирования восьми, повышенная (long double) — десяти.

На рис. 5 мы просуммировали сведения о типах данных в языке Си и их требованиях к резервированию памяти.





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


Дата добавления: 2017-03-12; Мы поможем в написании ваших работ!; просмотров: 336 | Нарушение авторских прав


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

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

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2358 - | 2221 -


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

Ген: 0.011 с.