- •Вопросы к экзамену по дисциплине «программирование технических средств»
- •1 Основные понятия и определения
- •2 В состав базового программного обеспечения входят:
- •3 Программные модули
- •8 Функциональная и модульная декомпозиции
- •9 Операционная система
- •12 В ходе разработки программы должен быть подготовлен следующий графический материал:
- •13 Алфавит языка
- •14 Различают также следующие виды языков программирования:
- •15 Идентификаторы и ключевые слова
- •17 Декларация объектов
- •18 Данные целого типа (int)
- •19 Данные целого типа (int)
- •20 Данные вещественного типа (float, double)
- •21 Преобразование типов (явное и неявное). Приведение типа
- •24 Константы. Целые константы. Константы с плавающей точкой. Символьные константы. Строки.
- •25 Операции, выражения
- •26 Арифметические операции. Аддитивные и мультипликативные операции.
- •28 Условная операция «? :»
- •29 Оператор выбора альтернатив (переключатель)
- •30 Составление циклических алгоритмов. Операторы цикла с предусловием и с постусловием.
- •31 Оператор цикла с предусловием и коррекцией for
- •32 Оператор безусловного перехода goto
- •33 Побитовые логические операции, операции над битами
- •34 Операции сравнения. Логические операции. Унарные операции.
- •35 Операция присваивания. Сокращенная запись операции присваивания.
- •36 Стандартная библиотека языка Си. Математические функции.
- •37 Строки в языке Си. Функции работы со строками.
- •38 Функции ввода информации
- •39 Функции вывода данных
- •40 Управляющая строка функций ввода/вывода.
- •41 Ввод-вывод потоками
- •42 Препроцессор. Директивы #include, #define, #if…
- •43 Одномерные массивы. Инициализация одномерных массивов. Ввод и инициализация массива символов.
- •44 Многомерные массивы
- •45 Структуры. Вложенные структуры
- •46 Массивы структур. Битовые поля
- •47 Объединения. Перечисления
- •48 Указатели. Указатели и адреса объектов. Указатели и массивы.
- •49 Операции с указателями: присваивание адреса, определение значения по адресу, присваивание указателей Операция получения адреса
- •50 Операции с указателями: сложение и вычитание, инкремент и декремент, сравнение указателей
- •51 Работа с динамической памятью. Динамические массивы.
- •52 Операции typedef и sizeof
- •53 Функции. Определение функции, объявление функции и вызов функции. Возвращаемое значение функции.
- •54 Функции. Типы передачи параметров функции (по значению, по адресу, по ссылке).
- •55 Функции. Переменные в качестве параметров функций.
- •56 Функции. Массивы в качестве параметров функций.
- •57 Указатели на функции.
- •58 Перегрузка функций.
- •59 Классы памяти. Области действия объектов
- •60 Работа с файлами. Типы файлов (текстовый и бинарный). Дескриптор файла (“указатель на файл”). Режимы работы с файлами.
- •61 Работа с файлами. Открытие файла в различных режимах и закрытие файла.
- •62 Работа с файлами. Чтение и запись данных в файл. Посимвольный и построчный ввод-вывод
- •63 Работа с файлами. Чтение и запись данных в файл. Блоковый ввод-вывод
- •64 Работа с файлами. Чтение и запись данных в файл. Форматированный ввод-вывод
- •65 Работа с файлами. Указатель текущей позиции в файле, его перемещение к нужной позиции.
- •Заполнение:
- •67 Графический режим. Функции вывода текста, функции управления цветом. (outtext, outtextxy, setbkcolor, setcolor, settextjustify, settextstyle, textheight, textwidth)
- •68 Среды разработки программ для микроконтроллеров. Особенности написания программ для микроконтроллеров и программирования их периферийных устройств.
- •69 Средства записи программ и отладки для микроконтроллеров. Программаторы, симуляторы и внутрисхемные отладчики.
- •70 Интерфейсы программирования и отладки встроенных систем. Интерфейс jtag
28 Условная операция «? :»
Условная операция - тернарная, в ней участвуют три операнда. Фор-
мат написания условной операции: выражение 1 ? выражение 2 : выражение 3; если выражение 1 отлично от нуля (истинно), то результатом операции является выражение 2, в противном случае - выражение 3; каждый раз вычисляется только одно из выражений 2 или 3. Для нахождения максимального значения из а и b (значение z) можно использовать оператор if : if (a > b) z=a; else z=b; Используя условную операцию, этот пример можно записать как z = (a>b) ? a : b; Условную операцию можно использовать так же, как и любое другое выражение. Если выражения 2 и 3 имеют разные типы, то тип результата определяется по общим правилам.
29 Оператор выбора альтернатив (переключатель)
Общий вид оператора:
switch (выражение) {
case константа 1: оператор 1; break;
case константа 2: оператор 2; break;
...
case константа N: оператор N; break;
default: оператор N+1; break; - может отсутствовать
}
Значение вычисленного выражения должно быть целого типа (символьного). Это значение (констант выбора) сравнивается со значениями констант, стоящих после case, и при совпадении с одной из них выполняется
передача управления соответствующему оператору. В случае несовпадения значения выражения с одной из констант происходит переход на default либо при отсутствии default - к оператору, следующему за операто-
ром switch. Оператор break (разрыв) выполняет выход из оператора switch; break может отсутствовать.
30 Составление циклических алгоритмов. Операторы цикла с предусловием и с постусловием.
Циклическим является алгоритм, если определенная последовательность шагов выполняется некоторое целое число раз. Рис. 1 иллюстрирует циклические алгоритмы.
Р
исунок
1. Циклические алгоритмы: а – цикл с
предусловием, б – с постусловием, в –
с параметром
У каждого из операторов цикла имеются особенности в их использовании (табл. 1): условные циклы выполняются пока условие истинно, а цикл с параметром работает, пока управляющая переменная цикла (так называемый параметр) не достигнет своего конечного значения. Таблица 1 – Операторы циклов.
Оператор цикла с предусловием while (<выражение>) <оператор>;
Оператор цикла с постусловием do <оператор> while <выражение>;
31 Оператор цикла с предусловием и коррекцией for
Общий вид оператора:
for (выражение 1; выражение 2; выражение 3) код цикла;
Цикл for эквивалентен последовательности инструкций:
выражение 1;
while (выражение 2)
{
код цикла . . .
выражение 3;
}
здесь выражение 1 - инициализация счетчика (начальное значение), выражение 2 - условие продолжения счета, выражение 3 - увеличение счетчика. Выражения 1,2 и 3 могут отсутствовать (пустые выражения), но символы «;» опускать нельзя.
Операция «запятая» чаще всего используется в операторе for. Она позволяет включать в его спецификацию несколько инициализирующих выражений. Первое выражение необязательно должно инициализировать переменную. Необходимо только помнить, что первое выражение вычисляется только один раз перед тем, как остальные части начнут выполняться.
for (printf(" Вводите числа по порядку! \n"); num != 6;)
scanf("%d", &num);
printf(" Последнее число - это то, что нужно. \n"); В этом фрагменте первое сообщение выводится на печать один раз, а затем осуществляется прием вводимых чисел, пока не поступит число 6.
Параметры, входящие в выражения, находящиеся в спецификации цикла, можно изменять при выполнении операций в коде цикла, например:
for (n = 1; n < Nk; n += delta) ... ; параметры Nk, delta можно менять в процессе выполнения цикла.
Использование условных выражений позволяет во многих случаях значительно упростить программу.
