Операція вибору за умовою
це єдии 3-х місна операція, тобто працює одночасно з 3 операндами: x1?x2:x3 - якщо значення х1 = труе (будь якому не 0 значнню) то увесь вираз =х2; якщо х1=фальш, то увесь вираз =х3:
Приклади:
1). x=y?1:100;
2). z=(x>y)?x:y;
if (x>y) присвоюється більше чи х, чи у
z = x;
else
z = y;
Цб операцію викор там де викор оператор іф не можливе:априклад всередині ф-ї виклику.
Використання коми
викор в мові С в якості розділення оголошення змінної, агрументів ф-й, в деякий випадках «,» як знак відокремлювач.
обчислюєть ся 2 вирази: лівий - перший; значення цього виразу вважається результат обчимлення правого внутрш виразу:
x=(a++, b++) - значення
в присвобється значення х, далі
інкрементується значення а, потім
значенн в, бо операція ++ викор постфіксній
формі.
Оператори циклу Оператор for
викор для організації повтерень операторів, якщо к-сть повтерень відома на перед. програма виконується в порялдку сілдування операторів виконання розпочинається з maine іпродовджується оператор за оператором, поки ф-я майн не закінчується. для зміни порядку виконяння операторів викор оператор розгалуження
for(ініціалізація; умова; приріст) оператор; - дозволяє виконувуто блок 1 або 2 операторів певну к-сть разів.
3 оператор мови с представля/ть вирази мови С: 1обчислюється вираз ініцііалізації - оператор присвоювання;2обчислюється вираз умови, як правило це логічний вираз, що виражає відношення між величинами;3 якщо умова хибна, тобьо =0, то виконання оператора фор припиняється, і керування передається безпосердньо настопному за фор оператору; 4якщо умов істинна(не=0), то викон оператор циклів; 5обчислюється вираз приросту і виконання переходить до 2 етапу, якщо умова хибна спочатку, то оператор фор не викон жодного разу.
#include <stdio.h>
int main(void)
{
for (int s = 1; s <= 20; s++) printf("%d\n", s);
return 0;
}
Результат
1
2
.
.
20
Особливост опертора фор мона не писати оператор ініціалізації, якщо зміна цклу вже була ініціалізована раніше, але ; ставити об»язково. 2ініціалізація фор може і не бути взагалі(2 підпункт); 3оператора приросту теж може не бути(3 підпункт).4 після оператор фор може знаходитьсь порожній оператор, тоді вс робота циклу буде виконана в загаловку (4)
1. int s = 1; for(; s<1000;s++)
2. int s = 1; for (printf("New..."); s<1000; s++)
3. for(int s = 0; s<1000;) s++;
4.for(int s = 0; s<1000; a[s++] = 50);
Введення чисел з клавіатури поки не буде 99, при введені 99 робиться зупинка,
Приклади:
int n = 0;
for (; n != 99;)
scanf ("%d", &n);
int v[10], n = 0;
for (int c = 0; c<10 && n != 99; c++) - який приорітет роботи!
{
puts("Enter a number, 99 to quit"); scanf("%d", &n);
v[c] = n;
}
