Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Козак Н.В. Лекции Основы создания программ в Си...doc
Скачиваний:
24
Добавлен:
23.09.2019
Размер:
2.24 Mб
Скачать

Переменные

Итак, отдельная единица данных должна обязательно иметь определенный тип. Именованная единица памяти для хранения данных называется переменной.

Переменные создаются с помощью оператора объявления переменных, в ко­тором указывается тип, имена переменных и (при необходимости) начальные значения, которыми переменные инициализируются. Вот несколько примеров:

short i; // объявление короткой целой переменной

char quit = ‘Q’; // инициализация символьной переменной

float f1, factor = 3.0, f2; // Три переменных типа float,

// одна из которых инициализирована

Операции и выражения

Операции и выражения в C++ напоминают формулы в апгебре. Вот один пример выражения:

aResult = (first - second * RATE) « 3

Операции характеризуются:

  1. своим приоритетом, определяющим порядок, в котором производится оценка выражения, и

  2. правилом ассоциации, задаю­щим направление последовательных оценок идущих друг за другом операций одного приоритета.

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

aResult = (first - second * RATE) « 3 ;

В таблице 3.3 дана сводка всех операций языка С в порядке убывания приоритета.

Подробное описание операции дается в теоретической части лабораторной работы №1, там все должно быть понятно мы же пойдем далее.

Функции

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

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

возвращаемый_тип имя_функции (список_параметров) ;

Вызов функции является выражением и принадлежит к типу, указанному в ее определении; он имеет вид:

имя_функции (параметры);

где параметры могут быть:

пусто

параметр[, параметр... ]

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

doSomething(argl, arg2);

Мы так и поступали, когда выводили на экран сообщения функцией printf().

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

aResult = 1 - cos (arg);

Функция в С может иметь переменное или, точнее, неопределенное число параметров. В этом случае за последним обязательным параметром в заголовке функции следует многоточие (...). Подобным образом объявляется функция prtntf:

int printf (const char *format, ...);

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

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