Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Электонный конспект.doc
Скачиваний:
8
Добавлен:
13.11.2019
Размер:
746 Кб
Скачать
☆

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

Алфавитом языка называется совокупность символов, используемых в языке.

В алфавит языка Си входят:

  • прописные и строчные буквы латинского алфавита (A,B,C,...,Z,a,b,c,...,z)

  • цифры (0,1,2,3,4,5,6,7,8,9)

  • специальные знаки " ' {} [] () | + - * / % \ ; . , : ? < > _ ! & # ~ ^

- неизображаемые символы ("обобщенные пробельные символы"), такие как пробел, табуляция, переход на новую строку.

Лексемы (cTokens)

Из символов алфавита формируются лексемы. В программах на языке Си базовые элементы, опознаваемые компилятором, называются лексемами (английский термин - "token).". В их состав входят:

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

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

- управляющие последовательности;

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

- константы;

- комментарии;

- разделители (скобки, точка, запятая, пробельные символы).

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

Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Список ключевых слов C++ приведен в табл. 1.1.

Таблица 1.1. Список ключевых слов C++

asm

else

new

this

auto

enum

operator

throw

bool

explicit

- private

true

break

export

protected

try

case

extern

public

typedef

catch

false

register

typeid

char

float

reinterpretcast

typename

class

for

return

union

const

friend

short

unsigned

cohstcast

goto

signed

using

continue

if

sizeof

virtual

default

inline

static

void

delete

int

staticcast

volatile

do

long

struct

wchart

double

mutable

switch

while

dynamiccast

namespace

template

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

Спецификаторы типов:

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 пока

Специальные идентификаторы:

default по умолчанию

case вариант

else иначе

sizeof размер

Управляющая последовательность состоит из из обратной дробной черты , за которой следует буква или комбинация цифр

Управляющая последовательность

Наименование

Шестнадцатиричное значение

\a

\b

\t

\n

\v

\f

\r

\”

\’

\\

\ddd

\xddd

Звонок

Возврат на шаг

Горизонтальная табуляция

Новая строка

Вертикальная табуляция

Перевод формата

Возврат каретки

Кавычки

Апостроф

Обратная дробная черта

Символ из набора кодов ПЭВМ в восьмиричном представлении

Символ из набора кодов ПЭВМ в шестнадцатиричном представлении

7

8

9

A

B

C

D

22

27

5C

ddd

Знаки пунктуации и специальные символы используются в программах на языке Си в различных целях, но в основном служат для организации работы транслятора. Они не специфицируют выполняемые операции. Некоторые знаки пунктуации одновременно являются знаками операций. Их конкретное назначение транслятор выявляет по контексту программы.

К знакам пунктуации относятся:

[ ] ( ) { } * , : = ; ... #

Эти символы имеют в Си специальное назначение, которое мы будем раскрывать по мере изучения языка. Заметим здесь лишь, что знак (pound sign (#)) может использоваться только в директивах препроцессора языка Си.

Operators - знаки операций. В качестве знаков операции в языке Си могут выступать:

[ ] ( ) . -> ++ -- & * + - ~ ! sizeof / % << >> < > <= >= == != ^ | && || ? : = *= /= %= += -= <<= >>= &= ^= |= , # ##

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

Идентификаторы - это имена, которые вы используете для переменных, типов, функций и меток вашей программы.

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

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

  2. после первого символа можно использовать любую комбинацию букв и цифр, нельзя использовать не буквенно-цифровые символы вроде # или $

  3. в С имеет значение регистр букв, имена Name и name будут представлять два различных идентификатора

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

Стандарт ANSI разрешает 6 значащих символов для имен внешних идентификаторов и 31 для внутренних. На внешние идентификаторы (объявленные как глобальные или внешние extern) могут налагаться дополнительные ограничения, поскольку они могут быть связаны с иным программным обеспечение, по своему определяющем это понятие.

Существует несколько альтернативных правил именования, но всегда важно то, что имя должно облегчать понимание читаемой программы. Это значит, что имя Square переменной, предназначенной для хранения вычисляемой площади, лучше, чем имя s. Можно давать имена вида AgeInYears, т.е. состоящие из сплошь записанных слов, каждое из которых начинается с прописной буквы. Другой подход - age_in_years - отделение слов символом подчеркивания.