Что такое условный оператор в 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 для проверки равенства двух чисел.
- В приведенной выше программе мы инициализировали две переменные с num1, num2 со значениями 1, 2 соответственно.
- Затем мы использовали if с тестовым выражением, чтобы проверить, какое число наименьшее, а какое наибольшее. Мы использовали выражение отношения в конструкции if. Поскольку значение num1 меньше, чем num2, условие будет истинным.
- Таким образом, он напечатает оператор внутри блока 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
- Мы инициализировали переменную со значением 19. Мы должны выяснить, больше или меньше число 10, используя программу на языке C. Для этого мы использовали конструкцию if-else.
- Здесь мы предоставили условие num <10, потому что нам нужно сравнить наше значение с 10.
- Как вы можете видеть, первый блок всегда является истинным блоком, что означает, что если значение test-expression истинно, то будет выполнен первый блок, который равен If.
- Второй блок - это блок else. Этот блок содержит операторы, которые будут выполнены, если значение тестового выражения станет ложным. В нашей программе значение num больше десяти, поэтому тестовое условие становится ложным и выполняется блок else. Таким образом, наш вывод будет из блока else, который имеет значение «Значение больше 10». После if-else программа завершится с успешным результатом.
В программировании на языке C мы можем использовать несколько конструкций if-else друг в друге, что называется вложением операторов if-else.
Условные выражения
Есть еще один способ выразить оператор if-else - ввести оператор ? : . В условном выражении оператор ?: Имеет только один оператор, связанный с if и else.
Например:
#includeint 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.
- Во-первых, мы объявили переменную num со значением 1. Затем мы использовали конструкцию if-else.
- Во внешнем if-else предоставленное условие проверяет, меньше ли число 10. Если условие истинно, тогда и только тогда оно выполнит внутренний цикл. В этом случае условие истинно, поэтому обрабатывается внутренний блок.
- Во внутреннем блоке у нас снова есть условие, которое проверяет, содержит ли наша переменная значение 1 или нет. Когда условие истинно, тогда он будет обрабатывать блок If, иначе он обработает блок else. В этом случае условие истинно, следовательно, блок If a выполняется, и значение печатается на экране вывода.
- Вышеупомянутая программа напечатает значение переменной и завершится успешно.
Попробуйте изменить значение переменной, посмотрите, как себя ведет программа.
ПРИМЕЧАНИЕ. Во вложенном 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.
- Мы инициализировали переменную метками. В лестничной структуре else-if мы предусмотрели различные условия.
- Значение из меток переменных будет сравниваться с первым условием, поскольку верно, что оператор, связанный с ним, будет напечатан на экране вывода.
- Если первое условие проверки оказывается ложным, то оно сравнивается со вторым условием.
- Этот процесс будет продолжаться до тех пор, пока не будет вычислено выражение all, в противном случае управление уйдет из лестницы else-if и будет напечатан оператор по умолчанию.
Попробуйте изменить значение и обратите внимание на изменение вывода.
Резюме
- Операторы принятия решений или ветвления используются для выбора одного пути на основе результата вычисленного выражения.
- Его также называют управляющими операторами, потому что он контролирует ход выполнения программы.
- 'C' обеспечивает конструкции if, if-else для операторов принятия решений.
- Мы также можем вкладывать if-else друг в друга, когда нужно протестировать несколько путей.
- Лестница else-if используется, когда нам нужно проверить различные способы на основе результата выражения.