Главная страница

ВКР. Учебно-методическое пособие Тольятти тгу 2011 удк 004 3(075) ббк. Учебнометодическое пособие по дисциплине Языки программирования предназначено для студентов очной формы обучения и содержит конспект лекций по ключевым темам курса и практикум


Скачать 0.88 Mb.
НазваниеУчебнометодическое пособие по дисциплине Языки программирования предназначено для студентов очной формы обучения и содержит конспект лекций по ключевым темам курса и практикум
Дата30.05.2022
Размер0.88 Mb.
Формат файлаdoc
Имя файлаУчебно-методическое пособие Тольятти тгу 2011 удк 004 3(075) ббк.doc
ТипУчебно-методическое пособие
#557668
страница8 из 13
1   ...   5   6   7   8   9   10   11   12   13

2.3.1Функции, библиотеки функций, переменные, операторы, операции


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

double sin(double x);

имеет один аргумент x типа double (вещественное число). Результат функции также имеет тип double. При вызове функция sin вычисляет синус числа, переданного ей в качестве фактического аргумента, и возвращает вычисленное значение в вызывающую программу.
Вызов функции происходит в результате использования её имени в выражении. За именем функции следуют круглые скобки, внутри которых перечисляются фактические значения её аргументов. Даже если аргументов нет, круглые скобки с пустым списком аргументов обязательно должны присутствовать.

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

Пример:

x = sin(1.0);

Здесь в результата вызова функции sin вычисляется синус числа 1.0, затем вычисленное значение записывается в переменную x при выполнения оператора присваивания «=». Другой пример:

f();

Вызывается функция f, не имеющая параметров. Значение, возвращённое в результате выполнения функции f, не используется. Программа на Си состоит из функций. Работа программы всегда начинается с функции с именем main.

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

Чтобы использовать определенные ячейки памяти, программы применяют переменные. Проще говоря, переменная представляет собой имя ячейки памяти, которая может хранить конкретное значение.

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

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

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

age = 32;

salary = 25000.75;

distance_to_the_moon = 238857;

Замечание: значения, присваиваемые переменным, не должны содержать запятые (например, 25,000.75 и 238,857). Если вы включаете запятые, компилятор C++ будет генерировать и выводить сообщения о синтаксических ошибках.

Фрагмент следующей программы сначала объявляет переменные, а затем использует оператор присваивания, чтобы присвоить переменным значения:

#include

void main(void)

{
int age;


float salary;

long distance_to_the_moon;

age = 32;

salary = 25000.75;

distance_to_the_moon = 238857;

}

При объявлении переменной часто удобно присваивать ей начальное значение. Чтобы упростить такую процедуру, C++ позволяет присваивать значение во время объявления переменной, как показано ниже:

int age = 32;

float salary = 25000.75;

long distance_to_the_moon = 238857;

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

В качестве операндов в выражении выступают идентификаторы переменных, константы, и строковые литералы, являющиеся первичными выражениями. Выражение, заключённое в круглые скобки, также рассматривается как первичное. Каждая операция предполагает использование определённых типов операндов (целых, вещественных, указателей). Операция присваивания в Си++ также является выражением, в связи с этим различаются операнды, которым можно присвоить новое значение и операнды, значение которых не может меняться. Чтобы операнду можно было присвоить значение, ему должна соответствовать область памяти и компилятору должен быть известен адрес этой памяти. Такие операнды называют L-выражениями (от английского left – левый), так как они могут быть записаны в левой части оператора присваивания.

Результат вычисления выражения зависит от приоритетов операций. В Си++ сложная система приоритетов операций, включающая 16 уровней. В таблице 3 приведён перечень операций Си++ с указанием их приоритетов, назначения и схемы записи.

Операторы – это синтаксические конструкции, определяющие действия, выполняемые программой. В Си/Си++ имеются следующие типы операторов: операторы-выражения, операторы выбора, операторы цикла и оператор перехода. Синтаксис некоторых операторов содержит выражения, играющие роль условий, в зависимости от выполнения или невыполнения которых выбирается та или иная последовательность действий. Поскольку в Си нет булевых выражений, в качестве условий используются любые выражения, дающие скалярные значения, и условие считается выполненным, если это значение отлично от нуля, и невыполненным, если оно равно нулю.

Перед любым оператором может быть записана метка в виде идентификатора, отделённого от помечаемого оператора двоеточием.

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

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

Чтобы обеспечить возможность контроля правильности вызова функций при компиляции программы, в систему программирования входят файлы заголовков функций времени выполнения. В файлах заголовков определяются прототипы библиотечных функций, а также константы и типы данных, используемые этими функциями.
1   ...   5   6   7   8   9   10   11   12   13


написать администратору сайта