
- •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
13. Базовые элементы языка Си. Алфавит. Лексемы. Знаки операций. Литералы. Комментарии.
В языке Си фундаментальным понятием является инструкция (операция, оператор, функция), которая представляет собой описание определенного набора действий над некоторыми объектами. Объектам, над которыми выполняются эти действия, вместо номеров ячеек в памяти принято давать имена(идентификаторы), а содержимое ячеек называть переменными, или константами, в зависимости от того, изменяется значение в процессе работы или нет. Программа состоит из последовательности инструкций, оформленных в строгом соответствии с набором правил, составляющих синтаксис языка Си.
(Алфавит языка)Каждому из множества значений, определяемых одним байтом (от О до 255), в таблице знакогенератора ЭВМ ставится в соответствие символ. По кодировке фирмы IBM символы с кодами от 0 до 127, образующие первую половину таблицы знакогенератора, построены по стандарту ASCII и одинаковы для всех компьютеров, вторая половина символов (коды 128 -255) может отличаться и обычно используется для размещения символов национального алфавита, коды 176 - 223 отводятся под символы псевдографики и коды 240 - 255 - под специальные знаки (прил. 1).
Алфавит языка Си включает:- буквы латинского алфавита и знак подчеркивания (код 95);- арабские цифры от 0 до 9;- специальные символы:+(плюс) -(минус) *(звездочка) /(дробная черта) =(равно) >(больше) <(меньше) ;(точка с запятой) &(амперсант)и тд. Пробельные символы: пробел, символы табуляции, перевода строки, новая страница и новая строка. (Лексемы) Из символов алфавита формируются лексемы языка - минимальные значимые единицы текста в программе: - идентификаторы;- ключевые (зарезервированные) слова;- знаки операций;- константы;- разделители (скобки, точка, запятая, пробельные символы). Границы лексем определяются другими лексемами, такими, как разделители или знаки операций, а также комментариями.
Знак операции - это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Операции делятся на унарные, бинарные и тернарные, по количеству участвующих в них операндов. Литералы Когда в программе встречается некоторое число, например 21, то это число называется литералом, или литеральной константой. Константой, потому что мы не можем изменить его значение, и литералом, потому что оно буквально передает свое значение. Константа является неадресуемой величиной, хотя реально она хранится в памяти машины, но нет никакого способа узнать ее адрес. Каждая константа имеет определенный тип. Комментарии- не является лексемой. Внутри комментария можно использовать любые допустимые на данном компьютере символы, поскольку компилятор их игнорирует. В С++ введен вариант комментария, который начинается символами // и заканчивается символом перехода на новую строку.
14. Виды и характеристики языков программирования. Виды программных ошибок.
Язык программирования - это множество текстов некоторого алфавита, удовлетворяющих правилам синтаксиса и задающих порядок вычислений в соответствии с правилами семантики. Первыми языками были машинные языки. Языки высокого уровня способны выразить задачу более лаконично и сжато. Такие языки как Си часто применяют для повышения эффективности программ. Основными характеристиками, позволяющими сравнивать языки программирования, являются: мощность, уровень и концептуальная целостность. Мощность характеризуется количеством и разнообразием задач, алгоритмы решения которых можно записать, используя этот язык. Самым мощным является машинный язык. Любую задачу, запрограммированную на каком-либо языке можно запрограммировать и на машинном языке. Уровень языка характеризуется сложностью решения задач с использованием этого языка. Чем проще записывается решение задач, чем более непосредственно реализуются сложные операции и понятия, чем меньше объем получаемых программ, тем выше уровень языка. Концептуальная целостность языка характеризуется свойствами совокупности понятий, служащих для описания этого языка и включает 3 взаимосвязанных аспекта: экономию понятий; ортогональность понятий; единообразие понятий; Экономия понятий -достижение максимальной мощности языка с помощью минимального числа понятий. Ортогональность - между понятиями не должно быть взаимного влияния. Единообразие понятий - единый подхода к описанию и использованию всех понятий. Обычно чем меньше мощность языка, тем выше его уровень.
Основной задачей программирования является создание правильных, а не эффективных программ. Различают универсальные и специализированные. Универсальные языки используются для решения разных задач. Специализированные языки предназначены для решения задач одного, типа. К универсальным языкам можно отнести языки Visual C++, Visual C++.Net, Visual C#.Net, Visual J#.Net, Java, Delphi, Borland C#, Borland C++ Builder. Специализированные языки, используются для написания не очень больших программ(быстро написание и малый код) А универсальные языки, используются для создания больших проектов,(уменьш. Кол во ошибок. и облегч. проектир. Прогр.)) Ошибки, допускаемые при написании программ, разделяются на синтаксические и логические. Синтаксические ошибки - нарушение формальных правил написания программы на конкретном языке, обнаруживаются на этапе трансляции и могут быть легко исправлены. Логические ошибки - ошибки алгоритма и семантические, которые могут быть исправлены только разработчиком программы. Причина ошибки алгоритма - несоответствие построенного алгоритма ходу получения конечного результата сформулированной задачи. Причина семантической ошибки - неправильное понимание смысла операторов языка.