- •1. Лексические основы языка Си. Константы и модификаторы3. Выражения
- •2. Структура программы на языке Си. Функция main.
- •3. Функции. Структура функций. Разновидности. Особенности использования.
- •4. Типы данных. Классификация типов.
- •5. Базовые типы данных. Определение имени типа. Перечисление.
- •6. Представление данных в памяти компьютера.
- •7. Явное / Неявное преобразование типов. Абстрактный описатель.
- •8. Операторы. Классификация операторов. Приоритеты операторов и порядок их выполнения.
- •9. Инструкции языка Си, их классификация. Простые инструкции.
- •10. Инструкции языка Си, их классификация. Составные инструкции.
- •11. Производные типы данных. Статические массивы. Особенности использования массивов в функциях.
- •Статические массивы
- •12. Динамические массивы. Особенности обработки динамических массивов.
- •13. Производные типы данных. Указатели. Особенности использования. Адресная арифметика.
- •14. Операции над указателями. Указатели и модели памяти. Модификаторы.
- •15. Массивы и указатели. Передача и возврат параметров в функцию.
- •16. Указатели на функции. Особенности использования.
- •17. Указатели на указатели. Косвенная адресация. Многоуровневые ссылки.
- •18. Динамические структуры данных. Списки. Особенности использования.
- •19. Строки. Операции над строками. Указатели на строки.
- •20. Структурные типы данных: структуры. Особенности использования.
- •21. Структуры и объединения. Особенности использования.
- •22. Структуры. Массивы структур. Передача массивов структур в функции.
- •23. Указатели и структуры. Передача структур по указателю.
- •24. Структура битовых полей. Особенности использования.
- •25. Основы файловой системы: файл, каталог, дисковод, полное имя файла, внутреннее представление информации в файле. Типы файлов.
- •26. Файлы. Особенности обработки файлов последовательного доступа.
- •27. Файлы. Особенности обработки файлов произвольного доступа.
- •28. Память. Классы памяти. Модификаторы классов памяти. Область видимости, время жизни и место размещения объекта в памяти.
- •29. Передача параметров в функцию main. Аргументы командной строки. Директивы препроцессора.
- •30. Функции с переменным списком параметров. Механизмы передачи параметров в функции с переменным списком параметров.
- •Void va_start(arg_ptr,prav_param);
- •Va_list arg_ptr;
- •31. Перегрузка функций. Встроенные функции.
- •32. Передача в функции аргументов по умолчанию.
- •33. Шаблоны функций. Особенности и использования.
- •1. Достоинства, отличительные особенности и сравнительная характеристика языка программирования Си.
- •8. Точка входа в программу.
- •9. Создание файла проекта. Заголовочные файлы и файлы реализации. Законы видимости идентификаторов.
- •Назначение
- •10. Создание файла проекта. Объектные файлы. Раздельная компиляция. Make-файлы.
- •11. Оптимизация кода – алгоритмы, методы и приемы программирования.
- •12. Этапы сборки приложения с использованием компилятора gcc в среде разработки Linux / qt Creator.
- •13. Особенности сборки программы в среде разработки qt-Creator.
- •14. Контроль ошибок в процессе сборки программы: ошибки сборки, ошибки компиляции, утечки памяти, выход за границы,…
- •Пример использования
- •15. Интеграция программ. Использование ассемблерных вставок, вставок для мк. Си-код для гаджетов.
- •16. Особенности использования, преимущества и недостатки кроссплатформенной среды разработки qt creator.
- •17. Особенности использования, преимущества и недостатки компилятора gcc.
- •18. Основные принципы и подходы технологии событийного программирования.
- •19. Особенности среды визуального программир
- •Модель программирования Windows Forms
- •Приложение "Hello World" с Windows Forms
- •20.Управляемый код и данные. Особенности создания приложений в среде Framework .Net - единый каркас среды разработки
- •__Gc arrays
- •__Value
- •Интерфейсы
8. Операторы. Классификация операторов. Приоритеты операторов и порядок их выполнения.
Оператор – конструкция, которая вызывает выполнение действия. Знак оператора - это символ или группа символов, которые сообщают компилятору о необходимости выполнения определенных арифметических, логических или других действий.
Приоритеты и значения:
Таблица 4.4. Приоритеты операций (снизу вверх)
Оператор |
Значение |
Использование |
:: |
Глобальная область видимости |
::name |
:: |
Область видимости класса |
class::name |
:: |
Область видимости пространства имен |
namespace::name |
. |
Доступ к члену |
object.member |
-> |
Доступ к члену по указателю |
pointer->member |
[] |
Взятие индекса |
variable[expr] |
() |
Вызов функции |
name(expr_list) |
() |
Построение значения |
type(expr_list) |
++ |
постфиксный инкремент |
lvalue++ |
-- |
постфиксный декремент |
lvalue-- |
typeid |
идентификатор типа |
typeid(type) |
typeid |
идентификатор типа выражения |
typeid(expr) |
|
преобразование типа |
const_cast<type>(expr) |
|
преобразование типа |
dynamic_cast<type>(expr) |
reinterpret_cast |
приведение типа |
reinterpret_cast<type> (expr) |
static_cast |
приведение типа |
static_cast<type>(expr) |
sizeof |
размер объекта |
sizeof expr |
sizeof |
размер типа |
sizeof( type) |
++ |
префиксный инкремент |
++lvalue |
-- |
префиксный декремент |
--lvalue |
~ |
побитовое НЕ |
~expr |
! |
логическое НЕ |
!expr |
- |
унарный минус |
-expr |
+ |
унарный плюс |
+expr |
* |
разыменование |
*expr |
& |
адрес |
&expr |
() |
приведение типа |
(type)expr |
new |
выделение памяти |
new type |
new |
выделение памяти и инициализация |
new type(exprlist) |
new |
Выделение памяти под массив |
все формы |
delete |
освобождение памяти |
все формы |
delete |
освобождение памяти из-под массива |
все формы |
->* |
доступ к члену классу по указателю |
pointer-> *pointer_to_member |
.* |
доступ к члену класса по указателю |
object.*pointer_to_member |
* |
Умножение |
expr * expr |
/ |
Деление |
expr / expr |
% |
деление по модулю |
expr % expr |
+ |
сложение |
expr + expr |
- |
вычитание |
expr - expr |
<< |
сдвиг влево |
expr << expr |
>> |
сдвиг вправо |
expr >> expr |
< |
меньше |
expr < expr |
<= |
меньше или равно |
expr <= expr |
> |
больше |
expr > expr |
>= |
больше или равно |
expr >= expr |
== |
равно |
expr == expr |
!= |
не равно |
expr != expr |
& |
побитовое И |
expr & expr |
^ |
побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ |
expr ^ expr |
| |
побитовое ИЛИ |
expr | expr |
&& |
логическое И |
expr && expr |
|| |
логическое ИЛИ |
expr || expr |
?: |
условный оператор |
expr ? expr * expr |
= |
присваивание |
l-значение = expr |
=, *=, /=, %=, +=, -=, <<=, >>=, &=, |=, ^= |
составное присваивание |
l-значение += expr и т.д. |
throw |
возбуждение исключения |
throw expr |
, |
запятая |
expr, expr |
