Над базовыми типами выполняются следующие операции:
-арифметические операции: сложение (+), вычитание (-), умножение (*), деление (/), остаток от деления (%,для целых и символов), унарные операции (+ и -);
-логические операции: НЕ (!),ИЛИ (||),И (&&);
-операции отношения: равно (==), не равно (!=), меньше (<), меньше или равно (<=), больше (>), больше или равно (>=);
-операции инкремента и декремента (для целых и символов): постфиксный инкремент (vyr++) - увеличение vyr на единицу, результатом всего выражения является значение vyr до увеличения;
пример: m=1;
n=m++; //m=2,n=1
префиксный инкремент (++vyr) - увеличение vyr на единицу, результатом всего выражения является значение vyr после увеличения;
пример: m=1;
n=++m; //m=2,n=2
постфиксный декремент (vyr--) - уменьшение vyr на единицу, результатом всего выражения является значение vyr до уменьшения;
пример: m=2;
n=m--; //m=1,n=2
префиксный декремент (--vyr) - уменьшение vyr на единицу, результатом всего выражения является vyr поле уменьшения;
пример: m=2;
n=--m; //m=1,n=1
-побитовые операции(для целых и символов): дополнение до единицы (~), побитовое ИЛИ (|), побитовое И (&), побитовое исключающее ИЛИ (^), сдвиг вправо (>>), сдвиг влево (<<);
-операции присваивания: присвоить (=), сочетание с арифметическими и битовыми логическими операциями (+=, -=, *=, /=, %=, |=, &=, ^=; >>=, <<=);
примеры: m+=n; //Сокращенная запись m=m+n;
x=y=z;//Множественное присваивание x=(y=(z=0));
-условная операция,арифметическое если (?:): vyr1?vyr2:vyr3)- если vyr1 истинно,то вычисляется vyr2, и результатом является vyr2; иначе вычисляется vyr3, и результатом является vyr3;
пример: y=(x<=0)?-x:x;//y - абсолютное значение x
-операция последовательного выполнения, операция запятая (,): vyr1,vyr2 -сначала вычисляется vyr1,затем vyr2, результат операции - vyr2; операция обычно используется для выполнения нескольких выражений в ситуациях, где по синтаксису может быть лишь одно.
Приоритет операций в порядке убывания следующий:
1) () -вызов функции;
2)!, ~, +, -, ++, --, () -логическое НЕ, дополнение до единицы, унарные операции, инкремент, декремент, операция приведения типа;
3) *, /, % -мультипликативные операции;
4) +, - -сложение, вычитание;
5) <<, >> -сдвиг;
6) <, >, <=, >= -операции отношения;
7) ==,!= -операции отношения;
8) & -побитовое И;
9) ^ -побитовое исключающее ИЛИ;
10) | -побитовое ИЛИ;
11) && -логическое И;
12) || -логическое ИЛИ;
13)?: -условная операция;
14) =,+=,-=,*=,/=,%=,>=,<=,&=,^=,|= -операции присваивания;
15), -операция запятая.
Над данными базовых типов можно выполнять стандартные библиотечные функции,сгруппированные в библиотеки,например:
math.h - математические функции;
string.h - функции обработки строк;
ctype.h - функции для проверки и обработки символов;
stdlib.h - преобразование символов и строк в числа и обратно;
conio.h - библиотека видеофункций;
iostream.h - базовая библиотека ввода/вывода потоком С++.
Переменные базовых типов, используемые в качестве параметров функций, применяют способ передачи параметров по значению, т.е. копируются в стек и передаются функции копии самих значений переменных. Это допустимо, так как эти данные небольшого объема.