Рубрики

Принятие решений в C / C ++ (if, if..else, Nested if, if-else-if)

В реальной жизни бывают ситуации, когда нам необходимо принять какие-то решения, и на основе этих решений мы решаем, что нам делать дальше. Подобные ситуации возникают и в программировании, когда нам необходимо принять некоторые решения, и на основе этих решений мы выполним следующий блок кода. Например, в C, если x встречается, выполнить y, иначе выполнить z. Также может быть несколько условий, как в C, если x возникает, тогда выполняется p, иначе, если выполняется условие y, выполняется q, иначе выполняется r. Это условие C else-if является одним из многих способов импорта нескольких условий.

Принятие решений на языках программирования определяет направление выполнения программы. Заявления о принятии решений, доступные в C или C ++:

  1. если заявление
  2. if..else заявления
  3. вложенные операторы if
  4. если-еще-если лестница
  5. переключать заявления
  6. Заявления о прыжке:
    1. перемена
    2. Продолжить
    3. перейти к
    4. возвращение

оператор if в C / C ++

утверждение if — самое простое утверждение принятия решения. Он используется для определения того, будет ли выполняться определенный оператор или блок операторов, т. Е. Если определенное условие истинно, тогда блок оператора выполняется иначе.
Синтаксис :

if(condition) 
{
   // Statements to execute if
   // condition is true
}

Здесь условие после оценки будет либо истинным, либо ложным. C if оператор принимает логические значения — если значение равно true, тогда он будет выполнять блок операторов под ним, иначе нет. Если мы не предоставим фигурные скобки '{' и '}' после if (условие), то по умолчанию оператор if будет считать первый непосредственно следующий оператор находящимся внутри его блока.
Пример :

if(condition)
   statement1;
   statement2;

// Here if the condition is true, if block 
// will consider only statement1 to be inside 
// its block.

блоксхема

С

// C программа для иллюстрации оператора If
#include <stdio.h>

  

int main() {

    int i = 10;

  

    if (i > 15)

    {

       printf("10 is less than 15");

    }    

     

    printf("I am Not in if");

}

C ++

// C ++ программа для иллюстрации оператора If
#include<iostream>

using namespace std;

  

    int main()

    {

        int i = 10;

   

        if (i > 15)

        {

           cout<<"10 is less than 15";

        }    

         

        cout<<"I am Not in if";

    }

Выход:

I am Not in if

В качестве условия, присутствующего в операторе if, ложно. Таким образом, блок под оператором if не выполняется.

if-else в C / C ++

Только оператор if говорит нам, что если условие истинно, оно выполнит блок операторов, а если условие ложно, то не будет. Но что, если мы хотим сделать что-то еще, если условие ложно. Здесь идет утверждение C else . Мы можем использовать оператор else с оператором if для выполнения блока кода, когда условие ложно.
Синтаксис :

if (condition)
{
    // Executes this block if
    // condition is true
}
else
{
    // Executes this block if
    // condition is false
}

Блок-схема :

Пример:

С

// C программа для иллюстрации оператора If
#include <stdio.h>

  

int main() {

    int i = 20;

  

    if (i < 15)

        printf("i is smaller than 15");

    else

        printf("i is greater than 15");

              

    return 0;    

}

C ++

// C ++ программа для иллюстрации оператора if-else
#include<iostream>

using namespace std;

  

int main()

 {

        int i = 20;

   

        if (i < 15)

            cout<<"i is smaller than 15";

        else

            cout<<"i is greater than 15";

              

    return 0;    

 }

Выход:

i is greater than 15

Блок кода, следующий за оператором else, выполняется как условие, присутствующее в операторе if, является ложным.

вложенный-если в C / C ++

Вложенный if в C является оператором if, который является целью другого оператора if. Вложенный оператор if означает оператор if внутри другого оператора if. Да, и C, и C ++ позволяют нам вкладывать операторы if в операторы if, т. Е. Мы можем помещать оператор if внутри другого оператора if.
Синтаксис:

if (condition1) 
{
   // Executes when condition1 is true
   if (condition2) 
   {
      // Executes when condition2 is true
   }
}

блоксхема

Пример:

С

// Программа на C, чтобы проиллюстрировать вложенный оператор if
#include <stdio.h>

  

int main() {

    int i = 10;

  

    if (i == 10)

    {

        // Первый оператор if

        if (i < 15)

           printf("i is smaller than 15\n");

  

        // Вложенный - оператор if

        // Выполняется только в том случае, если оператор выше

        // правда

        if (i < 12)

            printf("i is smaller than 12 too\n");

        else

            printf("i is greater than 15");

    }

  

    return 0;

}

