русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Базові типи даних


Дата додавання: 2014-11-27; переглядів: 1845.


Фундаментальні об'єкти даних, з якими працює програма, - це змінні і константи [2.1]. Використовувані в програмі змінні перераховуються в оголошеннях або деклараціях, в яких вказується їх тип, а також іноді їх початкові значення.

З іменами змінних зв'язується тип даних, який контролюється компілятором і для якого виділяється певна кількість байтів пам'яті [2.1]. Імена змінних повинні починатися з букви (латинського алфавіту) або символу підкреслення (наприклад, _aza ), за яким можуть йти будь-які комбінації букв у будь-якому регістрі (заголовні або рядкові), символи підкреслення або цифри 0-9. У мові Сі є відмінність між заголовними і рядковими буквами. Тому змінна World відрізнятиметься від змінної world і тому подібне. При цьому у визначенні змінної не дозволяється символ пропуску (пропусків) і деякі інші символи, наприклад $... .

Стандарт С89 визначає п'ять базових типів даних [2.4]:

int - цілочисловий тип, ціле число;

float - дійсне число одинарної точності з плаваючою точкою;

double - дійсне число подвійної точності з плаваючою точкою;

char - символьний тип для визначення одного символу;

void - тип без значення.

Крім того, існують модифікатори, які можуть застосовуватися до цих базових типів . Приведемо модифікатори базових типів даних. До них відносяться наступні специфікатори, попередні їм в тексті програми [2.4]:

signed, unsigned, long, short

Таблиця 2.1. Типи даних мови Сі

Тип даних Типовий розмір у бітах Мінімально допустимий діапазон значень
[signed] char 8 (чи 1 байт) від - 127 до 127
unsigned char від 0 до 255
[signed] int = short int 16 чи 32 від - 32767 до 32767
unsigned int 16 чи 32 від 0 до 65535
long int від - 2147483647 до 2147483647
float від 1Е-37 до 1Е+37 (з точністю не менше 6 значущих десяткових цифр)
double від 1Е-37 до 1Е+37 (з точністю не менше 10 значущих десяткових цифр)

 

У мові Сі передбачається перетворення типів у виразах і приведення типів. Якщо у вираженні змішані різні типи літералів і змінних, то компілятор перетворить їх в один тип. По-перше, усе char і short int значення автоматично перетворяться (з розширенням "типо розміру") в тип int. Цей процес називається цілочисловим розширенням (integral promotion). По-друге, усі операнди перетворяться (також з розширенням "типорозміру") в тип найбільшого операнда. Цей процес називається розширенням типу (type promotion), причому він виконується після операційно. Наприклад, якщо один операнд має тип int, а інший - long int, то тип int розширюється в тип long int. Чи якщо хоч би один з операндів має тип double, то будь-який інший операнд приводиться до типу double. Це означає, що такі перетворення, як тип char, в тип double цілком допустимі (якщо передбачати, до чого це приведе). Після перетворення обидва операнди матимуть один і той же тип, а результат операції - тип, співпадаючий з типом операндів.

У мові Сі передбачається явне перетворення (приведення) типів. Загальна форма оператора явного приведення типу : (тип) вираження.

 

1. Основи програмування на мові Cі Автори: Н.А. Калинина, Н.И. Костюкова

2. Введення в мови програмування C і C++ Автор: Ю.Л. Кетков

3. http://do.rksi.ru/library/courses/demo/tema 1_3.dbk

 


<== попередня лекція | наступна лекція ==>
Другий перегляд | Уведення-виведення


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн