- •1. Общая характеристика языка Си в сравнении с другими процедурными языками.
- •2. Основные типы данных, переменные и константы. Препроцессор языка Си.
- •3.Операции языка Си. Преобразование типов данных
- •4.Ввод-вывод чисел, символов и строк на консоль. Переключение ввода-вывода, работа с файлами.
- •5.Оператор ветвления, многовариантный выбор.
- •6.Операции отношения, логические операции.
- •7.Циклы и другие управляющие средства.
- •8.Функции: аргументы функции, возвращение значений, локальные переменные, нахождение адресов, указатели.
- •9.Классы памяти и область действия. Автоматические переменные. Внешние переменные. Статические переменные. Внешние статические переменные. Регистровые переменные.
- •10.Массивы и указатели. Динамические объекты. Операции с указателями.
- •11.Строковые константы, массивы символьных строк и их инициализация. Указатели и строки, ввод-вывод и обработка строк.
- •12.Определение структурных переменных. Доступ к компонентам структуры.
- •13.Объединения и перечисления. Указатели и структуры. Массив структур.
- •14. Стандартные библиотечные функции языка Си, функция генерации случайных чисел.
- •15.Динамические структуры данных (стек, список, дерево, граф).
- •16.Графический интерфейс пользователя (gui). Типы данных Win32.
- •17.События и сообщения, оконная процедура, оконный класс, цикл обработки сообщений.
- •18.Создание основного окна приложения, изменение характеристик окна.
- •19.Стандартное окно с сообщением и кнопкой «ок». Функции поддержки окон.
- •20.Обработка сообщений от клавиатуры, часто используемые сообщения.
- •21.Органы управления: кнопки, флажки, переключатели. Групповая рамка. Статический орган управления для вывода текста.
- •22.Однострочное и многострочное поле для ввода текста.
- •23.Список, раскрывающийся список, комбинированный список. Файловые операции.
- •24.Создание процесса, создание потока, рабочие функции потока, обмен сообщениями между процессами и потоками.
- •25. Передача данных с помощью сообщений и через файлы, синхронизация процессов и потоков. Создание многопоточного приложения.
- •26.Синхронные и асинхронные сообщения, посылка сообщения из приложения Windows.
- •27.Графический интерфейс устройства (cdi). Контекст устройства. Регионы и отсечение.
- •28.Файловый ввод-вывод данных средствами Win32api, файловые операции.
- •29.Режимы многозадачности, многопоточная архитектура, преимущества Windows.
- •30.Двусвязный список, операции с двусвязным списком, циклические списки.
- •31.Базовый алгоритм численного интегрирования методом прямоугольников.
- •32.Программная реализация численного интегрирования методом прямоугольников.
2. Основные типы данных, переменные и константы. Препроцессор языка Си.
В алфавит языка программирования Си включаются латинские буквы (прописные и строчные), цифры и некоторые специальные знаки: скобки круглые “(“ и “)” , квадратные “[“ и “]” , фигурные “{“ и “}” , восклицательный знак “!”– знак отрицания, “&” – амперсанд (знак логического умножения «И» а также адрес переменной), “|” –вертикальная черта (знак логического сложения «ИЛИ»), “;” – точка с запятой (конец оператора), “,” – запятая, “:” – двоеточие, “%” – процент, “$” – знак доллара, “?” – знак вопроса, “<” и “>” – знаки «меньше» и «больше» , “=” – знак равенства (знак присваивания), “/” и “\” – слэш и бэкслэш, “+” и “–“ – знаки плюс и минус, “*” – звездочка, “^” – карат, “#” – знак номера, апостроф и кавычки, “~” – тильда.
Кроме одиночных символов, в алфавит языка входят пары символов (лексемы): “<=” (меньше или равно), “>=” (больше или равно), “!=” (не равно), “==” – два знака равенства подряд, означающие отношение равенства, “//” – два слэша, означающие однострочный комментарий, “/*” и “*/” – начало и конец многострочного комментария, “&&” и “||” – логические «И» и «ИЛИ». Символы лексем нельзя разделять пробелом, переносом на другую строку, символами табуляции.
Ключевыми (зарезервированными) словами языка являются слова: “for”, “while”, “if”, “else”, “switch”, “case” и другие, рассматриваемые в процессе изучения языка. Их написание однозначно, их нельзя употреблять в качестве идентификаторов (имен) переменных, констант и функций.
Русские буквы (символы кириллицы) в алфавит языка не входят, их допускается использовать только в строках символов
Константа – величина, не меняющаяся в процессе исполнения программы. Переменная – величина, меняющаяся при исполнении программы. Для переменных и констант выделяется оперативная память в соответствии с их типом. Переменные и константы бывают следующих типов: арифметические, символьные, строковые, перечисления, указатели. Специального логического типа в языке Си нет, в этом качестве используются переменные и константы любого целого типа.
Переменные и константы могут быть знаковыми и беззнаковыми, для их различения используют модификаторы signed и unsigned соответственно. Модификатор signed может быть опущен, он подразумевается по умолчанию. Знаковые переменные и константы могут быть как положительными, так и отрицательными, беззнаковые – только неотрицательными. Символьные переменные и константы могут быть односимвольными (тип char) и двухсимвольными (тип int). Символьные константы заключаются в апострофы, например, ‘d’, ‘bd’.Возможно использование эскейп-последовательностей в символьных константах. Эскейп-последовательность начинается с символа «бэкслэш», например ‘\n’ – переход на новую строку.
Строковые переменные и константы содержат несколько символов. Строковые константы заключаются в кавычки, например, “Мы изучаем язык Си”.
Перечислимые (перечисляемые) константы вводятся с помощью ключевого слова “enum”, например, enum{one=1, two=2, three=3}. Присваивания по умолчанию начинаются с 0 и увеличиваются на 1, например, enum{zero, one, two} означают 0, 1, 2. Возможно задание перечислимого типа, например, enum week{sunday, monday, tuesday, wednesday, thursday, friday, saturday}. Перечислимый тип week (неделя), дни недели начинаются с воскресенья (sunday, значение 0) и заканчиваются субботой (saturday, знач2. Основные типы данных, переменные и константы. Препроцессор языка Си.
