
- •1. Модель компьютера для программиста
- •2.Программное обеспечение. Компиляторы и интерпретаторы
- •3. Создание программ. Жизненный цикл программного обеспечения.
- •4. Транслятор и компоновщик. Библиотека языка Си.
- •5. Базовые элементы языка Си. Алфавит и словарь языка.
- •6. Правила образования идентификаторов. Ключевые слова и имена. Символы операций и разделителей.
- •7. Литералы. Структура предложений в Си.
- •9.Константы и переменные в Си
- •10. Типы данных и их роль в языке Си
- •11. Стандартные скалярные типы данных
- •11.Массивы
- •Структуры
- •14 .Арифметические выражения и операции
- •15. Выражение
- •16. Выражения присваивания.
- •17. Условные и логические операции.
- •18. Выражения с указателями
- •19. Постфиксное выражение
- •21.Приоритет операций и скобочная структура выражений
- •22. Структура программы на Си
- •23. Базовые операторы языка Си
- •24. Условные операторы языка Си.
- •25. Оператор Switch . Организация множественного выбора.
- •26. Оператор return
- •27. Операторы цикла
- •28. Оператор continue как средство управления циклом
- •30. Указатели
- •31. Массивы. Синтаксис объявления.
- •32. Основные свойства массивов
- •Массив и константный указатель
- •34. Символьная строка и массив символов
- •37. Многомерный массив
- •38. Многомерные массивы и указатели
- •39. Директива процессора #define
- •40. Директива #include
- •43. Вызовы функций
- •44. Массивы и параметры
- •48. Объявление функции
- •50 Преобразование основных типов.
- •51. Тип функции
- •52. Стандартные функции библиотеки Си
5. Базовые элементы языка Си. Алфавит и словарь языка.
Программа на С формируется с помощью конечного набора знаков, образующих алфавит языка, и состоит из букв, цифр и специальных символов. Алфавит (или множество литер) языка программирования C++ основывается на множестве символов таблицы кодов ASCII. Алфавит C++ включает:
•строчные и прописные буквы латинского алфавита (мы их будем называть буквами),
•цифры от 0 до 9 (назовём их буквами-цифрами),
•символ '_' (подчерк - также считается буквой),
• набор специальных символов: " { } , | [ ] + - % / \ ; ' : ? < > = ! & # ~ ^ . *
• прочие символы.
Комбинации специальных символов образуют составные символы:
<< поразрядный сдвиг влево >> поразрядный сдвиг = =тождественно равно <= меньше или равно
>= больше или равно != не равно && И || ИЛИ ? : операция условия
Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями и несущие определенный смысл в программе. Алфавит C++ служит для построения слов, которые в C++ называются лексемами. Различают пять типов лексем: идентификаторы, ключевые слова, знаки (символы) операций, литералы, разделители.
Почти все типы лексем (кроме ключевых слов и идентификаторов) имеют собственные правила словообразования, включая собственные подмножества алфавита. Лексемы разделяются разделителями. Этой же цели служит множество пробельных символов, к числу которых относятся пробел, символы горизонтальной и вертикальной табуляции, символ новой строки, перевода формата и комментарии.
Слова разделяются на зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя. Зарезервированные слова являются составной частью языка, имеют фиксированное начертание и раз и навсегда определенный смысл. Стандартные идентификаторы служат для обозначения заранее определенных разработчиками языка типов данных, констант и функций.
Идентификаторы пользователя применяются для обозначения констант, переменных , функций и т.д. определенных программистом. Правильно выбранные идентификаторы значительно облегчают чтение и понимание программы, а также позволяют избежать появление ошибок при модификации программ
6. Правила образования идентификаторов. Ключевые слова и имена. Символы операций и разделителей.
Правила написания идентификаторов в С
1Первым символом должна быть буква или знак подчеркивания
2Идентификатор может состоять только из букв, цифр или знака подчеркивания.
3Максимальная длина идентификатора 32 символа
4Все идентификаторы регистро чувствительны
5Идентификаторы разделяются хотя бы одним пробелом
6Зарезервированные слова не могут использоваться в качестве идентификаторов.
При написании идентификаторов можно использовать как прописные так и строчные буквы, однако между ними существует существенная разница для транслятора (идентификаторы регистро чувствительны).
Ключевые слова и имена
Часть идентификаторов C++ входит в фиксированный словарь ключевых слов. Эти идентификаторы образуют подмножество ключевых слов (они так и называются ключевыми словами). Прочие идентификаторы после специального объявления становятся именами. Имена служат для обозначения переменных, типов данных, функций и меток. Обо всём этом позже. Список ключевых слов: asm auto break case catch char class const continue default do double else enum extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch template this throw try typedef typeid union unsigned virtual void volatile while.
Символы операций и разделителей
Множество лексем, соответствующее множеству символов операций и разделителей строится на основе набора специальных символов и букв(!) алфавита. Единственное правило словообразования для этих категорий лексем заключается в задании фиксированного множества символов операций и разделителей.
Слеующие последовательности специальных символов и букв алфавита образуют множество символов операций (часть из них в зависимости от контекста может быть использована в качестве разделителей):напишите сами
Кроме того, к числу разделителей относятся следующие последовательности специальных символов:
... ; {}