Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Предельные значения н типы арифметических констант.Стр 1 из 7Следующая ⇒
ЯЗЫК СИ Глава 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) и др.
Константы и строки
По определению, константа представляет значение, которое не может быть изменено. Синтаксис языка определяет пять типов констант: символы, константы перечисляемого типа, вещественные числа, целые числа и нулевой указатель ("null-указатель"). Все константы, кроме нулевого указателя, отнесены в языке Си к арифметическим. Символы, или символьные константы. Для изображения отдельных знаков, имеющих индивидуальные внутренние коды, используются символьные константы. Каждая символьная константа - это лексема, которая состоит из изображения символа и ограничивающих апострофов. Например: 'А', 'а', 'В' ,'8', '0','+', ';' и т.д. Внутри апострофов можно записать любой символ, изображаемый на дисплее или принтере в текстовом режиме. Однако в ЭВМ используются и коды, не имеющие графического представления на экране дисплея, клавиатуре или принтере. Примерами таких кодов служит код перехода курсора дисплея на новую строку или код возврата каретки (возврат курсора к началу текущей строки). Для изображения в программе соответствующих символьных констант используются комбинации из нескольких символов, имеющих графическое представление. Каждая такая комбинация начинается с символа ‘\’ (обратная косая черта - backslash). Такие наборы литер, начинающиеся с символа ‘\’, в литературе по языку Си называют управляющими последовательностями. Ниже приводится их список: '\n'- перевод строки; '\t' - горизонтальная табуляция; '\r' - возврат каретки (курсора) к началу строки; '\\' - обратная косая черта \; '\n''- апостроф (одиночная кавычка); '\'" - кавычка (символ двойной кавычки); '\0'-нулевой символ; '\а' - сигнал-звонок; '\b'- возврат на одну позицию (на один символ); '\f' - перевод (прогон) страницы; '\v'- вертикальная табуляция; '\?' - знак вопроса. Целые константы.Синтаксисом языка определены целые константы: десятичные, шестнадцатеричные и восьмеричные. Основание определяется префиксом в записи константы. Для десятичных констант префикс не используется. Десятичные целые определены как последовательности десятичных цифр, начинающиеся не с нуля (если это не число нуль): 44 684 0 1024 Каждая конкретная реализация языка вводит свои ограничения на предельные значения констант. Например, компилятор Turbo С в отношении целых констант соответствует стандарту и допускает целые десятичные от 0 до 32767, а длинные целые - от 0 до 2147483647. Вещественные константы.Для представления вещественных (нецелых) чисел используются константы, представляемые в памяти ЭВМ в форме с плавающей точкой. Каждая вещественная константа состоит из следующих частей: целая часть (десятичная целая константа); десятичная точка; дробная часть (десятичная целая константа); признак показателя "е" или "E"; показатель десятичной степени (десятичная целая константа, возможно, со знаком). При записи констант с плавающей точкой могут опускаться целая или дробная часть (но не одновременно); десятичная точка или символ экспоненты с показателем степени (но не одновременно). Примеры констант с плавающей точкой: 44. 3.14159 44еО .314159Е1 0.0 Предельные значения н типы арифметических констант. Символьных константs должны находиться в диапазоне от 0 до 255. Для целых и вещественных констант каждая реализация компилятора с языка Си может определять свои ограничения. В табл. 1.1 приведены пределы, исходя из которых компиляторы, реализованные на IBM-совместимых ПЭВМ, выбирают типы целых констант. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 210. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |