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

  • wchar_t var_wch = b; }; int main() { setlocale(LC_ALL, "Russian"); cout

  • cout cout cout

  • double a2 = 7.77; char chislo= 1; cout a2 = (int)a2; cout

  • cout enum enum_1 { x, y }; cout Без инициализации констант : "

  • int b; int c; bool d; a = (char)m.var_int; cout m . var _ int

  • cout cout

  • Лабораторная 3 варианта с кодом и отчетом за 1 семестр 2 курса по Объектно ориентированному программированию. Лабораторная работа 1 Типы данных языка С Цель работы


    Скачать 17.77 Kb.
    НазваниеЛабораторная работа 1 Типы данных языка С Цель работы
    АнкорЛабораторная 3 варианта с кодом и отчетом за 1 семестр 2 курса по Объектно ориентированному программированию
    Дата02.05.2022
    Размер17.77 Kb.
    Формат файлаdocx
    Имя файла1.docx
    ТипЛабораторная работа
    #508470

    Кафедра Вычислительной техники

    Дисциплина «Объектно-ориентированное программирование»

    Лабораторная работа №1

    Типы данных языка С++


    Цель работы

    Познакомиться с типами данных языка С++. Узнать о разделении типов на основные и составные, научиться с ними работать. Изучить основные «операции» над типами данных. Научиться применять знания на практике.
    Задания для выполнения

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

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

    3. Объявить переменные перечислимого типа без инициализации констант и с их инициализацией. Выполнить допустимые для них операции. Определить число байт, требуемое для хранения таких переменных.

    4. Объявить структуру. Определить число байт, требуемое для хранения всех полей структуры. Оценить полученные результаты и сопоставить с результатами по пункту 1. Определить число байт, необходимых для хранения отдельных полей.

    5. Пользуясь преобразованием типов, осуществить преобразования объектов к другим типам. Оценить возможность или невозможность преобразований.

    6. Пользуясь механизмом определения типа в реальном времени, определить тип фактических объектов и выражений.


    Код программы

    #include

    #include

    #include

    using namespace std;

    struct Structura

    {

    char var_ch = 'a';

    int var_int = 38;

    bool var_bool = true;

    float var_float = 33.3;

    wchar_t var_wch = 'b';

    };
    int main() {

    setlocale(LC_ALL, "Russian");

    cout << " №1) Количество байт для каждого типа данных " << endl;

    cout << " int = " << sizeof(int) << endl;

    cout << " float = " << sizeof(float) << endl;

    cout << " double = " << sizeof(double) << endl;

    cout << " bool = " << sizeof(bool) << endl;

    cout << " char = " << sizeof(char) << endl;

    cout << " wchar_t = " << sizeof(wchar_t) << endl;

    cout << endl << endl;

    cout << " №2) Преобразование типов " << endl;

    int a1;

    double a2 = 7.77;

    char chislo= '1';

    cout << " Из double : " << a2 ;

    a2 = (int)a2;

    cout << " в int : " << a2 << endl;
    cout << " Из char : " <

    a1 = (int)chislo;

    cout << " в int : " << a1 << endl;

    cout << endl << endl;

    cout << "№3) Перечислимый тип" << endl;

    enum enum_1 { x, y };

    cout <<"Без инициализации констант : " << sizeof(enum_1) << endl;
    enum enum_2 {x1 = 30, y1 = 55 };

    cout << "С инициализацией констант : "<< sizeof(enum_2) << endl;

    cout << endl << endl;

    cout << "№4) Число байт для хранения полей структуры" << endl;

    Structura m;

    cout <<" Количество байт для полей структуры = " << sizeof(m) << endl;

    cout << "Поле int \t" << sizeof(m.var_int) << endl;

    cout << "Поле float \t" << sizeof(m.var_float) << endl;

    cout << "Поле bool \t" << sizeof(m.var_bool) << endl;

    cout << "Поле char \t" <

    cout << "Поле wchar_t \t" <

    cout << endl << endl;
    cout << "№5) Преобразование типов " << endl;

    char a;

    int b;

    int c;

    bool d;

    a = (char)m.var_int;

    cout << m.var_int << " Преобразован в символьный тип = " << a << endl;

    b = (int)m.var_float;

    cout <<m.var_float <<" Преобразован в целочисленный тип = " << b << endl;

    c = (int)m.var_ch;

    cout << m.var_ch << " Преобразован в целочисленный тип = " << c << endl;

    d = (bool)m.var_wch;

    cout << m.var_wch << " Преобразован в логический тип = " << d << endl;

    cout << endl << endl;

    cout << "№ 6) Определение типа данных" << endl;

    cout <<"Имя типа = " << typeid(m.var_int).name() << endl;

    cout <<"Имя типа = " << typeid(m.var_float).name() << endl;

    cout <<"Имя типа = " << typeid(m.var_bool).name() << endl;

    cout <<"Имя типа = " << typeid(m.var_ch).name() << endl;

    cout <<"Имя типа = " << typeid(m.var_wch).name() << endl;

    }

    Результат работы

    №1) Количество байт для каждого типа данных

    int = 4

    float = 4

    double = 8

    bool = 1

    char = 1

    wchar_t = 2
    №2) Преобразование типов

    Из double : 7.77 в int : 7

    Из char : 1 в int : 49
    №3) Перечислимый тип

    Без инициализации констант : 4

    С инициализацией констант : 4
    №4) Число байт для хранения полей структуры

    Количество байт для полей структуры = 20

    Поле int 4

    Поле float 4

    Поле bool 1

    Поле char 1

    Поле wchar_t 2
    №5) Преобразование типов

    38 Преобразован в символьный тип = &

    33.3 Преобразован в целочисленный тип = 33

    a Преобразован в целочисленный тип = 97

    98 Преобразован в логический тип = 1

    № 6) Определение типа данных

    Имя типа = i

    Имя типа = f

    Имя типа = b

    Имя типа = c

    Имя типа = w

    Вывод

    Познакомился с типами данных языка С++. Узнал о разделении типов на основные и составные, научился с ними работать. Изучил основные «операции» над типами данных. Научился применять знания на практике.


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