Алгоритмизации
Скачать 1.15 Mb.
|
ГЛАВА 3. Константы в программахКонстантами называют величины, которые не изменяют своего значения во время выполнения программы, т.е. это объекты, не подлежащие использованию в левой части операции присваивания, т.к. константа – это неадресуемая величина и, хотя она хранится в памяти компьютера, не существует способа определить ее адрес. В языке Си константами являются: самоопределенные арифметические константы целого и вещественного типов, символьные и строковые данные; идентификаторы массивов и функций; элементы перечислений. ЦелочисленныеконстантыОбщий формат записи: ±n(+ обычно не ставится). Десятичныеконстанты – это последовательность цифр 0...9, первая из которых не должна быть0. Например, 22 и 273 – обычные целые константы, если нужно ввести длинную целую константу, то указывается признак L(l) – 273L(273l). Для такой константы будет отведено – 4 байта. Обычная целая константа, которая слишком длинна для типа int, рассматривается как long. Существует система обозначений для восьмеричных и шестнадцатери- чных констант. Восьмеричныеконстанты– это последовательность цифр от 0 до 7, первая из которых должнабыть0, например: 0208 = 1610. Шестнадцатеричныеконстанты – последовательность цифр от 0 до 9 и букв от Aдо F (a...f), начинающаяся символами 0Х (0х), например: 0X1F 16 (0х1f)16 = 3110. Восьмеричные и шестнадцатеричные константы могут также заканчиваться буквой L(l) – long, например, 020L или 0X20L.
Примеры целочисленных констант: КонстантывещественноготипаДанные константы размещаются в памяти в формате double, а во внешнем представлении могут иметь две формы: с фиксированной десятичной точкой, формат записи: ±n.m, где n, m– целая и дробная части числа; с плавающей десятичной точкой (экспоненциальная форма) представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (Е или е), а порядок – справа. Значение константы определяется как произведения мантиссы и числа 10, возведенного в указанную в порядке степень. Общий формат таких констант: ±n.mE±p, где n, m– целая и дробная части числа, р– порядок; ±0.xxxE±p– нормализованный вид, например, 1,25�1–08 = 0.125E–7. Примеры констант с фиксированной и плавающей точками: 1.0 –3.125 100е–10 0.12537е+12. Пробелы внутри чисел не допускаются, а для отделения целой части числа от дробной используется точка. Можно опустить нулевую дробную или целую части числа, но не обе сразу, например, 1.0 ↔ 1. или 0.5 ↔ .5 . В любом случае при использовании вещественных констант наличие так называемой десятичной точки обязательно. СимвольныеконстантыСимвольнаяконстанта– это символ, заключенный в одинарные кавычки: 'A', 'х' (тип char занимает в памяти один байт). Также используются специальные последовательности символов – управляющие (escape) последовательности: \n– новая строка; \t– горизонтальная табуляция; \b– шаг назад; \r– возврат каретки; \v– вертикальная табуляция; \f– перевод формата (переход на новую строку); \\ – обратный слеш; \' – апостроф; \" – кавычки; \0 – символ «пусто», не путать с символом ‘0’. Символьнаяконстанта '\0' – это нулевой байт, каждый бит которого равен нулю. При присваивании символьным переменным значений констант значения констант заключаются в апострофы, например: char ss = ‘У’; Текстовые символы непосредственно вводятся с клавиатуры, а специальные и управляющие – представляются в исходном тексте парами символов, например: \\ , \' , \" . Примеры символьных констант: 'А', '9', '$', '\n'. Строковые константыСтроковая константа представляет собой последовательность символов кода ASCII, заключенную в кавычки (”). Во внутреннем представлении к строковым константам добавляется пустой символ '\0', который не является цифрой 0, на печать не выводится (в таблице кодов ASCII имеет код = 0) и является признаком окончания строки. Кавычки не являются частью строки, а служат только для ее ограничения. Строка в языке Си представляет собой массив, состоящий из символов. Внутреннее представление константы "1234ABC": '1' '2' '3' '4' 'A' 'B' 'C' '\0' . Примеры строковых констант: "Система", "\n\tАргумент \n", "Состояние \"WAIT\" " . Строковые константы еще называютстроковымилитералами. В конец строковой константы компилятор автоматически помещает нуль-символ. Длинную строковую константу можно разбить на несколько, используя символ переноса – обратный слеш (\). Например: “Выпоступилии\ учитесьнафакультетеинформационныхтехнологий\ Белорусского государственного университета \ информатики и радиоэлектроники” Компилятор Си воспримет такую запись как единое целое, игнорируя символы обратного слеша. |