C ++

// C ++ программа для иллюстрации вложенного оператора if
#include <iostream>

using namespace std;

  

int main() 

{

    int i = 10;

  

    if (i == 10)

    {

        // Первый оператор if

        if (i < 15)

           cout<<"i is smaller than 15\n";

  

        // Вложенный - оператор if

        // Выполняется только в том случае, если оператор выше

        // правда

        if (i < 12)

            cout<<"i is smaller than 12 too\n";

        else

            cout<<"i is greater than 15";

    }

  

    return 0;

}

Выход:

i is smaller than 15
i is smaller than 12 too

лестница if-else-if в C / C ++

Здесь пользователь может выбрать один из нескольких вариантов. Операторы C if выполняются сверху вниз. Как только одно из условий, управляющих условием if, имеет значение true, выполняется оператор, связанный с этим условием if, а остальная часть C в другом случае — обходится. Если ни одно из условий не выполняется, то выполняется последний оператор else.
Синтаксис:

if (condition)
    statement;
else if (condition)
    statement;
.
.
else
    statement;

Пример:

С

// Программа на C, чтобы проиллюстрировать вложенный оператор if
#include <stdio.h>

  

int main() {

    int i = 20;

   

    if (i == 10)

        printf("i is 10");

    else if (i == 15)

        printf("i is 15");

    else if (i == 20)

        printf("i is 20");

    else

        printf("i is not present");

}

C ++

// Программа на C ++ для иллюстрации лестницы if-else-if
#include<iostream>

using namespace std;

  

int main()

{

    int i = 20;

   

    if (i == 10)

        cout<<"i is 10";

    else if (i == 15)

        cout<<"i is 15";

    else if (i == 20)

        cout<<"i is 20";

    else

        cout<<"i is not present";

}

Выход:

i is 20

Заявления о переходе в C / C ++

