Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_cpp.doc
Скачиваний:
10
Добавлен:
07.06.2015
Размер:
2.81 Mб
Скачать

Контрольные вопросы для подготовки и самостоятельной работы

  1. Какие операции называются унарными, бинарными, тернарными?

  2. Сколько групп приоритетов принято в С?

  3. В какой последовательности выполняются операции с одинаковым приоритетом?

  4. Что означает свойство коммутативности?

  5. Какие операции гарантируют порядок вычисления своих операндов?

  6. Для чего применяют первичные операции?

  7. Какой тип операндов допустим для различных операций?

  8. Все ли операнды вычисляются в выражениях, содержащих логические операции?

  9. Для чего применяют преобразование типов?

  10. Назовите правила неявного преобразования типов. В каких случаях возможна потеря информации при преобразовании типов?

  11. В каком порядке будет выполняться конструкция f(x)&&g(y) и как будет интерпретироваться результат вызова функций, результат выражения в целом?

  12. Объясните примеры, приведенные в теоретической части.

Лабораторная работа №7

Разработка программ с функциями. Объявление, определение и вызов функций

(2 часа)

Цель работы: выработать практические навыки в написании программ с выделением функций, их объявлением, определением и использованием.

Теоретические сведения

Каждая функция в С имеет название (имя), класс памяти, тип возвращаемого значения и необязательный список параметров. В функциях можно объявлять локальные константы и переменные. Все функции, за исключением функции main(), необходимо объявлять (создавать прототип, декларировать) до использования (вызова).

Объявления (прототипы) функций

С поддерживает предварительное объявление (декларацию) функций, которое также созданием называется прототипом. Предварительное объявление позволяет перечислить список функций в начале исходной программы. Такой список предлагает удобный способ указания того, какие функции будут использованы в программе. Кроме того, использование прототипов заранее уведомляет компилятор о типах возвращаемых значений и формальных параметров различных функций. После объявления функций можно размещать их определения в любом порядке и не волноваться по поводу ошибок компиляции, которые происходят, когда функция вызывается перед объявлением или определением. Общий синтаксис объявления для функции:

[Класс_памяти] Тип_возвращаемого_значения имя ([ Список_типов_параметров ]);

Классы памяти для функций: extern и static. По умолчанию – extern.

Каждая функция имеет тип_возвращаемого_значения, который указывается перед названием (именем) функции. Список_параметров следует за названием функции и заключается в круглые скобки.

Точка с запятой в конце необходима для объявления функции, но не нужна в определении функции. Имена формальных параметров могут отсутствовать или не опадать с именами в определении функции, но типы должны совпадать обязательно. По умолчанию тип возвращаемого значения int.

Пример объявления функции:

dauble summa(float a, float b); // два параметра типа float, возвращается

// значение типа dauble

С использует специальный тип void, чтобы указать, что функция не требует параметров или не возвращает значение. Использование оператора return в void-функции не требуется.

Примеры объявлений функций:

upDate(); // без параметров,

// возвращается int

void (void); // без параметров

// getPrint

void releesDate(int fop);// один // параметр

void reseedType(float Seed); // один

// параметр

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]