Студопедия

КАТЕГОРИИ:


Архитектура-(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 и т.д.).

Идентификаторы, зарезервированные в языке, т.е. такие, которые нельзя использовать в качестве свободно выбираемых программистом имен, называют служебными словами. Служебные слова определяют типы данных, классы памяти, квалификаторы типа, модификаторы, псевдопеременные и операторы. В стандарте языка определены следующие служебные слова:

 

auto break case char const continue default do
double else enum extern float for goto if
int long register return short signet sizeof Static
struct switch typedef union unsigned void volatile Wile

По смысловой нагрузке служебные слова группируются следующим образом:

Для обозначения типов данных используются спецификаторы типов и квалификаторы типов.

К спецификаторам типов относятся:

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):

Функция Краткое описание
abs нахождение абсолютного значения выражения типа int
acos вычисление арккосинуса. Аргументы этой и других тригонометрических функций задаются в радианах
asin вычисление арксинуса
atan вычисление арктангенса х
atan2 вычисление арктангенса от у/х
cabs нахождение абсолютного значения комплексного числа
ceil нахождение наименьшего целого, большего или равного х
_clear87 получение значения и инициализация слова состояния сопроцессора и библиотеки арифметики с плавающей точкой
_control87 получение старого значения слова состояния для функций арифметики с плавающей точкой и установка нового состояния
cos вычисление косинуса
cosh вычисление гиперболического косинуса
exp вычисление экспоненты
fabs нахождение абсолютного значения типа double
floor нахождение наибольшего целого, меньшего или равного х
fmod нахождение остатка от деления х/у
_fpreset повторная инициализация пакета плавающей арифметики
frexp вычисляет для х вещественную мантиссу m и целое n так, что x=m*2n
hypot вычисление гипотенузы
labs нахождение абсолютного значения типа long
ldexp вычисление х*2e
log вычисление натурального логарифма
log10 вычисление логарифма по основанию 10
matherr управление реакцией на ошибки при выполнении функций математической библиотеки
modf разложение х на дробную и целую часть
pow вычисление х в степени у
sin вычисление синуса
sinh вычисление гиперболического синуса
sqrt нахождение квадратного корня
_status87 получение значения слова состояния с плавающей точкой
tan вычисление тангенса
tanh вычисление гиперболического тангенса

В библиотеке определен также ряд констант, таких как M_PI (число π), M_E (основание натурального логарифма e) и др.

 




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 1291; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.