Внимание! Практически весь материал этой лекции был в видеолекции. Если вы всё хорошо усвоили, просто пробегитесь глазами и переходите дальше.

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

Эти ребята проверяют, выполняется ли некоторое условие (логическое выражение, то есть вопрос, на который можно ответить только «да» или «нет») и исполняют некоторые действия, привязанные к этому условию. Пример из жизни: если пошел дождь (при условии, что пошел дождь) и я на улице (я во время дождя нахожусь на улице), я открываю зонтик. 

if (условие) {  
//исполнить, если значение истинно
}

Усложненный вариант: если условие выполняется, сделать действие, если нет — сделать другое действие. 

if (условие) {
//выполнить действие
}
else 
{
//выполнить другое действие, если условие ложно 
}

Пример: если тебе больше 18, одобрить доступ. Если меньше, не одобрить. 

if (age > 18) {
  printf("Доступ разрешён\n");
}
else 
{
   printf("Доступ запрещён\n");
}

Оператор выбора

switch (n)
{
  case const1: инструкции
  // если n равен const1, выполнить инструкции
    break; // условие совершилось — выйти из выбора
  case const2: инструкции
  // если n равен const2, выполнить
    break;
   ...
  default:
  // если n не равен ни одной из констант, выполнить
    break;
}

Команда Switch (переключатель) используется тогда, когда нужно выбрать один из многих вариантов. При этом все константы должны быть разными. Команда break вызывает немедленный выход из всей конструкции switch. Если ни одна из констант не подошла, тогда выполняется ветвь, помеченная словом default (по умолчанию).

Пример: если n = 50, напечатать «CS50 is Introduction to Computer Science I», если n = 51, напечатать «CS51 is Introduction to Computer Science II», иначе — напечатать «Sorry, I’m not familiar with that class!»

switch (n)
{
  case 50:    printf("CS50 is Introduction to Computer Science I\n");    
 break;  
  case 51:    printf("CS51 is Introduction to Computer Science II\n");   
 break;  
  default:    printf("Sorry, I'm not familiar with that class!\n");   
 break;
}

Циклы


while
: проверяет условие, затем исполняет действие, пока условие истинно

while (условие){
  // выполнять, пока истина 
}

do/while отличается тем, что первый раз он исполняет действие не проверяя условия, и только после этого осуществляет проверку. Если условие выполняется, цикл повторяет действие, пока условие не станет ложью. 

do
{
 // выполнять, пока истина
}
while (условие);

Цикл for повторяет действие заданное количество раз. 

for (int dwarves = 0; dwarves < 7; dwarves++) 
{
     printf("I’m here to help you, Snow White!\n");
}

Циклы можно вкладывать один в другой. В таком случае на каждом шаге внешнего цикла будет полностью выполняться внутренний цикл. 

for (int row = 0; row < 3; row++) 
{
     for (int column = 0; column < 4; column++)
     {
        printf("x");
     }
        printf("\n");
}