Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Теоретическая часть. Тема: Общие сведения о функциях языка С.






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

Тема: Общие сведения о функциях языка С.

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

Теоретическая часть

 

Мощность языка C во многом определяется легкостью и гибкостью в определении и использовании функций в С -программах. В отличие от других языков программирования высокого уровня в языке С нет деления на процедуры, подпрограммы и функции, здесь вся программа строится только из функций.

Функция — это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова. Большие программы обычно состоят из нескольких пользовательских функций и ряда системных функций.

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

При вызове функции ей при помощи аргументов (формальных параметров) могут быть переданы некоторые значения (фактические параметры), используемые во время выполнения функции. Функция может возвращать некоторое (одно!) значение. Это возвращаемое значение и есть результат выполнения функции, который при выполнении программы подставляется в точку вызова функции, где бы этот вызов ни встретился. Допускается также использовать функции не имеющие аргументов и функции не возвращающие никаких значений. Действие таких функций может состоять, например, в изменении значений некоторых переменных, выводе на печать некоторых текстов и т.п.

По соглашению, принятому в языке С, при записи имени функции после него ставятся круглые скобки. Это соглашение позволяет легко отличить имена переменных от имен функций.

С использованием функций в языке C связаны три понятия — определение функции (описание действий, выполняемых функцией), объявление функции или прототип функции (задание формы обращения к функции) и вызов функции.

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

В языке C нет требования, чтобы определение функции обязательно предшествовало ее вызову. Определения используемых функций могут следовать за определением функции main, перед ним, или находится в другом файле.

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

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

Ни одна программа в языке С не может обойтись без функций.

Рассмотрим модельный пример программы, в которой, кроме функции main(), содержатся еще три функции.

#include < stdio.h> /*объявление прототипов функцицvoid function1(void); void function2(void); void function3(void); int main(void) /* Главная функция */{ /* Начало тела функции */ function1(); /* вызов первой функции */ function2(); /* вызов второй функции */ function3(); /* вызов третьей функции */} /* Конец тела функции main() */ /* Начало определения первой функции */function1() { /* Начало тела первой функции */ /* Операторы первой функции */ /* Конец тела первой функции */} /* Начало определения второй функции */function2(){ /* Начало тела второй функции*/ /* Операторы второй функции */ /* Конец тела второй функции*/} /* Начало определения третьей функции */function3(){ /* Начало тела третьей функции*/ /* Операторы третьей функции */ /* Конец тела третьей функции*/}

В условной (модельной) программе имеются четыре функции: main(), function1(), function2(), function3(). Эти функции не имеют аргументов. Позднее рассмотрим функции, которые имеют аргументы. Аргументы функции – это величины, которые передаются функции во время ее вызова. Аргумент, стоящий в операторе вызова функции, называется фактическим параметром. Аргументы, стоящие в заголовке функции, называются формальными параметрами. В языке С функция может возвращать значение в вызывающую программу посредством оператора return. Оператор возврата из функции в точку вызова имеет две формы:

return; return выражение;

В общем виде функция выглядит следующим образом:

возвр-тип имя-функции(список параметров){Тело_функции}

Тело_функции – это часть определения функции, ограниченная фигурными скобками и непосредственно размещенная вслед за заголовком функции. Тело функции может быть либо составным оператором, либо блоком.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.