Арифметичними виразами з двома операндами є +, -, *, / і оператор коефіцієнту %. Поділ цілих відкидає дробову частину. Вираз
x % y
повертає залишок поділу x на y, і нуль, якщо ділення відбудеться без залишку. Наприклад, рік буде високосним, якщо він кратний 4, але не 100, за винятком того, що роки кратні 400 — теж високосні. Таким чином
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
printf("%d is a leap year\n", year);
else
printf("%d is not a leap year\n", year);
Оператор % неможливо застосувати із float та double. Напрямок округлення у випадку / і знак результату % є машинозалежним для від'ємних чисел, так само як дії у випадку втрати значності або переповнення. Оператори + та - рівні за пріоритетом, але мають менший пріоритет ніж *, / і %, які в свою чергу, поступаються унарним + та -. Арифметичні оператори діють з ліва на право.Арифметичні вирази будує користувач відповідно до умови задачі зі сталих, змінних, функцій, поєднуючи їх за певними правилами за допомогою символів операцій.
Результатом обчислення арифметичного виразу є число.
І. Числові вирази
В них використовуються арифметичні та логічні операції, операції порівняння і виконуються арифметичні функції.
MOD - знаходження остачі від ділення; наприклад: 10 MOD 3 →1
+, - - додавання, віднімання.
Для зміни природної послідовності виконання арифметичних операцій використовують круглі дужки. Інші види дужок не допускаються. Кількість відкритих і закритих дужок у виразі повинна бути однаковою. Спочатку обчислюють вирази в дужках.
ІІ. Символьні (текстові) вирази
Результатом обчислення є рядок. Над рядками символів можна виконувати такі операції:
2) визначення довжини рядка; 3) виділення підрядка з рядка; 4) порівняння рядків і т.д.
Oсновні арифметичні функції, їх застосування У програмі на мові Сі.
арифметичні функції містяться у файлі <math.h> (компілятори мови С) або у файлі <сmath> (компілятори мови С++). Аргументи x та y мають тип double, n – тип int; усі функції повертають значення типу double.
Логічні вирази – вирази, призначені для записування різноманітних умов.Умовні оператори забезпечують виконання чи невиконання деякого оператора або послідовності операторів в залежності від заданих умов
Умовні оператори реалізують розгалуження процесу виконання програми та дають змогу вибрати один з можливих варіантів продовження програми. Мова С має два вии умовних операторів: if та switch.
Операції автоматичного збільшення та зменшення на мові Сі.
У мові C++ є дві операції для збільшення і зменшення значень змінних. Унарна операція збільшення ++ (інкремент) додає одиницю до свого операнда, а унарна операція зменшення -- (декремент) віднімає одиницю. Наприклад, використання операції ++ для збільшення змінних:
if(c == '\n')
i++;
Незвичайний аспект полягає в тому, що операції ++ і -- можна використати як префіксні (++n), так і як постфіксні (n++). Ефект в обох випадках полягає в збільшенні N. Але вираз ++n збільшує змінну n до використання її значення, у той час як n++ збільшує змінну n після того, як її значення було використано. Це означає, що використання ++n і n++ призводить до різних результатів. Якщо n = 5, то:
х = n++; // встановлює x рівним 5,
х = ++n; // встановлює x рівним 6.
В обох випадках n стає рівним 6. Операції збільшення і зменшення можна застосовувати тільки до змінної. Вираз типу х = (I + J)++ є помилковим.
У випадках, де потрібне тільки збільшення, а саме значення не використовується, як, наприклад, у
if (c == '\n')
nl++;
то вибір префіксної або постфіксної операції довільний, але є ситуації, де потрібно використати саме ту або іншу операцію.