символьний);
В· bool (логічний);
В· float (речовий);
В· double (речовинний з подвійною точністю).
Існує чотири специфікатора типу, уточнюючих внутрішнє подання і діапазон значень стандартних типів:
В· short (короткий);
В· long (довгий);
В· signed (зі знаком);
В· unsigned (без знака).
Таблиця 1.3. Діапазони значень простих типів даних для IBM PC
Тип Діапазон значенійРазмер (байт) Bool true і false 1 signed char -128 ... 127 1 Unsigned char 0 ... 255 1 signed short int -32768 ... 32 767 2 Unsigned short int0 ... 65 535 2 signed long int-2147483648 ... 2147483647 4 Unsigned long int 0 ... 4294967295 4 Float 3.4e-38 ... 3.4e +38 4 Double 1.7e-308 ... 1.7e +308 8 long double 3.4e- 4932 ... 3.4e +4932 10
Для дійсних типів в таблиці наведені абсолютні величини мінімальних і максимальних значень.
Всі змінні повинні бути оголошені раніше, ніж будуть використовуватися, при цьому деякі оголошення можуть бути отримані неявно - з контексту. Оголошення специфікує тип і містить список з однієї або декількох змінних цього типу, як, наприклад, в
int lower, upper, step; с, line [1000];
Змінні можна розподіляти по оголошеннях довільним чином, так що зазначені вище списки можна записати і в наступному вигляді:
int lower; upper; step;
char c; line [1000];
Остання форма запису займає більше місця, тим не менш вона краще, оскільки дозволяє додавати до кожного оголошення коментар. Крім того, вона більш зручна для наступних модифікацій. p align="justify"> У своєму оголошенні змінна може бути инициализирована, як, наприклад:
char esc = ''; i = 0; limit = MAXLINE +1; eps = 1.0e-5;
Ініціалізація неавтоматической змінної здійснюється тільки один раз - перед тим, як програма почне виконуватися, при цьому початкове значення має бути константним виразом. Явно ініціалізіруемих автоматична мінлива отримує початкове значення кожного разу при вході у функцію або блок, її початковим значенням може бути будь-який вираз. Зовнішні та статичні змінні за замовчуванням отримують нульові значення. Автоматичні змінні, явним ніяк не ініціалізовані, містять невизначені значення ("сміття ).
До будь-якої змінної в оголошенні може бути застосований кваліфікатор const для вказівки того, що її значення далі не змінюватиметься.
const double е = 2.71828182845905; char msg [] = "попередження:";
Стосовно до масиву кваліфікатор const вказує на те, що жоден з його елементів не мінятиметься. Вказівка ​​const можна також застосовувати до аргументу-масиву, щоб повідомити, що функція не змінює цей масив:
int strlen (const char []);
Реакція на спробу змінити змінну, позначену кваліфікатора const залежить від реалізації компілятора.
Таблиця 1.5 Основні операції мови С + +
ОпераціяКраткое опісаніеУнарние операції + + збільшення на 1 - зменшення на 1 sizeofразмер ~ порозрядне заперечення! логічне заперечення-арифметичне заперечення (унарний мінус) + унарний плюс & взяття адреси * разадресаціяnewвиделеніе памятіdeleteосвобожденіе пам'яті (type) перетворення тіпаБінарние операції * множення/ділення% залишок від ділення + складання-віднімання <<зрушення вліво>> зрушення вправо <менше <= менше або дорівнює> більше> = більше або дорівнює == одно! = не дорівнює & поразрядное кон'юнкція (І) ^ порозрядне виключає АБО | поразрядное диз'юнкція (АБО) && логічне І | | логічне АБО? : Умовна операція (тернарного) = присвоювання * = множення з привласненням/= поділ з привласненням% = залишок відділення з привласненням + = додавання з привласненням-= віднімання з привласненням <<= зрушення вліво з привласненням>> = зрушення вправо з привласненням & ; = порозрядне І з привласненням | = порозрядне АБО з привласненням ^ = порозрядне виключає АБО з привласненням, послідовне обчислення
Контрольні питання:
1. Які специфікатори типів ви знаєте?
2. Перерахуйте прості типи даних в С #.
. Як здійснюється ініціалізація змінної?
Лекція № 7
...