Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ЭУМКД КИТ-ч1-Бутов.docx
Скачиваний:
9
Добавлен:
05.05.2019
Размер:
262.85 Кб
Скачать

Алфавит языка

Алфавит языка С включает в себя:

  1. прописные и строчные латинские буквы, а также символ подчеркивания, который используется наряду с буквами;

  2. арабские цифры от 0 до 9;

  3. специальные символы, например +, *, {, & и др. (фактически используются все специальные символы на клавиатуре персонального компьютера за исключением @ и $);

  4. пробельные символы (пробел, табуляция);

  5. символ перехода на новую строку.

Лексемы

Из символов алфавита формируются лексемы языка, которые подразделяются на:

  1. идентификаторы;

  2. ключевые (зарезервированные) слова;

  3. знаки операций;

  4. константы;

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

Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.

Идентификаторы

Идентификатор – это имя программного объекта. Идентификаторы в программах служат той же цели что и имена в мире людей, – чтобы обращаться к программным объектам и различать их. В идентификаторе могут использоваться латинские буквы, цифры и символ подчеркивания. Первым символом идентификатора может быть буква или символ подчеркивания, но не цифра. Прописные и строчные буквы различаются, например, system, System и SYSTEM – три различных имени. Пробелы внутри имен не допускаются. Для улучшения читаемости программы следует давать ее объектам осмысленные имена. Понятные и согласованные между собой имена – основа хорошего стиля программирования. Например:

a = b * c; // это неудачный выбор имен переменных

Cost = Price * Quantitty; //или Stoi = Cena * Kol;

Ключевые слова

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

auto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for signed void

default goto sizeof volatile

do if static while

Знаки операций

Знак операции – это один или более символов, определяющих некоторое конкретное действие над данными (или, как их еще называют, операндами). Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Внутри знака операции пробелы не допускаются. Один и тот же знак операции может интерпретироваться по-разному в зависимости от контекста.

Рассмотрим наиболее распространенные операции: +, -, *, /. Из них две последние операции являются бинарными, а две первые – могут быть как бинарными, так и унарными, например:

a = -5;

a = b – 5;

Константы

Константами называются неизменяемые величины. Различают целые, вещественные, символьные и строковые константы. Компилятор, выделив константу в качестве лексемы, относит ее к одному из названных типов. Константы записываются следующим образом.

Целая десятичная константа есть последовательность десятичных цифр, начинающаяся не с нуля, если только это не число ноль. Например:

1

93

1372

Целая восьмеричная константа начинается нулем, за которым следуют восьмеричные цифры 0,1,…,7. Цифры 8 и 9 недопустимы. Например (для тех же чисел):

01

0135

02534

Целая шестнадцатиричная константа начинается парой символов 0x или 0X, за которыми следуют шестнадцатиричные цифры 0,1,…,9,A,B,C,D,E,F. Например (для тех же чисел):

0x1

0x5D

0x55C

Вещественные константы записываются только в десятичной системе счисления и имеют две формы представления.

1) Вещественная константа с фиксированной точкой содержит две части – целую и дробную, которые разделяются точкой. Если какая-либо из частей равна нулю, ее можно опустить (но не обе сразу), например:

5.7

.001

357.

9.0

0. или .0 или 0.0

2) Вещественная константа с плавающей точкой (экспоненциальный формат) представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (E или e), порядок – справа от этого знака. Значение константы определяется как произведение мантиссы и числа 10, возведенного в указанную в порядке степень. Пробелы внутри числа не допускаются, а для отделения целой части мантиссы от дробной используется точка. Например:

1.3Е2 = 1.3 × 102 = 130

.11е-3 = 0.11 × 10-3 = 0.00011

5Е10 = 5 × 1010 = 50000000000

Символьная константа представляет собой символ, заключенный в апострофы или два заключенных в апострофы символа, первый из которых есть обратная косая черта, например: ‘A’, ‘ю’, ‘#’, ‘+’, ‘\n’, ‘\t’. Символ обратной косой черты используется:

  1. для представления кодов, не имеющих графического изображения, например:

\a – звуковой сигнал,

\b – возврат на шаг,

\f – перевод страницы,

\n – перевод курсора в начало следующей строки,

\r – возврат каретки,

\t – горизонтальная табуляция,

\v – вертикальная табуляция;

  1. для представления символов: обратной косой черты (\), апострофа (‘), кавычки (“), знака вопроса (?). При этом записи ‘\’ и ‘’’ недопустимы и должны быть записаны как ‘\\’ и ‘\’’.

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

‘\112’ (то же, что и ‘G’)

‘\7’ (то же, что и ‘\a’ - звуковой сигнал)

Шестнадцатиричный код задается одной или двумя шестнадцатиричными цифрами, снабженными префиксом x, например:

‘\xF5’ (то же, что и ‘G’)

‘\x7’ (звуковой сигнал)

Поскольку символьная константа есть число, то вполне допустимым будет оператор:

x = 10 + ‘A’; //соответствует: x = 10 + 65;

Строковая или текстовая константа есть последовательность символов, заключенная в кавычки, например:

“Мы изучаем язык С”

“\tЗначение x = 100\n”

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

“Издательский дом \”Питер \“”

В конец каждой строковой константы компилятором добавляется не имеющий графического изображения так называемый нуль-символ, представляемый парой символов \0. Поэтому длина строковой константы всегда на единицу больше количества символов в ее записи. Таким образом, пустая строка “” на самом деле имеет длину 1. Если сравнить строковую константу из одного символа, например “A”, и символьную константу ‘A’, то они имеют разную длину (соответственно 2 и 1). В отличие от пустой строки, пустая символьная константа (т.е. ‘’) недопустима.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]