- •1 Структура пэвм. Размещение данных и программ в памяти пэвм. Биты, байты. Программа, машинная команда.
- •2. Состав программного обеспечения техн. Средств. Среда програм-я.
- •3.Среда программирования. Программные модули: исходный, объектный, загрузочный. Трансляторы, интерпретаторы, компоновщик, отладчик.
- •4.Трасляторы,интерпреторы,компоновщик,отладчик. Режимы компиляции и компоновки.
- •5.Особенности программирования и отладки встроенных систем.
- •6. Компоновка программных модулей и запись программной кодировки в целевое устройство.
- •7. Понятие структурного и модульного программирования.
- •8. Функциональная и модульная декомпозиции в программировании
- •9. Операционная система. Файловая система хранения информации.
- •10. Понятие алгоритмов и способы их описания
- •11. Графическое описание алгоритма. Основные символы схемы алгоритма
- •12. Стандартизация графического представления алгоритмов. Программная документация.
- •13. Базовые элементы языка Си. Алфавит. Лексемы. Знаки операций. Литералы. Комментарии.
- •14. Виды и характеристики языков программирования. Виды программных ошибок.
- •15. Идентификаторы и ключевые слова языка Си.
- •16. Структура программы на языке Си.
- •17. Декларация объектов. Основные типы данных
- •18. Категории типов данных (символьные, целые, с плавающей точкой).
- •19.Символьные и целые типы данных
- •20. Вещественные типы данных(с плавающей точкой).
- •21. Преобразование типов (явное и неявное). Приведение типа
- •22. Использование модификаторов при декларации типов данных
- •23 Система счисления. Кодовая таблица ascii. Классификация и преобразование символов
- •24. Константы. Целые константы. Константы с плавающей точкой. Символьные константы. Строки. Null.
- •Константы вещественного типа Данные константы размещаются в памяти в формате double, а во внешнем представлении могут иметь две формы:
- •25. Операции, выражения языка си
- •26.Арифметические операции. Аддитивные и мультипликативные операции
- •27. Условный оператор if.
- •28. Тернарная условная операция ?:.
- •29. Оператор выбора альтернатив switch.
- •30. Составление циклических алгоритмов. Операторы цикла с предусловием и с постусловием.
- •Оператор цикла с постусловием do – while Цикл с постусловием реализует структурную схему, приведенную на рис. 7.1, б.
- •31. Оператор цикла с предусловием и коррекцией for.
- •32. Операторы передачи управления (break, continue, return, goto).
- •33. Побитовые логические операции, операции над битами
- •34. Операции сравнения. Логические операции. Унарные операции.
- •Логические операции
- •35. Операция присваивания. Сокращенная запись операции присваивают.
- •Сокращенная запись операции присваивания:
- •36. Стандартная библиотека языка Си. Математические функции.
- •37. Строки в языке Си. Функции работы со строками.
- •38. Стандартная библиотека языка Си. Ввод данных.
- •39. Стандартная библиотека языка Си. Вывод данных.
- •40. Управляющая строка функций ввода/вывода
- •41. Ввод-вывод потоками.
- •42. Препроцессор. Директивы #include, #define, #if.
- •43. Одномерные массивы. Инициализация одномерных массивов. Ввод и инициализация массива символов.
- •44. Многомерные массивы. Инициализация многомерных массивов
- •Void main()
- •45. Структуры. Вложенные структуры
- •46. Массивы структур. Битовые поля
- •Int day, month, year;
- •47. Объединения. Перечисления
- •Void main(void)
- •Перечисления – средство создания типа данных посредством задания ограниченного множества значений.
- •48. Указатели. Указатели и адреса объектов. Указатели и массивы.
- •49. Операции с указателями: присваивание адреса, определение значения по адресу, присваивание указателей.
- •50. Операции с указателями: сложение и вычитание, инкремент и декремент, сравнение указателей
- •52.Операции typedef и sizeof.
- •53.Функции.Определение функции. Объявление функции и вызов функции. Возвращаемое значение функции.
- •Id_функции (список аргументов);
- •54.Функции. Типы передачи параметров функции (по значению, по адресу).
- •56. Функции. Массивы в качестве параметров функции
- •Void f1(int m[3][4]) {
- •Void fun( int m[ ][3]) {
- •57 Указатели на функции
- •58. Перегрузка функций
- •59 Классы памяти. Области действия объектов
- •60.Работа с файлами.Типы файлов (текстовый и бинарный)
- •61.Работа с файлами. Открытие файла в различных режимах и закрытие файла.
- •62.Работа с файлами. Чтение и запись данных в файл. Посимвольный и построчный ввод-вывод
- •63.Работа с файлами. Чтение и запись данных в файл. Блоковый ввод-вывод
- •Блоковый ввод-вывод.
- •64.Работа с файлами. Чтение и запись данных в файл. Форматированный ввод-вывод
- •65. Работа с файлами. Указатель текущей позиции в файле, его перемещение к нужной позиции.
- •66. Графический режим. Функции черчения и Заполнения
- •67. Графический режим. Функции вывода текста, функции управления цветом (outtext, outtextxy…..)
- •68. Среда разработки программ для микроконтроллеров, особенности написания программ для микроконтроллеров и программирования их периферийных устройств.
- •69. Средства записи программ и отладки для микроконтроллеров. Программаторы, симуляторы и внутрисхемные отладчики.
- •70. Интерфейс программирования jtag
Логические операции
Приведем логические операции в порядке убывания относительного приоритета. Их обозначения:! – отрицание (логическое «НЕТ»);&&– конъюнкция (логическое «И»);||– дизъюнкция (логическое «ИЛИ»).Операндами (выражениями) логических операций могут быть любые скалярные типы. Ненулевое значение операнда трактуется как «истина», а нулевое – «ложь». Результатом логической операции, как и в случае операций отношения, может быть 1 или 0.Общий вид операции отрицания ! выражение Примеры использования операции отрицания:
!0 1 !5 0 x = 10; ! (x > 0) 0
Общий вид операций конъюнкции и дизъюнкции:Выражение_1 знак операции Выражение_2 Особенность операций конъюнкции и дизъюнкции – экономное последовательное вычисление выражений-операндов: – если выражение_1 операции «конъюнкция» ложно, то результат операции – ноль и выражение_2 не вычисляется; – если выражение_1 операции «дизъюнкция» истинно, то результат операции – единица и выражение_2 не вычисляется.
Например: y > 0 && x = 7 истина, если оба выражения истинны; e > 0 || x = 7 истина, если хотя бы одно выражение истинно.Старшинство операции «И» выше, чем «ИЛИ» и обе они младше операций отношения и равенства.Относительный приоритет логических операций позволяет пользоваться общепринятым математическим стилем записи сложных логических выражений, например:0 < x < 100 0 < x && x < 100 ; x > 0, y 1 x > 0 && y <=1 .
Учет этих свойств очень существенен для написания правильно работающих программ.
35. Операция присваивания. Сокращенная запись операции присваивают.
Формат операции присваивания:
Операнд_1 = Операнд_2 ;
Операндом_1 (левый операнд) может быть только переменная. Левый операнд операции присваивания получил название L–значение, (L–value, Left–value) – адресное выражение. Так в Си называют любое выражение, адресующее некоторый участок оперативной памяти, в который можно записать некоторое значение. Переменная – это частный случай адресного выражения.
Операндом_2 (правый операнд) могут быть: константа, переменная или любое выражение, составленное в соответствии с синтаксисом языка Си. Правый операнд операции присваивания назвали R–значение, (R–value, Right–value).
Присваивание значения в языке Cи, в отличие от традиционной интерпретации, рассматривается как выражение, имеющее значение левого операнда после присваивания. Таким образом, присваивание может включать несколько операций присваивания, изменяя значения нескольких операндов, например:
int i, j, k;
float x, y, z;
...
i = j = k = 0; k = 0, j = k, i = j;
x = i + (y = 3) – (z = 0); z = 0, y = 3, x = i + y – z;
Примеры недопустимых выражений:
– присваивание константе: 2 = x + y;
– присваивание функции: getch() = i;
– присваивание результату операции: (i + 1) = 2 + y;
Сокращенная запись операции присваивания:
В языке Си используются два вида сокращенной записи операции присваивания:
1) вместо записи: v = v # e;
где # – любая арифметическая операция (операция над битовым представлением операндов), рекомендуется использовать запись v #= e;
Например, i = i + 2; i += 2; (знаки операций – без пробелов);
2) вместо записи: x = x # 1;
где # – символы, обозначающие операцию инкремента (+1), либо декремента (–1), x – целочисленная переменная (или переменная-указатель), рекомендуется использовать запись:
##x; – префиксную, или x##; – постфиксную.
Если эти операции используются в чистом виде, то различий между постфиксной и префиксной формами нет. Если же они используются в выражении, то в префиксной форме (##x) сначала значение x изменится на 1, а затем полученный результат будет использован в выражении; в постфиксной форме (x##) – сначала значение переменной х используется в выражении, а затем изменится на 1.
П П ример1: |
|
|
|
int i, j, k; |
Смысл записи |
|
|
float x, y; |
|
|
|
... |
|
|
|
х *= y; |
x = x*y; |
|
|
i += 2; |
i = i + 2; |
|
|
x /= y+15; |
x = x/(y + 15); |
|
|
--k; |
k = k – 1; |
|
|
k--; |
k = k – 1; |
|
|
j = i++; |
j = i; i = i + 1; |
|
|
|
|
|
|
|
|
|
|
j = ++i; |
i = i + 1; j = i; |
|
|
