- •1) Базовые элементы языка с. Алфавит и словарь языка (в1б1, в3б3)
- •2) Основные типы данных. Классификация их типов. Модификация базовых типов. (в1б2, в3б17)
- •3) Константы (в1б3, в3б2)
- •4) Переменные (в1б4, в3б16)
- •5) Структура с-программы. Понятие локальных и глобальных переменных. Функция main(). Директивы препроцессора (# include и #define). Комментарии. (в1б5, в3б1)
- •6) Операции языка с. Арифметические, логические операции. Поразрядные операции. (в1б6, в3б15)
- •7. Операции языка с. Операция присваивания и отношения. Операция определения размера. Оператор последовательного вычисления. (в1б7, в2б30)
- •8. Операции языка с. Условная операция. Операция (), операция []. (в1б8, в3б14)
- •9) Приоритет операций и порядок вычислений (в1б9, в2б29)
- •10) Основные сведения о вводе-выводе. (в1б10, в3б13)
- •11) Ввод-вывод символов (в1б11, в2б28)
- •12) Форматированный ввод-вывод. Модификаторы формата. Спецификаторы преобразования. Подавление ввода. (в3б12, в1б12)
- •13) Операторы языка с. Условные операторы (if, switch). (в1б13, в2б27)
- •14) Операторы цикла (while, for, do while )(в1б14, в3б11)
- •15) Операторы безусловного перехода ( break, continue, go to, return) (в1б15, в2б26)
- •16) Одномерные массивы. (в1б16, в3б10)
- •17) Строковый литерал. Чтение и запись строк. (в1б17, в2б25)
- •18)Двухмерные массивы. Массивы строк (в1б18, в3б9)
- •19) Инициализация массива. (в1б19, в2б24)
- •20) Способы доступа к элементом массива. (в1б20, в3б8)
- •22) Указательные переменные. Операции получения адреса (&) и раскрытие ссылка (*) (в1б22, в3б7)
- •23) Указательные выражения. Адресная арифметика. (в1б23, в2б22)
- •24) Связь массивов и указателей (в1б24,в3б6)
- •25) Функции динамического распределения памяти (в1б25, в2б21)
- •26) Динамическое выделение памяти для массивов. (в1б26, в3б5)
- •27) Функции. Определения функций. Оператор return.( в1б27, в3б20)
- •28) Функции. Прототипы функции. (в1б28, в3б4)
- •29) Функции. Вызов функций: вызов по значению и по ссылке. (в1б29, в2б19)
- •30) Передача массива в функцию. (в1б30, в3б27)
- •31) Классы памяти. Область видимости. (в2б1, в3б28)
- •32) Аргумент функции main(): argv и argc (в2б2, в3б26)
- •33) Рекурсия. (в2б3, в3б29)
- •34) Вызов библиотечных функций(в2б4, в3б25)
- •35) Директива препроцессора #define: создание макрофункций с помощью директивы #define (в2б5, в3б30)
- •36) Директивы условной компиляции #if, #else, #elif, #endif, #ifdef, #ifndef (в2б6, в3б24)
- •37) Понятие структуры. Доступ к членом структуры (в2б7)
- •38) Присваивание структур (в2б8, в3б23)
- •39) Массивы структуры(в2б9)
- •40) Передача членов структур функциям. Передача целых структур функциям. (в2б10, в3б22)
- •41) Указатели на структуры. Средство typedef (в2б11)
- •42) Понятие объединение и перечисления. Битовые поля. (в2б12,в3б21)
- •44) Методы поиска: последовательный и двоичный поиск. (в2б14, в3б20)
- •45) Основы файловой системы. Стандартные потоки. Указатель файла. Открытые файлы. Закрытые файлы. (в2б15)
- •46) Форматированный ввод-вывод в файл (в2б16, в2б17, в3б19)
- •48) Понятие очереди, стеков, связанных списков и деревьев. (в2б12, в3б18)
1) Базовые элементы языка с. Алфавит и словарь языка (в1б1, в3б3)
Множество символов, используемых в языке С, можно разделить на пять групп.
1. Символы, используемые для образования ключевых слов и идентификаторов (входят прописные и строчные буквы английского алфавита, а также символ подчеркивания). Следует отметить, что одинаковые прописные и строчные буквы считаются различными символами, так как имеют различные коды.
2. Группа прописных и строчных букв русского алфавита и арабские цифры
3. Знаки нумерации и специальные символы (таблица 3). Эти символы используются с одной стороны для организации процесса вычислений, а с другой - для передачи компилятору определенного набора инструкций.
4. Управляющие и разделительные символы. К той группе символов относятся: пробел, символы табуляции, перевода строки, возврата каретки, новая страница и новая строка. Эти символы отделяют друг от друга объекты, определяемые пользователем, к которым относятся константы и идентификаторы. Последовательность разделительных символов рассматривается компилятором как один символ (последовательность пробелов).
5. Кроме выделенных групп символов в языке С широко используются так называемые, управляющие последовательности, т.е. специальные символьные комбинации, используемые в функциях ввода и вывода информации. Управляющая последовательность строится на основе использования обратной дробной черты (\) (обязательный первый символ) и комбинацией латинских букв и цифр Последовательности вида \ddd и \xddd (здесь d обозначает цифру) позволяет представить символ из набора кодов ПЭВМ как последовательность восьмеричных или шестнадцатеричных цифр соответственно. Следует отметить, что в строковых константах всегда обязательно задавать все три цифры в управляющей последовательности.
Отметим тот факт, что если обратная дробная черта предшествует символу, не являющемуся управляющей
последовательностью (т.е. не включенному в табл.4) и не являющемуся цифрой, то эта черта
игнорируется, а сам символ представляется как литеральный.
Кроме определения управляющей последовательности, символ обратной дробной черты (\) используется
также как символ продолжения. Если за (\) следует (\n), то оба символа игнорируются, а следующая
строка является продолжением предыдущей. Это свойство может быть использовано для записи длинных
строк.
Из символов алфавита формир-ся лексемы языка (слова) – min-ые значимые ед-цы текста в программе: ID, ключевые слова, знаки операций, константы, разделители (скобки, точка, запятая,)
Идентификаторы и ключевые слова Идентификатором (ID) называется последовательность цифр и букв, а также специальных символов, при условии, что первой стоит буква или специальный символ. Для образования идентификаторов могут быть использованы строчные или прописные буквы латинского алфавита. В качестве специального
символа может использоваться символ подчеркивание (_). Два идентификатора, для образования которых
используются совпадающие строчные и прописные буквы, считаются различными. Например: abc, ABC,
A128B, a128b .
Важной особенностью является то, что компилятор допускает любое количество символов в
идентификаторе, хотя значимыми являются первые 31 символ. Идентификатор создается на этапе
объявления переменной, функции, структуры и т.п. после этого его можно использовать в
последующих операторах разрабатываемой программы. Следует отметить важные особенности при выборе идентификатора.
Во-первых, ID не должен совпадать с ключевыми словами, с зарезервированными словами и именами функций библиотеки компилятора языка С. Во-вторых, следует обратить особое внимание на использование символа (_) подчеркивание в качестве первого символа идентификатора, поскольку идентификаторы, построенные таким образом, что, с одной стороны, могут совпадать с именами системных функций и (или) переменных, а с другой стороны, при использовании таких идентификаторов программы могут оказаться непереносимыми, т.е. их нельзя
использовать на компьютерах других типов.
В-третьих, ID переменной обычно пишется строчной буквой, ID константы – прописными. Если ID состоит из нескольких слов, то принято либо разделять слова символом (_) подчеркив-я, либо писать каждое слово с большой буквы.
Ключевые слова - это зарезервированные идентификаторы, которые наделены определенным смыслом. Их можно использовать только в соответствии со значением известным компилятору языка С. Приведем список ключевых слов
auto double int struct break else long switch register tupedef char extern return void case float unsigned default for signed union do if sizeof volatile continue enum short while
Кроме того зарезервированными словами являются :
_asm, fortran, near, far, cdecl, huge, paskal, interrupt .
Ключевые слова far, huge, near позволяют определить размеры указателей на области памяти. Ключевые слова _asm, cdelc, fortran, pascal служат для организации связи с функциями, написанными на других языках, а также для использования команд языка ассемблера непосредственно в теле разрабатываемой программы на языке С.
Ключевые слова не м/ б использованы в качестве ID.
Константы и переменные