> For the complete documentation index, see [llms.txt](https://op-al.gitbook.io/s-30-voprosy-i-dop.-voprosy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://op-al.gitbook.io/s-30-voprosy-i-dop.-voprosy/6.-konstrukcii-yazyka.-sostavnye-instrukcii-block-if-for-while-do-while-switch..md).

# 6. Конструкции языка. Составные инструкции block, if, for, while, do-while, switch.

### Составные инструкции block <a href="#sostavnye-instrukcii-block" id="sostavnye-instrukcii-block"></a>

**Составные инструкции (block)** – последовательность простых инструкций, заключенная в фигурные скобки.

:star: Block (отвечает за область видимости); переменная ,определенная в блоке, не будет видна за ним

```c
{
    int a;
    a = 12;
    return a;
}
```

## Условный оператор if

If – в базовой логической структуре ветвление. Конструкция бывает полной (if … else) и неполной (if ...). В зависимости от выполнения условия if выполняется либо одна, либо другая else последовательность действий

```cpp
if (a > b)
    maximum = a;
else if (a = b)
    maximum = 0;
else
    maximum = b;
```

## For - цикл с счетчиком

For - цикл с счетчиком. В условии цикла указывается переменная, которая и будет производить счет. Также указывается условие выполнения цикла (обычно ограничение счетчика) и шаг счетчика.

```c
for (i = 0; i < 10; i++){
    number = i + 1;
    printf ("%d", number);
}
```

:star:for(;;) - бесконечный цикл

## while - цикл с предусловием

While - цикл без счетчика (с предусловием). Для этого цикла надо указать только условие, при котором он будет выполняться. Цикл может вообще не начаться, если условие будет не выполнено.

```c
while (k < 10){
    printf("%d", k);
    k += 2;
}       
```

## do-while - цикл с постусловием

Do-while - цикл без счетчика (с постусловием). Для этого цикла надо указать только условие, при котором он будет выполняться. Цикл всегда сделает минимум одну итерацию (сначала делает, потом проверяет условие)

```c
do{
    printf("%d", k);
    k += 2;
}
while (k < 10);
```

## switch – оператор множественного выбора&#x20;

Switch – оператор множественного выбора. switch сравнивает значение одной переменной с несколькими константами с помощью case. break используется для того, чтобы прерывать ход программы в switch. Если не использовать break, то, после того, как выполнится один блок кода, программа переключится на выполнения следующего case, даже, если константное значение не будет равно значению в переменной.

```c
switch (n - 1)
{
    case 1: 
        result = 1;
        break;
    case 2:
        result = 2;
}
```
