Учебное пособие: Основы C
Самой общей операцией является присваивание, например, с= a/b. В Си присваивание обозначается знаком равенства=, при этом значение справа от знака равенства присваивается переменной слева. Возможно, применять также последовательные присваивания, например: с = a = b.
Арифметические операторы.
В Си выполняются следующие группы арифметических операций:
1.Бинарные: сложение(+), вычитание(-), умножение(*), деление(/), целочисленное деление(%) (для типа int получение остатка).
2.Унарные: унарный плюс (+), унарный минус (-), адресация (&), косвенная адресация (*), определение размера памяти типа (sizeof).
3.Логические: и (&&), или (!!), не (!=).
4.Отношения:
a)равно (==), не равно(!>);
б) меньше чем (<), больше чем (>), меньше или равно (<=), больше или равно (>=);
5.Приращения (++) и уменьшения (--). Например, i++ обозначает, что i=i+1, а i-- обозначает i=i-1.
6.Побитовые операции - позволяют производить операции над битами.
7.Комбинированные операции. В Турбо-Си существуют сокращения при написании выражений, содержащих многочисленные операции:
a = a + b; сокращается до a += b;
a = a - b; сокращается до a -= b;
a = a * b; сокращается до a *= b;
a = a / b; сокращается до a /= b;
a = a % b; сокращается до a %= b;
8.Адресные операции:
1. Операция определения адреса (&) 2. Операция обращения по адресу (*).
Операция & возвращает адрес данной переменной; если Х является переменной типа int, то &Х является адресом (расположения в памяти) этой переменной. С другой стороны, если msg является указателем на тип char, то *msg является символом, на который указывает msg. Рассмотримпример:
#include <stdio.h>
main()
{
int X;
char *msg;
X = 6 + 1;
msg = "Привет\n";
printf(" X = %d &X = %p \n",X,&X);
printf("*msg = %c msg = %p \n", *msg, msg);