Файл: Pobegaylo_A._C_Cplus_dlya_studenta.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 13.12.2020

Просмотров: 4224

Скачиваний: 28

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Введение 

20 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


background image

  

 

 

ЧАСТЬ

 I 

Язык программирования С 

Глава 1. 

Структура языка С 

Глава 2. 

Встроенные типы данных и переменные 

Глава 3. 

Операторы и выражения 

Глава 4. 

Управляющие инструкции 

Глава 5. 

Указатели и массивы 

Глава 6. 

Функции 

Глава 7. 

Структура программы на языке С 

Глава 8. 

Типы данных, определяемые программистом 

Глава 9. 

Директивы препроцессора 

 

 

 

 

 

 


background image

  

 
 

Г Л А В А  

 
 
 

Структура языка С 

 

1.1. Элементы языка С 

Как  и  любой  другой,  язык  программирования  С  включает  сле-
дующие  элементы:  символы,  слова  и  предложения. 

Символы

 — 

это  базовые  графические  элементы  языка,  из  которых  строятся 
слова. 

Слово

 — это последовательность символов, которая имеет 

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

инструкция

 —  это  после-

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

программой

 на языке С. Программа на языке С 

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

компилятор

 — это такая программа, входными данными 

для  которой  является  программа,  написанная  на  определенном 
языке программирования, а выходными данными — программа в 
кодах команд микропроцессора, которая функционально соответ-
ствует входной программе. Другими словами можно сказать, что 

  

 


background image

Часть I. Язык программирования С 

24 

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

 

лексический анализ; 

 

синтаксический анализ; 

 

генерацию кода. 

 

Рис. 1.1. 

Структурная схема работы компилятора 

На этапе лексического анализа компилятор выделяет те элементы 
языка, из которых строятся предложения (к таким элементам от-
носятся слова и символы). При этом символы должны иметь са-
мостоятельное  назначение  и  использоваться  для  специальных 
целей. К таким символам, например, относятся символы для обо-
значения  знаков  препинания  и  операторов.  Элементы  языка  C, 
которые распознаются на этапе лексического анализа, называют-
ся 

лексемами

  (или 

токенами

)  (lexical  elements  или  tokens).  При 

этом  компилятор  проверяет  правильность  написания  слов  язы-
ка С. То есть определяется, состоят ли слова из допустимых сим-
волов языка и правильно ли эти символы используются. 


background image

Глава 1. Структура языка С 

25 

На  этапе  синтаксического  анализа  компилятор  проверяет,  пра-
вильно ли составлены инструкции из лексем. А на этапе генера-
ции кода в соответствие каждой инструкции ставится последова-
тельность кодов команд микропроцессора. Если компилятор мо-
жет выполнять оптимизацию кода, то генератор кода имеет более 
сложную структуру. В этом случае отображение инструкций язы-
ка  программирования  в  коды  команд  микропроцессора  не  такое 
прямолинейное. 

1.2. Символы 

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

 

строчные латинские буквы: 

a ... z

 

прописные латинские буквы: 

A  ...  Z

 

цифры: 

0  1  2  3  4  5  6  7  8  9

 

специальные символы: 

. , : ; ' " # { } [ ] ( ) < > & | ^ ! 

_ + - * / \ % = ? ~ 

 

символ "пробел"; 

 

нулевой символ или "пусто" (NULL). 

Некоторые  из  символов  могут  обозначаться  специальным  об- 
разом: 

 

\?

 — знак вопроса; 

 

\'

 — апостроф; 

 

\" — 

кавычки; 

 

\\

 — обратная косая черта; 

 

\0

 — пусто. 

Кроме того, каждый символ может быть обозначен своим кодом 
в восьмеричной или шестнадцатеричной системе счисления: 

 

\ddd

 — где буквы 

ddd

 обозначают код символа в восьмеричной 

системе счисления; 


Смотрите также файлы