Константы

Язык С
Строк программы, исключая математическое обеспечение Является учебным введением в центральную часть языка “C” Hачинаем. Единственный способ освоить новый язык Оператор FOR Набор полезных программ Подсчет символов Подсчет слов Функции Аргументы - вызов по значению Область действия: внешние переменные Резюме Константы Описания Преобразование типов До 9 и буквы от а до F Операции и выражения присваивания Старшинство и порядок вычисления Операторы и блоки Переключатель Цикл DO - WHILE Оператор CONTINUE Основные сведения Функции, возвращающие нецелые значения Еще об аргументах функций Правила, определяющие область действия Статические переменные Блочная структура Рекурсия Указатели и адреса Указатели и массивы Адресная арифметика Указатели символов и функции Указатели - не целые До 12, а не от 0 до 11. Так как за экономию памяти у нас пока не награждают, такой способ проще, чем подгонка индек-сов Инициализация массивов указателей Указатели на функции Структуры Структуры и функции Указатели на структуры Мы продемонстрируем, как правильно выполнить эту задачу Поля Определение типа Обращение к стандартной библиотеке Форматный вывод - функция PRINTF Форматный ввод - функция SCANF Форматное преобразование в памяти Обработка ошибок - STDERR и EXIT Обращение к системе Низкоуровневый ввод/вывод - операторы READ и WRITE Произвольный доступ - SEEK и LSEEK Пример - распечатка справочников Пример - распределитель памяти Константы Синтаксическая нотация Преобразования Первичные выражения Унарные операции Аддитивные операции Операция присваивания Спецификаторы типа Описание структур и объединений Инициализация TYPEDEF Оператор SWITCH Внешнее определение функции Область действия внешних идентификаторов Неявные описания Явные преобразования указателей Анахронизмы Операторы
439386
знаков
0
таблиц
0
изображений

2.3. Константы.

 

Константы типа INT и FLOAT мы уже рассмотрели. Отметим

еще только, что как обычная

123.456е-7,

так и “научная” запись

0.12е3

для FLOAT является законной.

Каждая константа с плавающей точкой считается имеющей

тип DOUBLE, так что обозначение “E” служит как для FLOAT,

так и для DOUBLE.

Длинные константы записываются в виде 123L. Обычная це-

лая константа, которая слишком длинна для типа INT, рассмат-

ривается как LONG.

·      
41 -

Существует система обозначений для восьмеричных и шест-

надцатеричных констант: лидирующий 0(нуль) в константе типа

INT указывает на восьмеричную константу, а стоящие впереди

0X соответствуют шестнадцатеричной константе. Например, де-

сятичное число 31 можно записать как 037 в восьмеричной фор-

ме и как 0X1F в шестнадцатеричной. Шестнадцатеричные и вось-

меричные константы могут также заканчиваться буквой L, что

делает их относящимися к типу LONG.

 

2.3.1. Символьная константа.

 

Символьная константа - это один символ, заключенный в

одинарные кавычки, как, например, 'х'. Значением символьной

константы является численное значение этого символа во внут-

реннем машинном наборе символов. Например, в наборе символов

ASCII символьный нуль, или '0', имеет значение 48, а в коде

EBCDIC - 240, и оба эти значения совершенно отличны от числа

0. Написание '0' вместо численного значения, такого как 48

или 240, делает программу не зависящей от конкретного чис-

ленного представления этого символа в данной машине. Сим-

вольные константы точно так же участвуют в численных опера-

циях, как и любые другие числа, хотя наиболее часто они ис-

пользуются в сравнении с другими символами. Правила преобра-

зования будут изложены позднее.

Некоторые неграфические символы могут быть представлены

как символьные константы с помощью условных последователь-

ностей, как, например, \N (новая строка), \T (табуляция), \0

(нулевой символ), \\ (обратная косая черта), \' (одинарная

кавычка) и т.д. Хотя они выглядят как два символа, на самом

деле являются одним. Кроме того, можно сгенерировать произ-

вольную последовательность двоичных знаков размером в байт,

если написать

 

'\DDD'

где DDD - от одной до трех восьмеричных цифр, как в

