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

Операторы

Читайте также:
  1. Классификация ТО в РФ: Инициативный и рецептивный туроператоры
  2. Операторы цикла
  3. Операторы цикла
  4. Специальные операторы
  5. Стандартный класса string. Операторы типа string. Использование функций assign(), append(), insert(), replace(), erase(), find(), rfind(), compare().
  6. Уполномоченные экономические операторы: определены особенности обложения НДС

При выполнении программы могут производиться некоторые операции. Каждой операции соответствует знак операции. Знаки для некоторых операций приведены в таблице.

 

Знак операции Операция   Знак операции Операция
* Умножение   = Присваивание
/ Деление   * = Умножение с присваиванием
% Остаток от деления   / = Деление с присваиванием
+ Сложение   <<= Сдвиг влево с присваиванием
- Вычитание   >>= Сдвиг вправо присваиванием
<< Сдвиг влево   + = Сложение с присваиванием
>> Сдвиг вправо   + + Добавление единицы
< Меньше   - - Вычитание единицы
> Больше      
<= Меньше или равно      
 

 

 

4.2.3 Функции

 

В отличии от других языков программирования высокого уровня вся программа строиться только из функций.

Функция – это совокупность объявлений и операторов, предназначенных для решения определенной задачи. С использованием функций в языке СИ связаны три понятия: определение функции(описание действий, выполняемых функцией), объявление функции и вызов функции.

Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова.

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

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

Синтаксис для объявления функции:

 

nип_ возвращаемого_ значения имя_ функции (список формальных параметров)

{

Тело функции (список операторов)

}

 

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

Список формальных параметров – это последовательность объявлений формальных параметров, разделенная запятыми. Формальные параметры – это переменные, используемые внутри тела функции.

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

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

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

 

Пример:

/*Прототип (объявление) функции с типом возвращаемого значения int и тремя параметрами, которые объявлены в скобках; в объявлении имена а,b,с можно не указывать.*/

 

int function (int a, int b, int c) //Объявление функции function, которая возвращает

// целое значение, т.к. перед именем функции стоит int

 

 

/* Определение функции; может быть написано где-нибудь в другом месте программы */

 

int function(int a, int, b, int c)

{

группа операторов //тело функции

}

 

 

При вызове функции ей передаются значения (фактические значения параметров), используемые во время выполнения функции.

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

 

Конкретный пример:

unsigned char s; //Объявление глобальной переменной s

sum (unsigned char a, unsigned char b) /* Определение функции сложения

с двумя параметрами (они объявлены)*/

{

s = a + b; // Оператор (тело функции)

}

void main (void) // Определение главной функции

{

unsigned char x = 5, y = 6, r1, r2; /* Объявление локальных переменных и

присвоение значений переменным x и y. */

 

sum(x,y); /* Вызов функции sum со значениями параметров

x = 5, y = 6. В функции sum параметр а получит значение 5,

параметр b получит значение 6. Результат (значение

переменной s) =11 */

 

r1 = s * 4; // Переменной r1 присвоено значение 11 * 4 = 44.

 

x = 10; y = 12; // Новые значения параметров

 

sum (x, y); // Следующий вызов функции sum. Результат s = 22.

 

r2 = s * 5; // Умножение и присвоение, т.е. r2 = 110.

}

 


Дата добавления: 2015-07-20; просмотров: 101 | Нарушение авторских прав


Читайте в этой же книге: Подсистема прерываний микроконтроллера | Общие сведения | Режимы быстрой ШИМ №№5,6,7,14,15. | Режимы Точной фазы №№ 1,2,3,10,11. | Последовательный периферийный интерфейс - SPI | UART - универсальный последовательный порт | Аналоговый компаратор | Аналого-цифровой преобразователь | Энергонезависимая память данных | Язык Ассемблер |
<== предыдущая страница | следующая страница ==>
Типы данных, объявление данных| Оператор if-else (ветвления )

mybiblioteka.su - 2015-2024 год. (0.008 сек.)