Скачать презентацию Типи даних C Змінні Структура програми Концепція Скачать презентацию Типи даних C Змінні Структура програми Концепція

ОПАМ_02.ppt

  • Количество слайдов: 16

Типи даних C++ Змінні Структура програми Типи даних C++ Змінні Структура програми

Концепція типу даних • Тип даних визначає: • внутрішнє представлення даних у пам'яті комп'ютера; Концепція типу даних • Тип даних визначає: • внутрішнє представлення даних у пам'яті комп'ютера; • безліч значень, які можуть приймати величини цього типу; • операції і функції, які можна застосовувати до величин цього типу.

Типи даних та змінні Типи даних та змінні

Цілі типи даних Оголошення цілих змінних має такий вигляд: : іnt i, n; // Цілі типи даних Оголошення цілих змінних має такий вигляд: : іnt i, n; // целые short іntlow, hіght; // короткі long іnt max; // довгі unsіgned іnt kl; // без знакові Тип Розмір (байт) char 1 int 2 short 2 long 4 unsigned shar 1 unsigned int 2 unsigned 2 short unsigned long 4 В описах змінних можна задавати і початкове значення : Діапазон 0 ÷ 256 -32 768 ÷ 32 767 -32768 до 32767 -2 147 483 648 ÷ 2 147 483 647 0 ÷ 255 0 ÷ 65 535 0 ÷ 4 294 967 295 long max = 32767 L; short dogs, cats = 93;

 • Специфікатор short перед ім'ям типу вказує компілятору, що під число потрібно відвести • Специфікатор short перед ім'ям типу вказує компілятору, що під число потрібно відвести 2 байта незалежно від розрядності процесора. Специфікатор long означає, що ціла величина займатиме 4 байта. • Таким чином, на 16 -розрядному комп'ютері еквіваленти int і short int, а на 32 -розрядному — int і long int. • Внутрішнє представлення величини цілого типу — ціле число в двійковому коді. При використанні специфікатора signed старший біт числа інтерпретується як знаковий (0 — позитивне число, 1 — негативне). Специфікатор unsigned дозволяє представляти тільки позитивні числа, оскільки старший розряд розглядається як частина коду числа. Отже, діапазон значень типу int залежить від специфікаторів.

Речовинні (З плаваючою крапкою ) Тип Розмір Діапазон Точність float 2 слова - 4 Речовинні (З плаваючою крапкою ) Тип Розмір Діапазон Точність float 2 слова - 4 байта 32 бита 10 e-38 ÷ 10 e 38 5 знаків double 4 слова - 8 байт 64 бита 10 e-308 ÷ 10 e 308 15 знаків long double 5 слов - 10 байт 80 бит 10 e-4932 ÷ 10 e 4932 19 знаків Приклад: float pi_float; // pi_float = 3. 1415 double pi_double; // pi_double = 3. 14159265358979 long double pi_long; // pi_long = 3. 141592653589793238

Символьні змінні (CHAR) приймають значення одного символу і визначаються в апострофах (займають 1 байт): Символьні змінні (CHAR) приймають значення одного символу і визначаються в апострофах (займають 1 байт): Керуюча послідовність Функція char c, ch='Y'; char esc ='х1 В'; Шістнадцятирічний формат a Дзвінок 007 b Повернення на крок назад 008 t Горизонтальна табуляція 009 n Перехід на наступний рядок 00 A v Вертикальна табуляція 00 B r Переведення каретки 00 C f Перехід на наступну сторінку 00 D " Лапки 022 ' Апостроф 027 Нульовий символ 000 \ Зворотна дробова риска (зворотній слеш) 05 C ddd Код символу в восьмирічному уявленні xddd Код символу шістнадцятирічному уявленні

Логічний тип (bool) Величини логічного типу можуть приймати тільки значення true і false. Внутрішня Логічний тип (bool) Величини логічного типу можуть приймати тільки значення true і false. Внутрішня форма представлення значення false — 0 (нуль). Будь-яке інше значення інтерпретується як true. При перетворенні до цілого типу true має значення 1.

