Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

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

Что такое условное выражение в C?

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

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

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

2. Оператор if-else

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

В этом уроке вы узнаете-

Если оператор

Это один из мощных условных операторов. Оператор 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 для проверки равенства двух чисел.

  1. В приведенной выше программе мы инициализировали две переменные числами num1 и num2 со значениями 1 и 2 соответственно.
  2. Затем мы использовали if с тестовым выражением, чтобы проверить, какое число является наименьшим, а какое — наибольшим. Мы использовали реляционное выражение в конструкции if. Поскольку значение num1 меньше, чем num2, условие будет оцениваться как истинное.
  3. Таким образом, оператор будет напечатан внутри блока 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

  1. Мы инициализировали переменную со значением 19. Нам нужно выяснить, больше это число или меньше 10, используя программу на языке C. Для этого мы использовали конструкцию if-else.
  2. Здесь мы предоставили условие num<10, потому что нам нужно сравнить наше значение с 10.
  3. Как видите, первый блок всегда является истинным блоком, что означает, что если значение test-expression равно true, то будет выполнен первый блок, т.е. If.
  4. Второй блок — это блок 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.

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

Этот тип структуры известен как лестница «иначе если». Эта цепочка обычно выглядит как лестница, поэтому ее также называют лестницей «иначе-если». Тестовые выражения оцениваются сверху вниз. Всякий раз, когда найдено истинное тестовое выражение, выполняется оператор, связанный с ним. Когда все 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 в приведенной выше программе.

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

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

Обзор


Язык C

  1. Выражения, операторы и блоки C# (с примерами)
  2. C# if, if...else, if...else if и вложенный оператор if
  3. C++ если, если... еще и вложенный, если... еще
  4. C оператор if...else
  5. Оператор Java if...else
  6. Операторы в C++ с примером:что такое, типы и программы
  7. Оператор C++ Switch Case с ПРИМЕРОМ
  8. Структура С++ с примером
  9. std::list в C++ с примером
  10. Разница между структурой и классом:объяснение на примере C++