Сложение на языке программирования

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Сложение, вычитание, умножение, деление в C#

В данной статье мы познакомимся с основными математическими операциями и их применением в C#.

Для этого мы будем использовать три основных типа данных:

int — целочисленный тип данных. Как понятно из названия, может включать себя только целые числа, например: 0, 10, 123, -5, и так далее, но только в пределах от -2 147 483 648 до 2 147 483 647. так как int является 32-битным типом.

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

double — по сути такой же тип данных, как и float, c той разницей, что float является 32-битным типом, а double 64-битным. Проще говоря, float занимает меньше памяти, но менее точен. Double же потребляет гораздо больше памяти, но зато гораздо точнее: округляет максимум до 14 знаков после запятой.

Переменные будем объявлять не в начале программы, а по ходу её работы. Никакие лишние библиотеки нам не нужны. Пишем прямо в теле программы.

Читайте также:  Основные переменные прямой задачи линейного программирования

Программа для сложения двух чисел целочисленного типа int будет следующая:

Для начала мы выводим на консоль при помощи метода Console.WriteLine сообщение для пользователя. Пользователь вводит число и, мы записываем его в строку s (string — тип данных, инициализируемый строкой) при помощи метода Console.ReadLine.

C# всегда считывает с консоли строки, он не умеет делить введенные данные самостоятельно на int’ы, float’ы и double’ы. Поэтому мы самостоятельно переводим строку в нужный нам формат. Мы объявляем переменную a типа int и конвертируем в неё полученную от пользователя строку s.

Источник

Операторы сложения — + и +=

Операторы + и += поддерживаются встроенными целыми числовыми типами и числовыми типами с плавающей запятой, а также строковым типом и типамиделегатов.

Объединение строк

Если один или оба операнда имеют тип string, оператор + сцепляет строковые представления этих операндов (строковое представление null является пустой строкой):

Console.WriteLine("Forgot" + "white space"); Console.WriteLine("Probably the oldest constant: " + Math.PI); Console.WriteLine(null + "Nothing to add."); // Output: // Forgotwhite space // Probably the oldest constant: 3.14159265358979 // Nothing to add. 

Интерполяция строк предоставляет более удобный способ форматирования строк:

Console.WriteLine($"Probably the oldest constant: "); // Output: // Probably the oldest constant: 3.14 

Начиная с C# 10, можно использовать интерполяцию строк для инициализации константной строки, если все выражения, используемые для заполнителей, также являются константными строками.

Начиная с C# 11 оператор + выполняет объединение строк для строк литеральных строк UTF-8. Этот оператор объединяет два ReadOnlySpan объекта.

Объединение делегатов

Для операндов того же типа delegate оператор + возвращает новый экземпляр делегата, при вызове которого вызывается сначала левый, а затем правый операнд. Если какой-либо из операндов имеет значение null , оператор + возвращает значение другого операнда (это тоже может быть null ). Следующий пример демонстрирует объединение делегатов с помощью оператора + :

Action a = () => Console.Write("a"); Action b = () => Console.Write("b"); Action ab = a + b; ab(); // output: ab 

Для удаления делегатов используйте оператор — .

См. дополнительные сведения о типах делегатов.

Оператор присваивания сложения (+=)

Выражение, использующее оператор += , такое как

за исключением того, что x вычисляется только один раз.

В следующем примере иллюстрируется использование оператора += .

int i = 5; i += 9; Console.WriteLine(i); // Output: 14 string story = "Start. "; story += "End."; Console.WriteLine(story); // Output: Start. End. Action printer = () => Console.Write("a"); printer(); // output: a Console.WriteLine(); printer += () => Console.Write("b"); printer(); // output: ab 

Можно также использовать оператор += , который позволяет указать метод обработчика событий при подписке на событие. Дополнительные сведения см. в разделе Практическое руководство. Подписка и отмена подписки на события.

Возможность перегрузки оператора

Определяемый пользователем тип может перегружать оператор + . При перегрузке бинарного оператора + неявно перегружается и соответствующий оператор += . Определяемый пользователем тип не может явно перегружать += оператор.

Спецификация языка C#

См. также

Источник

Сложение на языке программирования

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

    + Операция сложения возвращает сумму двух чисел:

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

float f = 10 / 4; printf("f = %f \n", f); // 2.0

Результат представлял вещественное число, один из операндов также должен представлять вещественное число:

float f = 10.0 / 4; printf("f = %f \n", f); // 2.5
int a = 35 % 3; // 2 (35 - 33 = 2)

Операции *, /, % имеют больший приоритет, чем + и — :

int a = 8; int b = 7; int c = a + 5 * b; // 43 printf("c = %d \n", c); // 43

Здесь результатом будет число 43:

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

int a = 8; int b = 7; int c = (a + 5) * b; // 91

Здесь результатом будет число 91:

Также в Си есть специальные унарные операции над одним числом: ++ (инкремент) и — (декремент). Каждая из операций имеет две разновидности: префиксная и постфиксная.

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

int a = 8; int b = ++a; printf("a = %d \n", a); // 9 printf("b = %d", b); // 9
int a = 8; int b = a++; printf("a = %d \n", a); // 9 printf("b = %d", b); // 8
int a = 8; int b = --a; printf("a = %d \n", a); // 7 printf("b = %d", b); // 7
int a = 8; int b = a--; printf("a = %d \n", a); // 7 printf("b = %d", b); // 8

Рассмотрим более сложную ситуацию:

int a = 8; int b = 7; int c = a+++b; printf("a = %d \n", a); // 9 printf("b = %d \n", b); // 7 printf("c = %d \n", c); // 15

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

Аналогично будет расцениваться выражения с постфиксным декрементом: int c = a—b; .

Источник

Оцените статью