Эти операторы используются в C или C ++ для безусловного потока управления через функции в программе. Они поддерживают четыре типа операторов перехода:

  1. C break: этот оператор управления циклом используется для завершения цикла. Как только оператор break встречается из цикла, итерации цикла останавливаются там, и управление сразу же возвращается из первого цикла после первого цикла.
    Синтаксис:
    break;
    

    В основном операторы break используются в ситуациях, когда мы не уверены в фактическом количестве итераций цикла или хотим завершить цикл на основании некоторого условия.

    Пример:

    С

    // C программа для иллюстрации
    // Линейный поиск

      
    #include <stdio.h>

      

    void findElement(int arr[], int size, int key) 

        // цикл до массива и поиск ключа

        for (int i = 0; i < size; i++) { 

            if (arr[i] == key) { 

                printf("Element found at position: %d", (i + 1)); 

                break;

            

        

      

    int main() {

        int arr[] = { 1, 2, 3, 4, 5, 6 }; 

          

        // нет элементов

        int n = 6;  

          

        // ключ для поиска

        int key = 3; 

      

        // Вызываем функцию для поиска ключа

        findElement(arr, n, key); 

      

        return 0;

    }

    C ++

    // Программа CPP для иллюстрации
    // Линейный поиск
    #include <iostream>

    using namespace std;

      

    void findElement(int arr[], int size, int key)

    {

        // цикл до массива и поиск ключа

        for (int i = 0; i < size; i++) {

            if (arr[i] == key) {

                cout << "Element found at position: " << (i + 1);

                break;

            }

        }

    }

      
    // Программа драйвера для проверки вышеуказанной функции

    int main()

    {

        int arr[] = { 1, 2, 3, 4, 5, 6 };

        int n = 6; // нет элементов

        int key = 3; // ключ для поиска

      

        // Вызываем функцию для поиска ключа

        findElement(arr, n, key);

      

        return 0;

    }

    Выход:

    Element found at position: 3
    
  2. C continue: этот оператор управления циклом аналогичен оператору break . Оператор continue противоположен оператору break, вместо завершения цикла он заставляет выполнить следующую итерацию цикла.
    Как следует из названия, оператор continue заставляет цикл продолжить или выполнить следующую итерацию. Когда оператор continue выполняется в цикле, код внутри цикла, следующий за оператором continue, будет пропущен, и начнется следующая итерация цикла.
    Синтаксис:
    continue;
    

    Пример:

    С

    // C программа для объяснения использования
    // продолжения
    #include <stdio.h>

      

    int main() {

        // цикл от 1 до 10

        for (int i = 1; i <= 10; i++) { 

      

            // Если я равен 6,

            // переход к следующей итерации

            // без печати

            if (i == 6) 

                continue

      

            else

                // в противном случае вывести значение i

                printf("%d ", i); 

        

      

        return 0; 

    }

    C ++

    // C ++ программа для объяснения использования
    // продолжения

      
    #include <iostream>

    using namespace std;

      

    int main()

    {

        // цикл от 1 до 10

        for (int i = 1; i <= 10; i++) {

      

            // Если я равен 6,

            // переход к следующей итерации

            // без печати

            if (i == 6)

                continue;

      

            else

                // в противном случае вывести значение i

                cout << i << " ";

        }

      

        return 0;

    }

    Выход:

    1 2 3 4 5 7 8 9 10
    
  3. C goto: оператор goto в C / C ++, также называемый оператором безусловного перехода, может использоваться для перехода из одной точки в другую внутри функции.
    Синтаксис :
    Syntax1      |   Syntax2
    ----------------------------
    goto label;  |    label:  
    .            |    .
    .            |    .
    .            |    .
    label:       |    goto label;
    

    В приведенном выше синтаксисе первая строка указывает компилятору перейти к оператору, помеченному как метка, или перейти к нему. Здесь метка является определяемым пользователем идентификатором, который указывает целевой оператор. Оператор, следующий сразу за «label:», является оператором назначения. «Label:» также может появляться перед «goto label»; утверждение в приведенном выше синтаксисе.

    Ниже приведены некоторые примеры использования оператора goto:

    Примеры:

    С

    // C программа для печати чисел
    // от 1 до 10 с помощью оператора goto
    #include <stdio.h>

      
    // функция для печати чисел от 1 до 10

    void printNumbers()

    {

        int n = 1;

    label:

        printf("%d ",n);

        n++;

        if (n <= 10)

            goto label;

    }

      
    // Программа драйвера для проверки вышеуказанной функции

    int main() {

        printNumbers();

        return 0;

    }

    C ++

    // C ++ программа для печати чисел
    // от 1 до 10 с помощью оператора goto
    #include <iostream>

    using namespace std;

      
    // функция для печати чисел от 1 до 10

    void printNumbers()

    {

        int n = 1;

    label:

        cout << n << " ";

        n++;

        if (n <= 10)

            goto label;

    }

      
    // Программа драйвера для проверки вышеуказанной функции

    int main()

    {

        printNumbers();

        return 0;

    }

    Выход:

    1 2 3 4 5 6 7 8 9 10
    
  4. Возврат C: возврат в C или C ++ возвращает поток выполнения функции, из которой он вызывается. Это утверждение не обязательно требует каких-либо условных заявлений. Как только оператор выполняется, поток программы немедленно останавливается и возвращает элемент управления, откуда он был вызван. Оператор return может возвращать или не возвращать что-либо для void-функции, но для не-void-функции необходимо вернуть возвращаемое значение.
    Синтаксис:
    return[expression];

    Пример:

    С

    // C код для иллюстрации возврата
    // заявление
    #include <stdio.h> 

      
    // не возвращаемый тип
    // функция для расчета суммы

    int SUM(int a, int b) 

        int s1 = a + b;

        return s1; 

      
    // возвращает void
    // функция для печати

    void Print(int s2)

    {

        printf("The sum is %d", s2);

        return;

    }

      

    int main() 

        int num1 = 10;

        int num2 = 10;

        int sum_of = SUM(num1, num2);

        Print(sum_of);

        return 0;

    }

    C ++

    // C ++ код для иллюстрации возврата
    // заявление
    #include <iostream>

    using namespace std;

      
    // не возвращаемый тип
    // функция для расчета суммы

    int SUM(int a, int b) 

        int s1 = a + b;

        return s1; 

      
    // возвращает void
    // функция для печати

    void Print(int s2)

    {

        cout << "The sum is "<< s2;

        return;

    }

      

    int main() 

        int num1 = 10;

        int num2 = 10;

        int sum_of = SUM(num1, num2);

        Print(sum_of);

        return 0;

    }

    Выход:

    The sum is 20
    

Эта статья предоставлена Суровым Агарвалом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Принятие решений в C / C ++ (if, if..else, Nested if, if-else-if)

0.00 (0%) 0 votes