Что такое условное заявление?
В программе «С» выполняются последовательно. Это происходит, когда нет условий вокруг утверждений. Если вы поставите некоторое условие для блока операторов, поток выполнения может измениться в зависимости от результата, оцененного этим условием. Этот процесс упоминается как принятие решения в «C». Заявления о принятии решений также называются контрольными заявлениями.
В программировании «C» условные операторы возможны с помощью следующих двух конструкций:
1. Если заявление
2. Оператор if-else
Это также называется ветвлением, поскольку программа решает, какой оператор выполнить на основе результата оцененного условия.
В этом уроке вы узнаете
- Что такое условное заявление?
- Если заявление
- Операторы отношений
- Утверждение If-Else
- Условные выражения
- Вложенные операторы If-else
- Вложенные операторы Else-if
Если заявление
Это одно из мощных условных утверждений. Оператор if отвечает за изменение потока выполнения программы. Оператор if всегда используется с условием. Условие оценивается в первую очередь перед выполнением любого оператора внутри тела If. Синтаксис для оператора if выглядит следующим образом:
if (condition) instruction;
Условие оценивается как истинное или ложное. True — это всегда ненулевое значение, а false — это значение, которое содержит ноль. Инструкции могут быть отдельной инструкцией или блоком кода, заключенным в фигурные скобки {}.
Следующая программа иллюстрирует использование конструкции if в программировании ‘C’:
#include<stdio.h> int main() { int num1=1; int num2=2; if(num1<num2) //test-condition { printf("num1 is smaller than num2"); } return 0; }
Вывод:
num1 is smaller than num2
Приведенная выше программа иллюстрирует использование конструкции if для проверки равенства двух чисел.
- В приведенной выше программе мы инициализировали две переменные с num1, num2 со значениями 1, 2 соответственно.
- Затем мы использовали if с тестовым выражением, чтобы проверить, какое число наименьшее, а какое наибольшее. Мы использовали реляционное выражение в конструкции if. Поскольку значение num1 меньше, чем num2, условие оценивается как истинное.
- Таким образом, он будет печатать инструкцию внутри блока If. После этого управление выйдет за пределы блока и программа будет завершена с успешным результатом.
Операторы отношений
В C есть шесть реляционных операторов, которые можно использовать для формулирования логического выражения для принятия решения и проверки условий, которые возвращают true или false:
<меньше чем
<= меньше или равно
> больше чем
> = больше или равно
== равно
!= Не равно
Обратите внимание, что проверка на равенство (==) отличается от оператора присваивания (=), потому что это одна из наиболее распространенных проблем, с которой сталкивается программист, смешивая их.
Например:
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 равно true, тогда будет выполнен истинный блок операторов. Если значение test-expression равно false, то блок операторов false будет выполнен. В любом случае после выполнения управление будет автоматически перенесено в операторы, появляющиеся за пределами блока If.
Следующие программы иллюстрируют использование конструкции if-else:
Мы инициализируем переменную с некоторым значением и напишем программу, чтобы определить, является ли значение меньше десяти или больше десяти.
Давайте начнем.
#include<stdio.h> int 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. Мы должны выяснить, больше или меньше число, используя программу «C». Для этого мы использовали конструкцию if-else.
- Здесь мы предоставили условие num <10, потому что мы должны сравнить наше значение с 10.
- Как вы можете видеть, первый блок всегда является истинным блоком, что означает, что если значение test-expression равно true, тогда будет выполнен первый блок, который является If.
- Второй блок — это еще блок. Этот блок содержит операторы, которые будут выполнены, если значение test-expression станет false. В нашей программе значение num больше десяти, следовательно, условие теста становится ложным, и в противном случае выполняется блок. Таким образом, наш вывод будет из блока else, который имеет значение «Значение больше 10». После if-else программа завершится с успешным результатом.
В программировании ‘C’ мы можем использовать несколько конструкций if-else внутри друг друга, которые называются вложенными операторами if-else.
Условные выражения
Есть еще один способ выразить оператор if-else, введя оператор ?: . В условном выражении оператор ?: Имеет только один оператор, связанный с if и else.
Например:
#include <stdio.h> 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.
#include<stdio.h> int 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, и значение выводится на экран вывода.
- Вышеуказанная программа напечатает значение переменной и завершится успешно.
Попробуйте изменить значение переменной, посмотрите, как ведет себя программа.
ПРИМЕЧАНИЕ. Во вложенном if-else мы должны быть осторожны с отступом, потому что в этот процесс вовлечено несколько конструкций if-else, поэтому становится трудно определить отдельные конструкции. Правильный отступ облегчает чтение программы.
Вложенные операторы Else-if
Nested 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 по умолчанию.
Давайте посмотрим фактическую работу с помощью программы.
#include<stdio.h> int 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.
- Мы инициализировали переменную с отметками. В остальной части конструкции лестницы мы предусмотрели различные условия.
- Значение из переменных меток будет сравниваться с первым условием, так как это правда, связанный с ним оператор будет напечатан на экране вывода.
- Если первое условие проверки оказывается ложным, то оно сравнивается со вторым условием.
- Этот процесс будет продолжаться до тех пор, пока не будет вычислено выражение all, в противном случае элемент управления выйдет из лестницы else-if и будет напечатан оператор по умолчанию.
Попробуйте изменить значение и обратите внимание на изменение в выводе.
Резюме
- Операторы принятия решений или ветвления используются для выбора одного пути на основе результата оцененного выражения.
- Он также называется управляющим оператором, потому что он контролирует ход выполнения программы.
- «C» обеспечивает конструкции if, if-else для заявлений о принятии решений.
- Мы также можем вкладывать if-else друг в друга, когда нужно проверить несколько путей.
- Лестница else-if используется, когда мы должны проверять различные способы на основе результата выражения.