Форма представления одного данного
[ + | – ] [ 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 | |
38.45 | .0f |
6.1.3 Спецификация е (вещественные числа в экспоненциальной форме с плавающей точкой).
ВВОД Полностью аналогичен спецификации 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 |
6.1.4 Спецификация 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 | |
4.456 e 6 | .5g | 4.456e+06 |
0.4456 | .5g | 0.4456 |
4.456 e6 | .5G | 4.456E+06 |
6.1.5 Вывод символьной информации.
ВВОД не рассматриваем (рассмотреть самостоятельно).
ВЫВОД: 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
6.2 Функции getchar(), putchar(), getch()
1. Функция getch() – это функция чтения одного символа со стандартного устройства ввода (то есть клавиатуры), без вывода считанного символа в стандартный поток вывода (на экран).
Прототип функции int getch (void); объявлен в файле <conio.h>).
Пример: char ch;
if ( ( ch = getch () ) = = 27 ) printf ("Вы нажали Escape\n");В данном случае с клавиатуры читается один символ, заносится в переменную ch и проверяется на соответствие коду клавиши Esc (27) – и все это одним выражением.
Пример: char ch;
ch = getch();
printf(“Символ %c имеет код %d\n”, ch, ch);
2. Функция getchar () считывает очередной символ из стандартного входного потока (с клавиатуры) и копирует этот символ в стандартный выходной поток (на экран).
Прототип функции int getchar (void); объявлен в файле <conio.h>).
Пример: #include <stdio.h>
void main(void)
{ int c;
/* Note that getchar reads from stdin and is line buffered; this means it will not return until you press ENTER. */
while ( ( c = getchar() ) != '\n' )
printf( "%c", c ); }
В результате выполнения этой программы на экране появится строка введенных символов, второй раз эта строка появится после нажатия Enter.
3. Функция putchar() записывает символ в стандартный поток вывода (на экран).
Прототип функции int putchar ( int c); объявлен в файле <conio.h>).
Пример: char ch;
printf ( "Введите предложение")' while ( ( ch = getch () ) ! = '\n' ) putchar (ch);10.8 Ввод – вывод массивов
Ввод двумерного массива
printf ( "ВВОД МАССИВА \n" );
for ( i = 0; i < 10; i++ ) {
for ( j = 0; j < 10; j++ ) {
scanf ( " %f", &a[i][j] );
}
}
Вывод двумерного массива
printf ( " % 32c Исходный массив \n", ' ' ); /* строка напечатается посередине */
for ( i = 0; i<10; i++ ) {
printf ( "\n" );
for( j = 0; j<10; j++ ) { /* по строкам */
printf ( " %15.5g", a[i][j] );
}
}
Дата добавления: 2015-06-10; просмотров: 724;