- •Глава 1 элементы языка
- •Вывод: Пробелы употреблять везде, где это допустимо и улучшает читабельность программы.
- •Введение в си
- •Глава 2 элементы данных
- •Глава 3 массивы и структуры
- •Глава 4 операции и выражения
- •Глава 5 основные операторы
- •Формат: ;
- •Глава 6. Ввод – вывод данных
- •Форма представления одного данного
- •6.2 Функции getchar(), putchar(), getch()
- •Глава 7. Блоки и процедуры
- •Глава 8 Препроцессор
- •Вычисление квадратичной формы
- •Глава 9 Символьная информация и строки
- •9.3 Строки или строковые константы
- •Глава 10 фAйлы
Форма представления одного данного
[ + | – ] [ a ] [ .b ] [<порядок>]
Порядок – [ e | E ] [ + | – ] <целое без знака>
Длина мантиссы >= одной цифры.
Пример:
Внешнее представление |
Спецификация |
Значение в памяти |
–2.347e–5 |
f |
–2.347 e–5 |
–236.485 |
f |
–2.36485e+2 |
2e10 |
f |
2e10 |
.345 |
f |
0.345 |
–2. |
F |
–2.0 |
–94.56e–5 |
lf |
–9.456e–4 |
–94.56e+5 |
lf |
–9.456e+6 |
ВЫВОД (нормальная форма)
Формат спецификации % [W] [.D] [l] f
D – число знаков после.
Внешнее представление: [–] X...X . X...
По умолчанию D = 6. При D = 0 точка не выводится.
Если число дробных разрядов > D, то результат округляется.
Пример.
Значение в памяти |
Спецификация |
Внешнее представление |
–385.476 |
f |
–385.476000 |
2. |
f |
2.000000 |
1e–7 |
f |
0.000000 |
1e10 |
f |
10000000000.000000 |
–385.476 |
10f |
–385.476000 |
385.476 |
10f |
385.476000 |
385.476 |
15f |
_ _ _ _ _385.476000 |
-385.476 |
15f |
_ _ _ _-385.476000 |
2.5 |
10.4f |
_ _ _ _2.5000 |
–6.48756 |
10.4f |
_ _ _–6.4876 |
0.000346 |
10.5f |
_ _ _0.00035 |
–0.34844 |
6.4f |
–0.3484 |
38.56 |
.0f |
39 |
38.45 |
.0f |
38 |
Спецификация е (вещественные числа в экспоненциальной форме с плавающей точкой).
ВВОД Полностью аналогичен спецификации f.
ВЫВОД (показательная форма)
Формат спецификации % [W] [.D] [l] { e|E }
D – количество значащих цифр мантиссы.
По умолчанию D=6. При D=1 точка не выводится.
Внешнее представление: [–] X . X...{e|E}<порядок>
Пример.
Значение в памяти |
Спецификация |
Внешнее представление |
2.3 |
e |
2.30000e+00 |
2.3 |
5e |
2.300000e+00 |
237.486 |
10.4 e |
2.3749e+02 |
237.486 |
10.4E |
2.3749E+02 |
–96.56e–105 |
15.5e |
–9.65600e–104 |
2.37e25 |
10.1e |
_ _ _2.4e+25 |
–24.866e–10 |
.4e |
–2.487e–09 |
Спецификация g.
Спецификация используется как е и f, но исключает вывод незначащих нулей. Удобно, когда нельзя предсказать диапазон выводимых значений.
D – число значащих цифр мантиссы. Конечные нули не выводятся.
Универсальный формат. f при 10**( –4 ) <= |x| < 10**D
Пример.
Значение в памяти |
Спецификация |
Внешнее представление |
0.000485456 |
.5g |
0.00048546 |
0.000000123456 |
.5g |
1.2346e–07 |
4.456789e–5 |
.5g |
4.4568e–05 |
4.456789 |
.5g |
4.4568 |
4.456 e 4 |
.5g |
44560 |
4.456 e 6 |
.5g |
4.456e+06 |
0.4456 |
.5g |
0.4456 |
4.456 e6 |
.5G |
4.456E+06 |
Вывод символьной информации.
ВВОД не рассматриваем (рассмотреть самостоятельно).
ВЫВОД: 2 способа.
Символы управляющей строки, не входящие в спецификации и управляющие символы печатаются текстуально. Для вывода символа % надо %%.
Пример:
printf ("Число успешных сеансов составляет %d % % \n", kol );
printf( "Рост: %.1f[см] Вес: %.3f[кг] \n", height, weight);
На экране
Число успешных сеансов составляет 72%
Рост: 181.5[см] Вес: 75.600[кг]
Спецификация % [w] c – значением аргумента является символ.
Пример:
printf ( "L = %d %5c M = %d \n", l, ' ', m);
На экране
L = 15– – – – –M = 12