Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прога.docx
Скачиваний:
7
Добавлен:
16.04.2019
Размер:
149.14 Кб
Скачать
  1. Правила преобразования типов в выражениях. Приведите примеры явного и неявного

приведения типов в выражениях и при присваивании

// неявное преобразование типа

int a = 5;

float b = a + 0.5; // int -> float

int k = 234.567; // float -> int

// явное преобразование типа

int k = 10;

double y = ((double)k/3);

Правила преобразования типов:

-в любом случае величины типов char, signed char, unsigned char, short int, unsigned short int преобразуются в тип int, если он может представить все значения, или в unsigned int в противном случае.

-После этого операнды преобразуются к типу наиболее длинного из них, и он используется как тип результата.

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

Преобразования бывают двух типов:

-Изменяющие внутреннее представление величин (с потерей точности или без потери точности);

-Изменяющие только интерпретацию внутреннего представления.

К первому типу относятся, например, преобразование целого в вещественное (без потери точности) и наоборот (возможно, с потерей точности), ко второму – преобразование знакового целого в беззнаковое.

  1. Как организуется ввод/вывод данных в стиле языка C и С++? Примеры

Ввод-вывод данных в языке С++ осуществляется либо с помощью функций ввода-вывода в стиле С, либо с использованием библиотеки классов С++. Преимущество объектов С++ в том, что они легче в использовании, особенно если ввод-вывод достаточно простой. Функции ввода-вывода унаследованные от С более громоздкие, но подходят для задач с форматированным выводом данных.

Система ввода-вывода языка С++ обеспечивает единообразный интерфейс, не зависящий от физических устройств. Иначе говоря, система ввода-вывода создает между программистом и устройством ввода-вывода абстрактное (логическое) средство связи.

сin

Поток для ввода с клавиатуры

сout

Поток для вывода на экран монитора

сerr

Поток для вывода стандартных ошибок

#include <conio.h>

#include <iostream>

using namespace std;

int main()

{ int a; cout << "\n a = "; cin >> a;

cout << "\n a + a = " << a + a; getch(); return 0;

}

Для ввода/вывода данных в стиле C часто используются функции printf и scanf, которые описываются в библиотечном файле stdio.h. Функция printf() возвращает количество записанных ею символов , а в случае ошибки – отрицательное число.

Форматная строка – это строка символов, заключенных в кавычки, которая показывает, как должны быть напечатаны аргументы. Может содержать: Символы печатаемого текста. Спецификации формата. Управляющие символы (\n – новая строка; \t – табуляция; \a – звуковой сигнал и др.).

stdin

Поток для ввода с клавиатуры

stdout

Поток для вывода на экран монитора

stderr

Поток для вывода стандартных ошибок

#include <conio.h>

#include <stdio.h>

int main() { float a; printf("\n a : "); scanf("%f", &a);

printf("\n a = %10.5f",a); getch(); return 0 }