КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Служебные (ключевые) слова
Идентификаторы. Словарь языка СИ ЯЗЫК СИ Глава 1. Базовые понятия языка
Язык СИ оперирует со следующим набором символов: 1) большие и маленькие буквы латинского алфавита A,B,C,..., Z, a,b,c,...,z 2) арабские цифры 0,1,2,...,9; 3) Специальные символы: “, { } [ ] () + - / % \; ‘.:? < = > _! & * # ~ ^ 4) неизображаемые символы – пробел, табуляция, переход на новую строчку; 5) В комментариях, строках и символьных константах могут использоваться другие символы (например, русские буквы). 6) комбинации специальных символов образуют составленные символы: /* - комментарий; /* это комментарий*/ В стандартном языке СИ комментарии запрещено вкладывать друг в друга. /* текст-1 /* текст-2 */ текст-3 */ текст-3 не считается комментарием. Лексема – единица текста программы, которая при компиляции воспринимается как единое целое и по смыслу не может быть разделена на более мелкие элементы. В языке СИ 6 классов лексем: свободно выбираемые и используемые идентификаторы, служебные (ключевые) слова, константы, строки (строковые константы), операции (знаки операций), разделители (знаки пунктуации). Идентификатором переменной может быть любая последовательность латинских букв, цифр и знака подчеркивания, которое начинается с буквы или знака подчеркивания. Пробелы в идентификаторах не допускаются. X D8 d8 G_ALT GAMMA128 _X. Прописные и строчные буквы различаются. Идентификаторы могут иметь любую длину, но компилятор учитывает не более 31 символа. В качестве идентификаторов нельзя использовать служебные (ключевые) слова и стандартные имена языка (sin, printf и т.д.). Идентификаторы, зарезервированные в языке, т.е. такие, которые нельзя использовать в качестве свободно выбираемых программистом имен, называют служебными словами. Служебные слова определяют типы данных, классы памяти, квалификаторы типа, модификаторы, псевдопеременные и операторы. В стандарте языка определены следующие служебные слова:
По смысловой нагрузке служебные слова группируются следующим образом: Для обозначения типов данных используются спецификаторы типов и квалификаторы типов. К спецификаторам типов относятся: char - символьный; double - вещественный двойной точности с плавающей точкой; enum - перечисляемый тип (перечисление) - определение целочисленных констант, для каждой из которых вводятся имя и значение; float - вещественный с плавающей точкой; 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 - операция определения размера операнда (в байтах). Добавим еще одно соглашение, обычно соблюдаемое авторами компиляторов и стандартных библиотек языка Си. Идентификаторы, начинающиеся с одного или двух символов подчеркивания "_", зарезервированы для использования в библиотеках и компиляторах. Поэтому такие идентификаторы не рекомендуется выбирать в качестве имен в прикладной программе на языке Си. Следующее соглашение относительно имен относится уже не к стандарту и не к реализациям, а отображает стиль оформления текста программы. Рекомендуется при программировании имена констант записывать целиком заглавными буквами. Стандартные математические функции (файл math.h):
В библиотеке определен также ряд констант, таких как M_PI (число π), M_E (основание натурального логарифма e) и др.
Дата добавления: 2014-12-16; Просмотров: 1326; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |