C Условный оператор: IF, IF Else и вложенный IF Else с примером

Содержание:

Anonim

Что такое условный оператор в C?

Условные операторы в программировании на C используются для принятия решений на основе условий. Условные операторы выполняются последовательно, когда вокруг операторов нет условий. Если вы поставите какое-то условие для блока операторов, поток выполнения может измениться в зависимости от результата, оцененного условием. Этот процесс называется принятием решения в букве «C».

В программировании на 'C' условные операторы возможны с помощью следующих двух конструкций:

1. Если заявление

2. Заявление If-else

Это также называется ветвлением, поскольку программа решает, какой оператор выполнить, на основе результата оцениваемого условия.

В этом руководстве вы узнаете:

  • Что такое условное утверждение?
  • Если заявление
  • Операторы отношения
  • Заявление If-Else
  • Условные выражения
  • Вложенные операторы If-else
  • Вложенные операторы Else-if

Если заявление

Это одно из мощных условных операторов. Оператор If отвечает за изменение потока выполнения программы. Оператор If всегда используется с условием. Условие сначала оценивается перед выполнением любого оператора внутри тела If. Синтаксис оператора if следующий:

 if (condition)instruction; 

Условие оценивается как истинное или ложное. Истина всегда ненулевое значение, а ложь - это значение, содержащее ноль. Инструкции могут быть отдельной инструкцией или блоком кода, заключенным в фигурные скобки {}.

Следующая программа иллюстрирует использование конструкции if в программировании на языке C:

#includeint main(){int num1=1;int num2=2;if(num1

Выход:

num1 is smaller than num2

Вышеупомянутая программа иллюстрирует использование конструкции if для проверки равенства двух чисел.

  1. В приведенной выше программе мы инициализировали две переменные с num1, num2 со значениями 1, 2 соответственно.
  2. Затем мы использовали if с тестовым выражением, чтобы проверить, какое число наименьшее, а какое наибольшее. Мы использовали выражение отношения в конструкции if. Поскольку значение num1 меньше, чем num2, условие будет истинным.
  3. Таким образом, он напечатает оператор внутри блока If. После этого управление выйдет за пределы кадра и программа завершится с успешным результатом.

Операторы отношения

В C есть шесть операторов отношения, которые можно использовать для формулирования логического выражения для принятия решения и условий тестирования, которое возвращает истину или ложь:

<меньше чем

<= меньше или равно

> больше чем

> = больше или равно

== равно

!= Не равно

Обратите внимание, что проверка равенства (==) отличается от оператора присваивания (=), потому что это одна из наиболее распространенных проблем, с которыми сталкивается программист, смешивая их.

Например:

int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}

Выход :

 You succeed 

Имейте в виду, что условие, которое дает ненулевое значение, считается истинным.

Например:

int present = 1;if (present)printf("There is someone present in the classroom \n");

Выход :

There is someone present in the classroom 

Заявление If-Else

Оператор if-else is является расширенной версией If. Общая форма if-else следующая:

if (test-expression){True block of statements}Else{False block of statements}Statements;

В этом типе конструкции, если значение test-expression истинно, то будет выполнен истинный блок операторов. Если значение test-expression равно false, то будет выполнен блок операторов false. В любом случае после выполнения управление будет автоматически передано операторам, находящимся вне блока If.

Следующие программы иллюстрируют использование конструкции if-else:

Мы инициализируем переменную некоторым значением и напишем программу, чтобы определить, меньше ли значение десяти или больше десяти.

Давайте начнем.

#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;}

Выход:

The value is greater than 10

  1. Мы инициализировали переменную со значением 19. Мы должны выяснить, больше или меньше число 10, используя программу на языке C. Для этого мы использовали конструкцию if-else.
  2. Здесь мы предоставили условие num <10, потому что нам нужно сравнить наше значение с 10.
  3. Как вы можете видеть, первый блок всегда является истинным блоком, что означает, что если значение test-expression истинно, то будет выполнен первый блок, который равен If.
  4. Второй блок - это блок else. Этот блок содержит операторы, которые будут выполнены, если значение тестового выражения станет ложным. В нашей программе значение num больше десяти, поэтому тестовое условие становится ложным и выполняется блок else. Таким образом, наш вывод будет из блока else, который имеет значение «Значение больше 10». После if-else программа завершится с успешным результатом.

В программировании на языке C мы можем использовать несколько конструкций if-else друг в друге, что называется вложением операторов if-else.

Условные выражения

Есть еще один способ выразить оператор if-else - ввести оператор ? : . В условном выражении оператор ?: Имеет только один оператор, связанный с if и else.

Например:

#include int main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;}

Выход :

y =2

Вложенные операторы If-else

Когда требуется серия решений, используется вложенное if-else. Вложенность означает использование одной конструкции if-else внутри другой.

Напишем программу, чтобы проиллюстрировать использование вложенного if-else.

#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;}

Выход:

The value is:1

Вышеупомянутая программа проверяет, является ли число меньше или больше 10, и печатает результат, используя вложенную конструкцию if-else.

  1. Во-первых, мы объявили переменную num со значением 1. Затем мы использовали конструкцию if-else.
  2. Во внешнем if-else предоставленное условие проверяет, меньше ли число 10. Если условие истинно, тогда и только тогда оно выполнит внутренний цикл. В этом случае условие истинно, поэтому обрабатывается внутренний блок.
  3. Во внутреннем блоке у нас снова есть условие, которое проверяет, содержит ли наша переменная значение 1 или нет. Когда условие истинно, тогда он будет обрабатывать блок If, иначе он обработает блок else. В этом случае условие истинно, следовательно, блок If a выполняется, и значение печатается на экране вывода.
  4. Вышеупомянутая программа напечатает значение переменной и завершится успешно.

Попробуйте изменить значение переменной, посмотрите, как себя ведет программа.

ПРИМЕЧАНИЕ. Во вложенном if-else мы должны быть осторожны с отступами, потому что в этом процессе задействовано несколько конструкций if-else, поэтому становится трудно определить отдельные конструкции. Правильный отступ позволяет легко читать программу.

Вложенные операторы Else-if

Вложенный else-if используется, когда требуются решения о многолучевом распространении.

Общий синтаксис построения лестничных диаграмм else-if в программировании на 'C' следующий:

 if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;

Этот тип конструкции известен как лестница «иначе, если». Эта цепочка обычно выглядит как лестница, поэтому ее также называют лестницей else-if. Тестовые выражения оцениваются сверху вниз. Каждый раз, когда найдено истинное тестовое выражение, выполняется связанный с ним оператор. Когда все n тестовых выражений становятся ложными, выполняется инструкция else по умолчанию.

Давайте посмотрим на реальную работу с помощью программы.

#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;}

Выход:

First class

Вышеупомянутая программа печатает оценку в соответствии с оценками, полученными в тесте. В приведенной выше программе мы использовали конструкцию лестничной диаграммы else-if.

  1. Мы инициализировали переменную метками. В лестничной структуре else-if мы предусмотрели различные условия.
  2. Значение из меток переменных будет сравниваться с первым условием, поскольку верно, что оператор, связанный с ним, будет напечатан на экране вывода.
  3. Если первое условие проверки оказывается ложным, то оно сравнивается со вторым условием.
  4. Этот процесс будет продолжаться до тех пор, пока не будет вычислено выражение all, в противном случае управление уйдет из лестницы else-if и будет напечатан оператор по умолчанию.

Попробуйте изменить значение и обратите внимание на изменение вывода.

Резюме

  • Операторы принятия решений или ветвления используются для выбора одного пути на основе результата вычисленного выражения.
  • Его также называют управляющими операторами, потому что он контролирует ход выполнения программы.
  • 'C' обеспечивает конструкции if, if-else для операторов принятия решений.
  • Мы также можем вкладывать if-else друг в друга, когда нужно протестировать несколько путей.
  • Лестница else-if используется, когда нам нужно проверить различные способы на основе результата выражения.