- •2)Этапы изготовления загрузочного модуля.
- •4)Типы данных.
- •5)Описание типов переменных и именованных констант.
- •6) Классы памяти, область действия, область видимости, время жизни переменных
- •7) Уточнение типа константы (литерала).
- •8)Выражения. Арифметические операции, операции отношения.
- •12) Операция явного приведения типа. Правила преобразования операндов при вычислении выражений. Приоритет операций и порядок их выполнения.
- •Int main(){ // или просто main()
- •14) Форматный ввод-вывод. Функции ввода и вывода;
- •15) Управляющая строка: управляющие символьные константы, поясняющий текст, спецификации преобразования (флаги, ширина, точность, модификаторы, типы преобразования).
- •16) Оператор- выражение. Примеры использования.
- •17) Оператор безусловного перехода. Примеры использования.
- •18) Операторы условного перехода: switch. Примеры использования.
- •19) Операторы условного перехода: if. Примеры использования.
- •20) Операторы цикла: while, do while. Примеры использования.
- •21)Операторы цикла: for. Примеры использования
- •22)Внутреннее представление целых данных.
- •23) Внутреннее представление данных с плавающей точкой
- •24) Другие операторы: break, continue, return. Примеры использования
- •25) Понятие указателя. Виды указателей. Их описание
- •26) Специальные операции, связанные с указателями. Стандартные операции, применимые к указателям.
- •27) Инициализация указателей.
- •28) Одномерные массивы. Описание массивов, их инициализация.
- •29) Связь одномерных массивов с указателями. Динамическое выделение памяти для одномерных массивов.
- •30) Одномерные массивы. Описание массивов, их инициализация.
- •31) Связь двумерных массивов с указателями. Динамическое выделение памяти для двумерных массивов.
- •32) Функции пользователя. Прототипы функций (объявление функций). Структура функции пользователя. Вызов функции. Виды функций.
- •33) Функции пользователя. Способы передачи информации между функциями.
- •34) Функции пользователя. Механизм передачи аргументов в функцию. Передача аргументов функции: передача значений, передача адресов. Возврат результатов из функции.
- •35) Соответствие между фактическими и формальными аргументами. Использование указателей в качестве аргументов. Возврат результатов из функции.
- •36) Понятие ссылки, ее описание. Использование ссылок для передачи аргументов в функцию и обратно.
- •37) Виды функций. Функции с переменным числом аргументов.
- •38) Виды функций. Функции с аргументами, заданными по умолчанию. Inline-функции.
- •39) Виды функций. Рекурсивные функции.
- •40) Виды функций. Перегруженные функции.
- •41) Виды функций. Шаблоны функций.
- •Inline - функция
- •42) Передача аргументов функции main(). Возврат из функции main().
- •43) Описание строк и символов. Функции ввода-вывода символов и строк.
- •44) Действия над строками и символами.
- •46.Использование указателей на строки. Выделение памяти под строку и под массив строк.
- •47.Типы данных, задаваемые пользователем. Оператор typedef. Перечислимый тип
- •48.Структурированный тип данных: структуры, их описание, доступ к полям структуры, вложенные структуры, указатель на структуру, массивы структур
- •49.Разновидности структуры: битовые поля, смеси (объединения). Использование их для построения сложных структур.
- •50.Файлы в с. Способы обмена. Файловый тип. Описание файлов.
- •51.Файлы в с. Потоковый обмен: блоковый, форматный.
- •53.Объекты и классы. Описание классов. Объявление объектов.
- •2 Способа вызова:
- •54Указатель this.
- •55.Конструкторы и деструкторы. Их назначение. Виды конструкторов.
- •61) Наследование. Производный класс. Конструкторы и деструкторы производных классов.
- •62) Множественное наследование.
1)Базовые понятия С/С++: символы, лексемы, выражения, инструкции, программа.
языке можно выделить четыре основных элемента: символы, лексемами (элементарные конструкции), выражениями, операторы. Лексемы образуются из символов, выражения — из лексем и символов, а операторы — из символов, выражений и лексем:
• Символы — это основные неделимые знаки, с помощью которых пишутся все тексты на языке.
• Лексема — минимальная единица языка, имеющая самостоятельный смысл.
• Выражение задает правило вычисления некоторого значения.
• Оператор задает законченное описание некоторого действия.
2)Этапы изготовления загрузочного модуля.
Для того чтобы выполнить программу, требуется перевести ее на язык, понятный процессору — в машинные коды. Этот процесс состоит из нескольких этапов.
Сначала программа (расширением .cpp) передается препроцессору, который выполняет директивы, содержащиеся в ее тексте (включение в текст так называемых заголовочных файлов — текстовых файлов, в которых содержатся описания используемых в программе элементов).
Получившийся полный текст (файл с расширением .cpp) программы поступает на вход компилятора, который выделяет лексемы, а затем на основе грамматики языка распознает выражения и операторы, построенные из этих лексем. При этом компилятор выявляет синтаксические ошибки и в случае их отсутствия строит объектный модуль.( создается файл – имя.obj).
Компоновщик, или редактор связей, формирует исполняемый модуль программы, подключая к объектному модулю другие объектные модули, в том числе содержащие функции библиотек, обращение к которым содержится в любой программе (например, для осуществления вывода на экран). Если программа состоит из нескольких исходных файлов, они компилируются по отдельности и объединяются на этапе компоновки.
Исполняемый модуль имеет расширение имя.ехе и запускается на выполнение обычным образом.
3)Лексемы языка С/С++: идентификаторы, ключевые слова, константы (литералы), знаки операций, разделители и комментарии.
Идентификаторы – имя программного объекта. Используются латинские буквы, цифры, знак подчеркивания. Первый символ имени – буква или знак подчеркивания.
Ключевые слова – слова, имеющие специальные значения для компилятора.
Примеры некоторых ключевых слов: asm, class, inline, return, auto, double, int, static, bool, do, new, this, break, enum , operator , try, case, friend, public, typedef
Знаки операций – один или более символов, определяющих действия над операндами. Знаки операций делятся на: унарные, бинарные, терарные
Один и тот же знак может интерпретироваться по-разному, в зависимости от контекста.
Все знаки операций за исключением[],()и?:представляют собой отдельные лексемы.
Константы – неизменяемые величины. Различают целые, вещественные, символьные и строковые константы. Тип константы определяется её записью.
Целая константа В 10-ричном формате константы начинаются не с нуля (8, 10, 0, 7, 15 и т.д.). В 8-ричном формате константа начинается с нуля, далее следуют 8-ричные цифры (01, 07, 0701 и т.д.). В 16-ричном формате константа начинается с 0X (0XA, 0X777, 0X1 и т.д.).
Вещественная константа может быть записана в следующем виде: 2.2 или .01
или в экспоненциальной форме
Записывается в виде:[цифры][.][ цифры]{E|e}[+|-][ цифры]
Примеры записи: 0.2E5 .1e-5 10E5
Символьная константа – один или более символов в апострофах. Примеры:
`A’ `\n’ `\0’ `\0x17’ и др.
Символьные константы, состоящие из одного символа, занимают в памяти один байт и имеют стандартный тип char. Двухсимвольные константы занимают два байта и имеют тип int, при этом первый символ размещается в байте с меньшим адресом.
Разделители – пробелы, точки с запятой, фигурные скобки.В тексте программы можно использовать комментарии. Они выделяются следующим образом:
/*комментарий*/
либо с каждой строки
// комментарий