C Условный оператор:IF, IF Else и вложенный IF Else с примером
Что такое условное выражение в C?
Условные операторы в C программирование используется для принятия решений на основе условий. Условные операторы выполняются последовательно, когда вокруг операторов нет условий. Если вы поместите какое-либо условие для блока операторов, поток выполнения может измениться в зависимости от результата, оцениваемого условием. Этот процесс называется принятием решения в 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 истинно, то будет выполнен истинный блок операторов. Если значение 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. Нам нужно выяснить, больше это число или меньше 10, используя программу на языке C. Для этого мы использовали конструкцию if-else.
- Здесь мы предоставили условие num<10, потому что нам нужно сравнить наше значение с 10.
- Как видите, первый блок всегда является истинным блоком, что означает, что если значение test-expression равно true, то будет выполнен первый блок, т.е. If.
- Второй блок — это блок else. Этот блок содержит операторы, которые будут выполнены, если значение test-expression станет ложным. В нашей программе значение 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
Вложенный 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;
Этот тип структуры известен как лестница «иначе если». Эта цепочка обычно выглядит как лестница, поэтому ее также называют лестницей «иначе-если». Тестовые выражения оцениваются сверху вниз. Всякий раз, когда найдено истинное тестовое выражение, выполняется оператор, связанный с ним. Когда все 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 в приведенной выше программе.
- Мы инициализировали переменную с метками. В лестничной структуре else-if мы предусмотрели различные условия.
- Значение переменных отметок будет сравниваться с первым условием, поскольку оно истинно, и связанное с ним утверждение будет напечатано на экране вывода.
- Если первое условие проверки оказывается ложным, оно сравнивается со вторым условием.
- Этот процесс будет продолжаться до тех пор, пока не будет вычислено выражение all, в противном случае управление выйдет за рамки лестницы else-if и будет напечатан оператор по умолчанию.
Попробуйте изменить значение и обратите внимание на изменение вывода.
Обзор
- Принятие решения или операторы ветвления используются для выбора одного пути на основе результата оцененного выражения.
- Его также называют оператором управления, поскольку он управляет потоком выполнения программы.
- «C» предоставляет конструкции if, if-else для утверждений о принятии решений.
- Мы также можем вкладывать операторы if-else друг в друга, когда необходимо проверить несколько путей.
- Лестница else-if используется, когда нам нужно проверить различные способы на основе результата выражения.
Язык C
- Выражения, операторы и блоки C# (с примерами)
- C# if, if...else, if...else if и вложенный оператор if
- C++ если, если... еще и вложенный, если... еще
- C оператор if...else
- Оператор Java if...else
- Операторы в C++ с примером:что такое, типы и программы
- Оператор C++ Switch Case с ПРИМЕРОМ
- Структура С++ с примером
- std::list в C++ с примером
- Разница между структурой и классом:объяснение на примере C++