Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
2017-07-09 | 323 |
5.00
из
|
Заказать работу |
По смысловой нагрузке служебные слова группируются следующим образом
Для обозначения типов данных используются спецификации типов и квалификаторы типов.
К спецификаторам типов относятся:
char - символьный;
double - вещественный двойной точности с плавающей точкой;
enum - перечисляемый тип (перечисление) – определение целочисленных констант, для каждой из которых вводятся имя и значение;
fload - вещественный с плавающей точкой;
int - целый;
long - целый увеличенной длины (длинное целое);
short - целый уменьшенной длины (короткое целое);
struct - структура (структурный тип);
signed - знаковый, т.е. целое со знаком (старший юит считается знаковым);
union - объединение (объединяющий) тип;
unsigned - беззнаковый, т.е. целое без знака (старший бит не считается знаковым);
void - отсутствие значения;
typedef - вводит синоним обозначения типа (определяет сокращенное наименование для обозначения типа).
Квалификаторы типа:
const - квалификатор объекта, имеющего постоянное значение, т.е. доступного только для чтения;
volatile - квалификатор объекта, значение которого может измениться без явных указаний программиста.
Квалификаторы типа информируют компилятор о необходимости и (или) возможности особой обработки объектов в процессе оптимизации кода программы.
Для обозначения классов памяти используются:
auto - автоматический;
extern - внешний;
register - регистровый;
static - статический.
Для построения операторов используются служебные слова:
break - выйти из цикла или переключателя;
continue - завершить текущую итерацию цикла (продолжить цикл, перейдя к следующей итерации);
do - выполнить (заголовок оператора цикла с постусловием);
for - для (заголовок оператора параметрического цикла);
goto - перейти (безусловный переход);
if - если – обозначение условного оператора;
return - возврат (из функции);
switch - переключатель;
while - пока (заголовок цикла с предусловием или завершение цикла do).
К служебным словам также отнесены следующие идентификаторы:
default - определяет (действие при отсутствии нужного варианта в операторе switch);
case - определяет вариант в операторе switch;
else - входит в оператор if, определяя альтернативную ветвь;
sizeof - операция определения размера операнда (в байтах).
В число служебных слов, определенных стандартом языка, модификаторы не входят, однако их необходимо знать, работая с конкретной реализацией языка. Практически во всех шестнадцатиразрядных реализациях компиляторов для IBM PC используются следующие модификаторы:
_asm, cdecl, _cs, _ds, _es, far, fortran, huge, interrupt, near, pascal, _ss.
Ключевые слова far, huge, near позволяют определить размеры указателей на области памяти. Ключевые слова _ asm, cdelc, fortran, pascal служат для организации связи с функциями, написанными на других языках, а также для использования команд языка ассемблера непосредственно в теле разрабатываемой программы на языке СИ.
Идентификаторы, начинающиеся с одного или двух символов подчеркивания, зарезервированы для использования в библиотеках и компиляторах. Рекомендуется при программировании имена констант записывать целиком заглавными буквами.
5.1.2. Константы и строки
По определению константа представляет значение, которое не может быть изменено. Синтаксис определяет пять типов констант:
- символы;
- константы перечисляемого типа;
- вещественные числа;
- целые числа;
- нулевой указатель.
5.1.3. Символы, или символьные константы
Для отображения отдельных знаков, имеющих индивидуальные внутренне коды, используются символьные константы. Каждая символьная константа – это лексема, которая состоит из изображения символа и ограничивающих апострофов. Например: ‘A’. ‘a’, ‘B’, ‘+’ и т.д.
Внутри апострофов можно записать любой символ, изображаемый на дисплее или принтере в текстовом режиме. Однако в ЭВМ используются и коды, не имеющие графического представления на экране дисплея, клавиатуре или принтере. Примерами таких кодов служит код перехода курсора дисплея на новую строку или код возврата каретки (возврат курсора к началу текущей строки). Для изображения в программе соответствующих символьных констант используются комбинации из нескольких символов, имеющих графическое представление. Каждая такая комбинация начинается с символа ‘\’.
Управляющая последовательность | Наименование | Шестнадцатеричная замена |
\a | Звонок | |
\b | Возврат на шаг | |
\t | Горизонтальная табуляция | |
\n | Переход на новую строку | 00A |
\v | Вертикальная табуляция | 00B |
\r | Возврат каретки | 00C |
\f | Перевод формата | 00D |
\" | Кавычки | |
\' | Апостроф | |
\0 | Ноль-символ | |
\\ | Обратная дробная черта | 05C |
\ddd | Символ набора кодов ПЭВМ в восьмеричном представлении | |
\xddd | Символ набора кодов ПЭВМ в шестнадцатеричном представлении |
5.1.4. Целые константы
Синтаксисом языка определены целые константы: десятичные, шестнадцатеричные и восьмеричные. Основание определяется префиксом в записи константы. Для десятичных констант префикс не используется. Десятичные целые определены как последовательность десятичных цифр, начинающиеся не с нуля (если это не число нуль).
44 684 0 1025
Последовательность цифр, начинающаяся с 0 и не содержащая десятичных цифр старше 7, воспринимается как восьмеричная константа:
016 – восьмеричное представление десятичного целого 14.
Последовательность шестнадцатеричных цифр (0, 1…,9 А…F), перед которой записаны символы 0х или 0Х, считается шестнадцатеричной константой:
0х16 – шестнадцатеричное представление десятичного целого 22;
0XFF – шестнадцатеричное представление десятичного целого 255.
5.1.5. Вещественные константы
Для представления вещественных (нецелых) чисел используются константы, представляемые в памяти ЭВМ в форме с плавающей точкой. Каждая вещественная константа состоит из следующих частей: целая часть (десятичная целая константа); десятичная точка; дробная часть (десятичная целая константа); признак показателя «е» или «Е»; показатель десятичной степени (десятичная целая константа, возможно, со знаком). При записи констант с плавающей точкой могут опускаться целая или дробная часть (но не одновременно); десятичная точка или символ экспоненты с показателем степени (но не одновременно).
44 3.14159 44e0.314159E1 0.0
5.1.6. Предельные значения и типы арифметических констант
Машинное представление (код) программы на языке Си предполагает, что каждая константа, введенная в программе, занимает в ЭВМ некоторый участок памяти. Размеры этого участка памяти и интерпретация его содержимого определяются типом соответствующей константы.
Предельные значения определяются набором констант, названия (имена) которых стандартизированы и не зависят от реализаций. В таблице приводятся обозначения констант и их минимальные (по абсолютной величине допустимые стандартом ANSI значения). В конкретных реализациях абсолютные значения констант могут превышать значения, приведенные в таблице.
Таблица 1. Абсолютные значения констант
Имя константы | Значения | Смысл |
CHAR_BIT | Число битов в байте | |
SCHAR_MIN | -128 | Минимальное значение signed char |
SCHAR_MAX | Максимальное значение signed char | |
UNCHAR_MAX | Максимальное значение unsigned char | |
CHAR_MIN | ‘0’ | Минимальное значение для char |
Для целых и вещественных констант каждая реализация компилятора с языка Си может определять свои ограничения. В таблице приведены возможные пределы изменения этих значений
Диапазоны значений констант | Тип данных | ||
десятичные | восьмеричные | шестнадцатеричные | |
от 0 до 32767 | от 00 до 077777 | от 0х0000 до 0x7FFF | int |
- | от 0100000 до 0177777 | от 0x800 до 0xFFFF | unsigned int |
от 32768 до 2147483647 | от 020000 до 017777777777 | от 0x100000 до 0х7FFFFFFF | long |
от 2147483648 до 4294967295 | от 020000000000 до 037777777777 | от 0x80000000 до 0xFFFFFFFF | unsigned long |
> 429496295 | > 037777777777 | > 0xFFFFFFFF | ошибка |
Данные вещественных типов
Тип данных | Размер, бит | Диапазон абсолютных величин |
float | от 3.4E-38 до 3.4E+38 | |
double | от 1.7E-308 до 1.7E+308 | |
long double | от 3.4E-4932 до 1.1E+4932 |
Вещественная константа 3.141592653589793 будет воспринята как имеющая тип double, и ей будет выделено 8 байт. Тот же тип выбирается для константы 3.14, так как по умолчанию всем вещественным константам присваивается тип double.
Если программиста не устраивает тип, который компилятор приписывает константе, то тип можно явно указать в записи константы с помощью суффиксов F или f – float для вещественных, U (или u) unsigned (для целых); L (или l) – long (для целых и вещественных).
Например:
3.14159F - константа типа float (выделяется 4 байта);
3/14L - константа типа long double (выделяется 10 байт).
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!