Главная страница
Навигация по странице:

  • Дополнительное задание (дополнительная оценка)

  • Типы данных в C


    Скачать 18.54 Kb.
    НазваниеТипы данных в C
    Дата24.11.2020
    Размер18.54 Kb.
    Формат файлаdocx
    Имя файлаЛекция.docx
    ТипДокументы
    #153320

    Типы данных в C++


    Тип

    байт

    Диапазон принимаемых значений

    целочисленный (логический) тип данных

    bool

    1

    0 / 255

    целочисленный (символьный) тип данных

    char

    1

    0 / 255

    целочисленные типы данных

    short int

    2

    -32 768 / 32 767

    unsigned short int

    2

    0 / 65 535

    int

    4

    -2 147 483 648 / 2 147 483 647

    unsigned int

    4

    0 / 4 294 967 295

    long int

    4

    -2 147 483 648 / 2 147 483 647

    unsigned long int

    4

    0 / 4 294 967 295

    типы данных с плавающей точкой

    float

    4

    -2 147 483 648.0 / 2 147 483 647.0

    long float

    8

    -9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0

    double

    8

    -9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0


    В C++ различают явное и неявное преобразование типов данных. Неявное преобразование типов данных выполняет компилятор С++, ну а явное преобразование данных выполняет сам программист.

    Преобразование идет с помощью специальной функции. Ниже приведен пример подобного:

    int m=15;

    A=float(15);

    Так же преобразования возможны с помощью функций atoi, atof, atol, из массива символов в числа разных форматов.

    int a = atoi(const char* str)

    long b = atol(const char* str)

    double c = atof(const char* str)

    Для обратного перевода из числа в строку можно воспользоваться функцией:

    sprintf(char* buffer, const char* format [, argument] ... );

    Пример использования:

    char str[80];

    sprintf (str, "%s %d %c %f", "one", 2, '3', 2.3);
    Задание:

    1. int a = 7/2 = 3

    2. float b = 16/8 = 2.0

    3. float c = 18/3 =

    4. int d = 20/3 =

    5. int e = 16/5 =

    6. Определить тип и значение:

    F = atol("15");

    G = atoi("15.3");

    H = atoi("7.9");

    I = atof("163");

    K = atoi("148");

    L = atof("7.9");

    M = atol("165.7");

    1. Записать результат полученной строки:

    char str[100];

    sprintf (str, "%s %d %c %f", "one", 2, '3', 2.3);

    sprintf (str, "%d %f", 256.3, 17);

    sprintf (str, "%c%c-%c%c", 's', 'a', '1', '8');
    Дополнительное задание (дополнительная оценка):

    Что будет, если преобразовать каждую полученную строку из пункта 7 в тип int?


    написать администратору сайта