Шрифт:
символ "шаг назад" производит сдвиг назад на одну позицию;
символ "возврат каретки" осуществляет возврат к началу строки;
символ "подача бланка" вызывает протяжку бумаги на одну страницу.
В последних трех управляющих последовательностях символы \, ', " можно считать символьными константами [поскольку они служат для определения символьных констант и непосредственно используются в операторе printf, применение их самих в качестве символов могло бы привести к ошибке]. Если вы хотите вывести на печать строку.
Запомните, " символ \ называется обратная косая черта".
оператор будет выглядеть так:
printf(" Запомните, \" символ \\ называется обратная косая черта. \" \n");
Здесь у вас могут возникнуть два вопроса. Во-первых, почему мы не заключили управляющие последовательности в апострофы? Во-вторых, в каких случаях необходимо использовать код ASCII и когда управляющие последовательности, которые мы только что обсуждали? (Мы надеемся, что у вас возникли как раз эти вопросы, ПОТОМУ что мы собираемся отвечать именно на них.)
1. Когда символ является частью строки символов, заключенной в кавычки, он входит туда без апострофов независимо от того, является ли он управляющим или нет. Заметим, что все остальные символы в нашем примере (3,а, п, о, м, н, и т. д.) тоже присутствуют в этой строке без кавычек. Строка символов, заключенная в кавычки, называется символьной строкой или цепочкой. Мы обсудим этот вопрос в следующей главе.
2. Если у вас есть возможность выбора одной из двух форм записи некоторой специальной управляющей последовательности, скажем '\f', или эквивалентного кода из таблицы кодов ASCII - '\016', то рекомендуем использовать '\f'. Во-первых, это более наглядно. Во-вторых, лучше согласуется с требованием переносимости программ, поскольку даже в том случае, когда в системе не используется код ASCII, обозначение '\f' будет продолжать "работать".
Программа
Ниже приводится короткая программа, позволяющая узнавать номер кода символа даже в том случае, если на вашей машине не используется код ASCII.
main /* определяет номер кода символа */
{
char ch;
printf(" Введите, пожалуйста, символ .\n");
scanf(" %c", &ch); /* ввод пользователем символа */
printf("Koд символа %с равен %d.\n", ch, ch);
}
При работе с этой программой не забывайте нажимать клавишу [ввод] или [возврат] после ввода символа. Затем функция scanf прочтет введенный символ; знак амперсанд (&) указывает, что символ должен быть присвоен переменной ch. Функция printf выводит на печать величину ch дважды: первый раз как символ (в соответствии со спецификацией %c), а затем как десятичное целое число (в соответствии со спецификацией %d).
Типы данных float и double
В большинстве проектов разработки программного обеспечения оказывается вполне достаточным использовать данные целых типов. Однако в программах вычислительного характера часто применяются числа с плавающей точкой. В языке Си такие данные описываются типом float; они соответствуют типу real в Фортране и Паскале. Указанный подход, как вы могли заметить при внимательном чтении, позволяет представлять числа из гораздо более широкого диапазона, включая и десятичные дроби. Числа с плавающей точкой совершенно аналогичны числам в обычной алгебраической записи, используемой при работе с очень большими или малыми числами. Давайте рассмотрим ее подробнее.
Алгебраическая запись числа представляет собой произведение некоторого десятичного числа на степень, основание которой равно десяти. Ниже приведено несколько примеров.
| Число | Алгебраическая запись для ввода запись в машину |
|---|---|
| 1 000000000 | = 1.0 ´ 109 = 1.0e9 |
| 123000 | = 1.23 ´ 105 = 1.23е5 |
| 322.56 | = 3.2256 ´ 102 = 3.2256е2 |
| 0.000056 | = 5.6 ´ 10– 5 = 5.6е-5 |
В первом столбце числа изображены в обычной записи, во втором приведена соответствующая алгебраическая запись, а в третьем столбце числа показаны в том виде, в котором они обычно представляются при вводе в машину и при выводе из нее - с символом е, за которым следует показатель степени по основанию десять (порядок).
Обычно для размещения в памяти числа с плавающей точкой отводится 32 бита - 8 бит для представления порядка и знака и 24 бита - для мантиссы (т. е. коэффициента при степени десяти). Важным фактом, который вам необходимо знать, является то, что такой способ дает возможность представлять числа с точностью до 6-7 десятичных цифр в диапазоне ±(10– 37– 1038). Это может оказаться удобным, если вам понадобится обрабатывать числа того же порядка, что масса Солнца (2.0е30 кг) или заряд протона (1.6е-19 Кл). (Многим нравится использовать подобные числа.)