#DEFINE FORMFEED '\014' /* FORM FEED */

Символьная константа '\0', изображающая символ со значе-нием 0, часто записывается вместо целой константы 0 , чтобы подчеркнуть символьную природу некоторого выражения.

2.3.2. Константное выражение

 

Константное выражение - это выражение, состоящее из од-

них констант. Такие выражения обрабатываются во время компи-

ляции, а не при прогоне программы, и соответственно могут

быть использованы в любом месте, где можно использовать кон-

станту, как, например в


·     42 -

#DEFINE MAXLINE 1000

CHAR LINE[MAXLINE+1];

 

или

SECONDS = 60 * 60 * HOURS;

2.3.3. Строчная константа

 

Строчная константа - это последовательность, состоящая

из нуля или более символов, заключенных в двойные кавычки,

как, например,

 

“I AM A STRING” /* я - строка */

или

“” /* NULL STRING / / нуль-строка */

 

Кавычки не являются частью строки, а служат только для

ее ограничения. те же самые условные последовательности, ко-

торые использовались в символьных константах, применяются и

в строках; символ двойной кавычки изображается как \”.

С технической точки зрения строка представляет собой

массив, элементами которого являются отдельные символы. Что-

бы программам было удобно определять конец строки, компиля-

тор автоматически помещает в конец каждой строки нуль-символ

\0. Такое представление означает, что не накладывается конк-

ретного ограничения на то, какую длину может иметь строка, и

чтобы определить эту длину, программы должны просматривать

строку полностью. При этом для физического хранения строки

требуется на одну ячейку памяти больше, чем число заключен-

ных в кавычки символов. Следующая функция STRLEN(S) вычисля-

ет длину символьной строки S не считая конечный символ \0.

STRLEN(S) /* RETURN LENGTH OF S */

CHAR S[];

{

INT I;

I = 0;

WHILE (S[I] != '\0')

++I;

RETURN(I);

}

 

Будьте внимательны и не путайте символьную константу со

строкой, содержащей один символ: 'X' - это не то же самое,

что “X”. Первое - это отдельный символ, использованный с

целью получения численного значения, соответствующего букве

х в машинном наборе символов. Второе - символьная строка,

состоящая из одного символа (буква х) и \0.


·     43 -


Информация о работе «Язык С»
Раздел: Информатика, программирование
Количество знаков с пробелами: 439386
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
48443
0
0

... основаниям. При этом философская абстракция языка оказывается неразрывно связана с основными темами и движениями философии в целом. Более конкретно, на ранние стадии традиционно рассматриваемого в рамках АФ анализа обыденного языка глубокое влияние оказала философия Дж. Э. Мура, особенно его учение о здравом смысле, согласно которому такие понятия, как «человек», «мир», «я», «внешний мир», « ...

Скачать
43709
0
0

... и других странах СНГ, а также облегчение доступа к русской и мировой культуре и науке. Таким образом, судя по данным наших исследований, востребованность русского языка осталась в республике достаточно высокой. Многие представители современной молдавской молодежи продолжают, как их отцы и деды, тянуться к русской культуре, научным и техническим достижениям России. Русский язык остается языком ...

Скачать
39778
0
1

... рисуночное словесно-слоговое письмо). Памятники среднеэламского периода (14—12 вв. до н.э.) выполнены аккадской клинописью. Памятники новоэламского периода относятся к 8—6 вв. до н.э. Был официальным языком в персидском государстве Ахеменидов в 6—4 вв. предполагается, что он, подвергшись влиянию древнеперсидского, сохранился до раннего средневековья. 7. Бурушаски язык Язык бурушаски ( ...

Скачать
64931
0
0

... /диалект), скифский, согдийский, среднеперсидский, таджикский, таджриши (язык/диалект), талышский, татский, хорезмийский, хотаносакский, шугнано-рушанская группа языков, ягнобский, язгулямский и др. Они относятся к индоиранской ветви индоевропейских языков. Области распространения: Иран, Афганистан, Таджикистан, некоторые районы Ирака, Турции, Пакистана, Индии, Грузии, Российской Федерации. Общее ...

0 комментариев


Наверх