- •Вопросы к экзамену по информатике
- •2 Семестр
- •Типы компьютеров: персональные, микроконтроллеры, серверы, мейнфреймы.
- •Программирование
- •Языки программирования. Уровни языков программирования. (Языки высокого и низкого уровня). Поколения языков программирования.
- •Системы программирования. Этапы выполнения программы. Компиляторы и интерпретаторы. Редактор связей (сборщик).
- •Алгоритм. Понятие алгоритма. Типы алгоритмов. Формы представления. Основные блоки.
- •Программирование на языке с.Основные понятия языка (алфавит, идентификаторы, ключевые слова, препроцессор, объектный код)
- •Структура программы на языке с.
- •Типы данных языка с.
- •Операции арифметические, логические, операции отношения. Приоритет операций.
- •Стандартные функции языка с.
- •Функции ввода-вывода. Ввод-вывод данных.
- •Математические функции.
- •Операторы языка с
- •Условный оператор if. Оператор выбора switch().
- •Оператор цикла for.
- •Оператор while.
- •Оператор do-while.
- •Массивы. Способы объявления массивов. Ввод, обработка и вывод одномерных массивов.
- •Функции в языке с. Назначение функций. Объявление, определение и вызов функции. Способы передачи параметров в функции.
- •Указатели. Применение указателей. Объявление указателей. Связь указателей и массивов. Использование указателей в функциях.
- •Понятие о структуре. Объявление структур. Операции со структурами.
- •Работа с файлами. Файловый указатель. Функции, предназначенные для работы с файлами.
Функции в языке с. Назначение функций. Объявление, определение и вызов функции. Способы передачи параметров в функции.
Назначение функций:
- Функции группируют связанные операторы для выполнения определенной задачи.
- Ваша программа вызывает функцию, обращаясь к ее имени, за которым следуют круглые скобки, например bеер ().
- После завершения обработки большинство функций возвращают значение определенного типа, например int или float, которое программа может проверить или присвоить переменной.
- Ваши программы передают параметры (информацию) функциям, например имя, возраст или оклад служащего, заключая параметры в круглые скобки, которые следуют за именем функции.
- C++ использует прототипы функций для определения типа возвращаемого функцией значения, а также количества и типов параметров, передаваемых функции.
Объявление, определение и вызов функции: Функции всегда определяются глобально. Они могут быть объявлены с классом памяти static или extern. Объявления функций на локальном и глобальном уровнях имеют одинаковый смысл.
Правила определения области видимости для функций отличаются от правил видимости для переменных и состоят в следующем.
1. Функция, объявленная как static, видима в пределах того файла, в котором она определена. Каждая функция может вызвать другую функцию с классом памяти static из своего исходного файла, но не может вызвать функцию определенную с классом static в другом исходном файле. Разные функции с классом памяти static имеющие одинаковые имена могут быть определены в разных исходных файлах, и это не ведет к конфликту.
2. Функция, объявленная с классом памяти extern, видима в пределах всех исходных файлов программы. Любая функция может вызывать функции с классом памяти extern.
3. Если в объявлении функции отсутствует спецификатор класса памяти, то по умолчанию принимается класс extern.
Все объекты с классом памяти extern компилятор помещает в объектном файле в специальную таблицу внешних ссылок, которая используется редактором связей для разрешения внешних ссылок. Часть внешних ссылок порождается компилятором при обращениях к библиотечным функциям СИ, поэтому для разрешения этих ссылок редактору связей должны быть доступны соответствующие библиотеки функций.
Способы передачи параметров в функции:
Параметры функции бывают двух видов: параметры-значения и параметры-ссылки. Параметры-значения функции могут рассматриваться как локальные переменные, для которых выделяется память в стеке при вызове функции и производится копирование значений фактических аргументов. При завершении работы функции происходит очистка стека от данных, принадлежащих этой функции, при этом значения переменных теряются. Такой способ передачи параметров в функцию не изменяет значения переменных в вызывающей функции, являющихся фактическими параметрами.
Второй способ передачи в функцию адреса переменной – передача параметра по ссылке, при этом в вызванной функции создается псевдоним исходной переменной, форма обращения к такому параметру-ссылке такая же, как и к обычной переменной, а сам параметр передается с помощью адреса, например, int fn3(int &ab); при этом обращение к переменной ab в теле функции fn3() такое же, как к обычной переменной типа int.
Третий способ передачи параметров представляет собой передачу в функцию адреса фактического аргумента. Обращение к фактическому аргументу по адресу позволяет вызванной функции изменить его значение в вызвавшей эту функцию подпрограмме.