Тип даних, що перераховується - ANSІ - C Тип даних, що перераховується(enum) використовується для Тип даних, що перераховується - ANSІ - C Тип даних, що перераховується(enum) використовується для опису об'єктів з визначеної множини, тоді можна записати таке оголошення (декларацію) І описати відповідні змінні: enum seasons {wіnter, sprіng, summer, autumn} або enum seasons day, b, c; enum seasons {wіnt, sprіng, sum, autumn} a, b, c; // змінна day буде приймати // значення в діапазоні от 0 до 6 day= wіnter; // day – змінна типу даних, що перераховуються int test= wіnter; // test буде дорівнювати 0 day= seasons (0); // seasons (0) дорівнює значенню wіnter

Структура програми Програма на мові C++ складається з функцій, описів і директив препроцесора. Одна Структура програми Програма на мові C++ складається з функцій, описів і директив препроцесора. Одна з функцій повинна мати ім'я main (з неї починає виконуватися програма). Виконання програми починається з першого оператора цієї функції. #директиви препроцесора тип_значения_яке повертається ім’я ([ параметри ]) { оператори, які складають тіло функції }

 • Директиви препроцесора - керують перетворенням тексту програми до її компіляції. • якщо • Директиви препроцесора - керують перетворенням тексту програми до її компіляції. • якщо функція не повинна повертати значення, вказується тип void; • тіло функції є блоком і тому береться у фігурні дужки; • функції не можуть бути вкладеними; • кожний оператор закінчується крапкою з комою (крім складового оператора).

Змінні та вирази • Змінна — це йменована область пам'яті, в якій зберігаються дані Змінні та вирази • Змінна — це йменована область пам'яті, в якій зберігаються дані певного типу. В змінній є ім'я і значення. Ім'я служить для звернення до області пам'яті, в котрій зберігається значення. Під час виконання програми значення змінної можна змінювати. Перед використанням будьяка змінна повинна бути описана. • Загальний вид оператора опису змінних: • [клас пам'яті] [const] тип ім'я [ініціалізація];

 • Необов'язковий клас пам'яті може приймати одне із значень auto, extern, static і • Необов'язковий клас пам'яті може приймати одне із значень auto, extern, static і register; • модифікатор const показує, що значення змінної змінювати не можна. Таку змінну називають константою; • при описі можна надати змінній початкове значення, це називається ініціалізацією. Ініціалізацію можна записувати в двох формах — із знаком рівності: = значення • або в круглих дужках: ( значення ) Приклади: • short int а = 1; // ціла змінна а • const char С = ‘С’ ; // символьна константа C • char s, sf = 'f’ ; // ініціалізація стосується тільки sf • char t (54);

 • Область дії ідентифікатора — це частина програми, в якій його можна використовувати • Область дії ідентифікатора — це частина програми, в якій його можна використовувати для доступу до пов'язаної з ним області пам'яті. Залежно від області дії змінна може бути локальною або глобальною. • Клас пам'яті визначає час життя та область видимості програмного об'єкта. • Час життя може бути постійним (протягом виконання програми) і тимчасовим (протягом виконання блока). • Для завдання класу пам'яті використовуються наступні специфікатори: • auto — автоматична змінна. Звільнення пам'яті відбувається при виході з блока, в якому описана змінна. Час її життя — з моменту опису до кінця блока. • extern — означає, що змінна визначається в іншому місці програми (в іншому файлі або далі за текстом). Використовується для створення змінних, доступних у всіх модулях програми, в яких вони об’явлені; • static — статична змінна. Час життя — постійно. Ініціалізується один раз при першому виконанні оператора, що містить визначення змінної. • register — аналогічно auto, але пам'ять виділяється по можливості в регістрах процесора. Якщо такої можливості в компілятора немає, змінні обробляються як auto.

int х = 4; //9 визначення та ініціалізація х int а; // 1 глобальна int х = 4; //9 визначення та ініціалізація х int а; // 1 глобальна змінна а int main() { int b; //2 локальна змінна b extern int x; // 3 змінна х визначена в іншому місці static int с; // 4 локальна статична змінна c а = 1: II 5 надання глобальної змінної int а; //6 локальна змінна а а = 2; // 7 надання локальної змінної return 0; } // 8 завершення блока

Перетворення типів У C++ існує явне і неявне перетворення типів. Для явного перетворення перемінної Перетворення типів У C++ існує явне і неявне перетворення типів. Для явного перетворення перемінної одного типу в інший перед ім'ям перемінної в дужках указується новий тип, що надається їй: int Integer = 54; float Floating = 15. 854; Integer = (int) Floating; // явне Приклад неявного перетворення: int Integer = 0; float Floating = 15. 854; Integer = Floating; // неявне