Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Колоквіум.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
948 Кб
Скачать
☆

Intprintf (char, *формат,arg_1,arg_2…),

Де вираз у душках називається специфікацією. Специфікація, яка заключена у лапки починається із знаку % і символу специфікатора, якими можуть бути:

Символ “-“ вирівнювання аргументів по лівому краю поля.

Число, що задає мінімальну ширину поля.

Крапка, що відділяє ширину поля від величини, що встановлю точність.

Число (точність) максимальної к-сті символів у рядку, або цифр після десяткової коми, для чисел з плаваючою комою, або максимальна к-сть цифр для цілого числа

Для коротких використовується позначення h, а для long – l.

Подібне має місце і для scanf (форматне введення даних).

Специфікатори

d,I - десяткове ціле

o – unsignedint (вісімкове ціле, беззнакове)

x,X - unsignedint (шістнадцяткове ціле, без знакове)

u – без знакове десяткове ціле

c – одиничний символ

f – double [±]Mdddd, де d порядок

e,E – double[±]Mdddd*е+хх

12.Арифметичні, логічні оператори. Відношення.

Арифметичні{+, - , * , / , (% -ділення націло ), (sqr-квадрат ) ,(sqrt - корінь) }

Логічні й відношення оператори{ >, <, <= , >=, != , (==дорівнює) ,(|| -дизюнкція) , ( &-кон’юнкція )

(<<зсув вліво) , (>>зсув вправо), (++інкремент), ( --декримент) }

13Оператори і вирази присвоювання.

Якщо між правою і лівою частиною стоїть”=” то це означає що лівій частині виразу початково присвоєно значення правої частини.

Якщо є : ( вир1– вир2 <=> вир1– вир2) –при цьому вир1 обчислюэться тільки один раз.

Конструкція (if(a>b) z=a else z=b) –якщо умова виконуэться то z – присвоюється – a,в іншому випадку b.

14.Вирази умов

Вирази на зразок if (a > b) z = a; else z = b; обчислюють z як найбільше значення з-поміж a та b. Умовний вираз із використанням трійчастого оператора «?:» дають альтернативний спосіб написання подібної конструкції. У виразі expr1 ? expr2 : expr3 вираз expr1 розглядається першим. Якщо expr1 ненульовий (істина), тоді обчислюється expr2, і це й буде кінцевим значенням цілого виразу умови. У протилежному випадку, обчислюється expr3, і він стане кінцевим значенням. Оцінюється тільки один із expr2 та expr3. Таким чином, щоб встановити z до максимального значення a або b, ми напишемо z = (a > b) ? a : b; /* z = max(a, b) */

Слід зауважити, що вираз умови — це дійсно вираз, і може бути використаний там де будь-який інший. Якщо expr2 і expr3 — різних типів, тип результату визначається правилами перетворення, обговорених раніше в цьому розділі. Наприклад, якщо f має тип float, а n — це int, тоді вираз (n > 0) ? f : n буде типу float, незалежно від того, чи n додатній.

Дужки не обов'язкові навколо першого виразу оскільки пріоритет ? й : дуже низький, лишень трохи вищий за присвоєння. Проте, їх рекомендовано вживати, оскільки вони роблять умовну частину виразу очевиднішою.

Умовні вирази, як правило, призводять до стислішого коду. Наприклад, наступний цикл виводить n елементів масиву, по 10 на кожний рядок, стовпчики будучи розділені пробілом, кожний рядок (включаючи останній) завершується символом нового рядка. for (i = 0; i < n; i++) printf("%6d%c", a[i], (i%10==9 || i==n-1) ? '\n' : ' ');

Символ нового рядка виводиться після кожного десятого елемента і після n-нного. За рештою елементів слідує пробіл. Це може здаватися складним, але воно компактніше ніж еквівалент ізif-else. Іншим хорошим прикладом є printf("You have %d items%s.\n", n, n==1 ? "" : "s");