Студопедия

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

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

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






Семинар 2. Операции. Использование библиотечных функций






В С++ при построении выражений используются следующие типы операций:

· Арифметические (*, /, +, -, %);

· Отношений (<, < =, >, > =, ==,! =);

· Логические (& &, ||,!);

· Поразрядные (&, |, ~, ^, < <, > >);

· Инкремента и декремента (++, --);

· Присваивания (=, *=, /=, +=, -=, %=, < < =, > > =, & =, ^=,! =).

В языке имеются и другие операции, но они будут рассмотрены позже.

Арифметические операции

Арифметические операции *(умножения), +(сложения), -(вычитания), -(изменения знака или одноместный минус), %(получения остатка от целочисленного деления) выполняются стандартным образом. Операция /(деления) выполняется по-разному в зависимости от типа операндов. Если оба операнда целые числа, то / – операция целочисленного деления, результат будет целым. Если хотя бы один операнд имеет вещественный тип – то выполняется обычное деление, а в результате получится вещественное число. Например, после выполнения следующих операторов

int A=1; float B, C; B = A/2; C = A/2.;

значение переменной B будет равно 0, а значение C равно 0.5.



Обратите внимание, что операции возведения в степень в С++ нет. Вместо нее используется функция pow.

Математические функции

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

Имя Файл Прототип функции Значение
cos < cmath> double cos(double x); Косинус угла x (в радианах)
sin < cmath> double sin(double x); Синус угла x (в радианах)
exp < cmath> double exp(double x); Вычисляет ex
pow < cmath> double pow(double x, double y); Возводит x в степень y
log < cmath> double log(double x); Натуральный логарифм от x
log10 < cmath> double log10(double x); Десятичный логарифм от x
sqrt < cmath> double sqrt(double x); Квадратный корень из x
abs < cmath> int abs(int n); Модуль числа
rand < сstdlib> int rand(void); Возвращает псевдослучайное число из диапазона от 0 до RAND_MAX

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

Преобразование типов

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

При неявном (автоматическом) преобразовании более короткие типы преобразуются в более длинные, чтобы избежать потери данных. При возможной потере информации (например, значение типа double присваивается переменной типа float) компилятор обычно выдает предупреждение (Warning), но не считает это ошибкой. Подробные правила преобразования можно найти в справочной системе или в [1, приложение 3].

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

тип (выражение)






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