- •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. Инструментальное программное обеспечение. Назначение. Классификация. Примеры.
- •30. Прикладное программное обеспечение. Назначение. Классификация. Примеры.
- •31. Операционная система. Назначение. Состав. Технические характеристики. Примеры.
- •32. Файловая система. Назначение. Технические характеристики. Примеры.
- •33. Антивирусное программное обеспечение. Назначение. Классификация. Примеры.
- •34. Приложения для работы с файлами. Понятие файловый менеджер. Примеры.
- •35. Текстовый процессор. Назначение. Основные операции.
- •36. Табличный процессор. Назначение. Основные операции.
- •37. Понятие алгоритма. Способы записи. Виды алгоритмов.
- •38. Блок-схема. Представления различных алгоритмов с помощью блок-схем.
- •39. Теоретические основы сжатия данных.
- •40. История языка программирования Си. Этапы развития. Привести примеры компиляторов.
- •41. Элементы программы, написанной на языке Си.
- •42. Константы языка Си.
- •43. Система типов языка Си.
- •44. Арифметические операции языка Си. Операции инкремента и декремента.
- •45. Операции отношения и логические операции языка Си.
- •46.Побитовые логические операции языка Си. Операции сдвига
- •47. Условный оператор и оператор выбора языка Си.
- •48. Циклические операторы языка Си.
- •49. Указатели языка Си.
- •51. Многомерные массивы языка Си.
- •52. Структуры языка Си.
- •53. Объединения языка Си.
- •54. Функции языка Си.
- •55. Области видимости переменных в языке Си.
- •56. Способы передачи параметров функций в языке Си.
- •57. Рекурсия в языке Си.
- •58. Указатель на функцию в языке Си.
- •59. Классы хранения переменных языка Си.
- •60. Консольный ввод/вывод данных в языке Си.
- •61. Файловый ввод/вывод данных в языке Си.
49. Указатели языка Си.
Указатель - это переменная, которая содержит адрес некоторого объекта в памяти компьютера. Например, указатели необходимы для успешного использования функций и динамического распределения памяти.
Использование в программе неинициализированного указателя может привести к "зависанию" компьютера. Обойтись же без указателей в программах на языке Си нельзя. Указатель объявляется следующим образом:
Вначале указывается тип указателя. Это некоторый тип языка Си. В данном случае он определяет тип объекта, на который указывает указатель.
Вслед за этим через пробел ставится звездочка - *. Она обозначает, что следующая за ней переменная является указателем. Получается довольно простая формула: тип *<простая переменная>. Например: char *ch; Простейшая операция над указателями - это операция амперсант «&», что означает "взять адрес". Существует еще одна операция над указателями. Она обозначается символом звездочка «*». Смысл этой операции таков: "значение, расположенное по указанному адресу".
В языке Си можно описать не только указатель на переменную, но и указатель на указатель. Пример:
int num =5;
int *ptr = #
int **ptr_ptr = &ptr;
int ***ptr_ptr_ptr = &ptr; 50. Одномерные массивы языка Си. Массив – расположенные вплотную друг за другом в памяти элементы одного и того же типа. Массив определяется именем массива и порядковым номером каждого своего элемента. Порядковый номер элемента называют индексом. Индекс в языке С всегда целое число. Основная форма объявления массива: тип<имя массива>[размер1] [размер2]...[размер N]; Чаще всего используются одномерные массивы. Их форма описания такова: тип<имя массива>[размер1]; Поясним, что такое тип. Тип - это базовый, то есть основной тип элементов массива. Размер - это количество элементов одномерного массива. В языке С нумерация элемен тов начинается с нуля. То есть минимальный неотрицательный индекс элемента есть число - ноль. Таким образом, всегда первый элемент массива - это элемент с нулевым номером. Предположим, что Вы объявили массив int a[100]; Это означает, что массив содержит следующие элементы: a[0], a[1], a[2],..., и так далее, a[99]. Количество байт = <размер базового типа> * <количество элементов в массиве>. Следует знать, что в языке С под массив всегда выделяется непрерывное место в оперативной памяти. Выход массива за свои определенные командой пределы в С не проверяется. То есть, если массив имеет 100 элементов и описан как a[100], то при обращении к элементу a[200] язык С не дает программе средств для контроля того факта, что имеется выход за пределы памяти, отведенной под массив. Программа на языке С не выдаст сообщение об ошибке. Такие возможности разработчиками не предусмотрены. Возможно потому, что в те времена особенно дефицитным ресурсом была память и ее экономили на сам транслятор и потому не уделяли такого внимания анализу ошибок программиста. Отметим, что можно определять массивы любого ранее рассмотренного типа:
В массиве можно хранить множество однотипных объектов без необходимости введения отдельного имени переменной для каждого из них. Массив может быть одномерным или многомерным. Количество измерений и длина каждого из измерений определяет общую длину массива, которая ограничена лишь адресным пространством конкретного компьютера.
Индекс массива — это целочисленное выражение, значение которого может быть в диапазоне от 0 до значения, равного длине измерения, уменьшенной на 1.