С, если еще
Вступление
Оператор if используется для условного выполнения оператора или блока операторов. Условия могут быть истинными или ложными, выполнять одно, когда условие истинно, и другое, когда условие ложно.
Синтаксис:
if (выражение) заявления); [еще заявление (ы);]
Выражение после 'if' называется условием оператора if. Если выражение оценивается как истинное, выполняется оператор (ы), следующие за предложением 'if', и если выражение оценивается как ложное значение, выполняется оператор, следующий за предложением 'else'. Смотрите следующую графическую презентацию и простой пример выражения if-else.
Пример:
if (a == b)
printf ("%d is equal to %d", a, b);
else
printf ("%d is not equal to %d", a, b);
Если-то заявления:
Если мы хотим выполнить какой-то оператор (ы) при заданном условии, а в противном случае ничего, тогда синтаксис будет:
if (выражение) заявления);
Пример:
if (a == b)
printf ("if a is equal to b");
printf ("%d is equal to %d", a, b);
Примечание: в написании C-программирования нет правила отступа, мы можем написать приведенный выше код следующими способами:
if (a == b)
printf ("if a is equal to b");
printf ("%d is equal to %d", a, b);
if (a == b)
{
printf ("if a is equal to b");
printf ("%d is equal to %d", a, b);
}
Второй способ написания кода - это хорошая практика.
Полный пример условного оператора if-else
Следующая программа принимает целое число (целое число - это число, которое может быть записано без дробной или десятичной составляющей) в качестве входных данных от пользователя и определяет, является ли данное число положительным или отрицательным.
#include<stdio.h>
main()
{
int num;
printf("Input a number : ");
scanf("%d",&num);
if(num>0)
{
printf("This is a positive integer\n");
}
else // else portion of if statement
{
printf(" This is not a positive integer..Try again\n");
}
}
Следующая программа работает так же, как и в вышеуказанной программе. Но здесь мы используем два отдельных if-утверждения.
#include<stdio.h>
main()
{
int num;
printf("Input an integer : ");
scanf("%d",&num);
if(num>0)
{
printf("This is a positive integer\n");
}
if(num>=0)
{
printf(" This is not a positive integer..Try again\n");
}
}
Последовательные операторы if-then
Вы можете использовать последовательные операторы if, если условия не являются взаимоисключающими. Смотрите следующий пример, где мы хотим напечатать сообщения, чтобы сказать, какие из трех переменных (между a, b, c) одинаковы:
if (a == b)
printf ("a = b");
if (a == c)
printf ("a = c");
if (b == c)
printf ("b = c")
Multiway if-else-Statement
Синтаксис многопоточного оператора if-else:
if (expression_1)
statement_1
else if (expression_2)
statement_2
.
.
.
else if (expression_n)
statement_n
else
other_statement
Во время выполнения компилятор будет проверять выражение (условие) одно за другим, и если какое-либо выражение (условие) окажется истинным, будет выполнен соответствующий оператор. Если ни одно из выражений (условие) не является истиной, то оператор после последнего будет выполнен.
Пример:
Например, в экзаменационной оценке есть система оценок. Правила определены в следующей таблице.
Гол | класс |
---|---|
> = 90% | Отлично |
От 80% до 89% | Отлично |
От 60% до 79% | Хорошо |
От 50% до 59% | Средний |
От 40% до 49% | Бедные |
<40% | Не повышен |
Следующая программа определяет оценку ученика в соответствии с правилами указанной таблицы. Программа должна ввести балл студента.
#include<stdio.h>
main()
{
int num;
printf("Input score :");
scanf("%d",&num);
if (num>=90)
{
printf("Grade : Excellent");
}
else if(num>=80 && num<90)
{
printf("Grade : Very Good");
}
else if(num>=60 && num<80)
{
printf("Grade : Good");
}
else if(num>=50 && num<60)
{
printf("Grade : Average");
}
else if(num>=40 && num<50)
{
printf("Grade : Poor");
}
else
{
printf("Grade : Not Promoted");
}
}
Вот блок-схема указанной программы:
Вложенные операторы if-then-else
Каждый оператор if сам по себе является оператором, поэтому он может быть вложен в другой оператор if. Вложение может продолжаться бесконечно. Смотрите следующий пример (используется вложенный if-else), который находит минимум среди трех чисел.
#include<stdio.h>
main()
{
int num1=5, num2=3, num3=-12, min;
if(num1<num2)
{
if(num1<num3)
min = num1;
else
min = num3;
}
else
{
if(num2<num3)
min = num2;
else
min = num3;
}
printf("Among %d, %d, %d minimum number is %d",num1,num2,num3,min);
}
Выход:
Среди 5, 3, -12 минимальное число равно -12
Предыдущая: C printf ()
Далее: C для цикла
Новый контент: Composer: менеджер зависимостей для PHP , R программирования