Явные преобразования при приведении типов

Каноническая форма преобразования:

(имя_типа)операнд;

В приведенной записи операнд – это переменная, или константа, или любое выражение, заключенное в скобки, имя_типа задает тип, к которому должен быть преобразован операнд.

Функциональная форма преобразования:

Имя_типа(операнд);

В этой записи имя_типадолжно иметь простое (несоставное) наименование.

Пример:

int i=2; float f=5.6; double d1,d2;

d1=(double)i*(double)f; //Правильно!

d2=double(i)*double(f); //Правильно!

unsigned long g=2,k1,k2;

k1=(unsigned long)f+g; //Правильно! преобразовываетсяf

k2=unsigned long(f)+g; // Ошибка! имя_типа составное

k3=(unsigned long)f+g; //Правильно! преобразовываетсяf


Элементарный ввод-вывод данных

Функция форматированного вывода printf() имеет синтаксис:

Printf(форматная_строка, список_вывода);

Список_вывода– это константа, переменная или любое унарное выражение, которое может быть заключено в скобки. Форматная_строка – последовательность символов в двойных кавычках, в которой можно с по­мощью спецификаторов задавать способ преобразования данных. Специфи­каторы – это символы, которые начинаются знаком %. Вся форматная строка в функции printf() выводиться на экран, причем спецификаторы заменяются значениями выводимых аргументов из списка.Например:

int a=2,b=5;

printf("c=%d, a=%d, a+b=%d\n",9,а,a+b);// c=9, a=2, a+b=7

Спецификаторы преобразования задается в виде:

%[флаги][ширина][.точность]<тип>

где [флаги]:

"–" выравнивание числа влево (справа пробелы)

"+" вывод перед числом знака числа (знаки "+" и "")

"#" вывод идентификатора системы счисления (0 в 8 СС, 0х в16 СС)

[ширина]– количество позиций для вывода;

[.точность] – количество цифр дробной части вещественных чисел или количество выводимых символов для строки.

Имеются следующие типы преобразования переменных

%c – целое число типа char, int, short в виде символа;

%d – целое число типа char, int, short в 10-ой системе счисления (СС);

%u – беззнаковое целое число в 10-ой СС;

%o – целое число в 8-ой системе счисления;

%x – целое число в 16-ой системе счисления;

%f – вещественное число типа float;

%e – вещественное число типа float в экспоненциальной форме;

%lf – вещественное число типа doublе;

%le – вещественное число типа doublе в экспоненциальной форме;

%s – строка; %p – адрес переменной (&a).

Функция форматированного ввода scanf() имеет синтаксис:

Scanf(форматная_строка, список_ввода);

Список_ввода– это адреса переменных, куда должны вводиться числа после преобразования. Форматная строка – последовательность специфи­каторов (первый знак %) в двойных кавычках.








Дата добавления: 2016-04-11; просмотров: 672;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.