1. Jordan Belfort12.03.2025 в 18:34от
Загрузка...

[c#] урок #5 - условные операторы

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем million, 04.05.2017.

  1. million

    logs x install
    million

    Статус:
    Оффлайн
    Регистрация:
    02.05.17
    Сообщения:
    57
    Репутация:
    24 +/-
    Условные операторы позволяют управлять потоком выполнения программы, чтобы не было последовательного выполнения строк программы. То есть позволяют выполнять определённые действия при различных условиях.

    Оператор If: C# унаследовал (от C и C++) конструкцию условного ветвления «if-else» (если-иначе). Синтаксис данной конструкции предельно прост:

    Код:
    if(условие)
        Оператор(ы)
    else
        Оператор(ы)
    
    Если по каждому из условий нужно выполнить более одного оператора, то эти операторы должны быть объединены в блок с помощью фигурных скобок (Это также касается других конструкций):
    Код:
    if(a == 0) //Если переменная «a» равна нулю
    {
        //Оператор 1
        //...
        //Оператор N
    }
    else //Иначе, т.е. если переменная «а» не равна нулю
    {
        //Оператор 1
        //...
        //Оператор N
    }
    
    Конструкция предусматривает проверку нескольких условий одновременно при помощи логического оператора «&&» (AND - И) или логического оператора «||» (OR - Или). (Операция «a && b» соответствует операции «a & b» и операция «a || b» соответствует операции «a | b»). При использовании оператора AND действие будет выполняться только в том случае, когда оба условия выполняются, а при использовании оператора OR действие будет выполняться при выполнении хотя бы одного условия.

    Операторы отношения: термин отношения означает взаимосвязь, которая может существовать между двумя значениями. К их числу относятся:
    [​IMG]

    Логические операторы: термин логический означает взаимосвязь между логическими значениями "истина" и "ложь".
    [​IMG]

    Давайте рассмотри следующий пример:
    Код:
    using System;
    
    namespace IfElse
    {
        class IfElse
        {
            static void Main()
            {
                /*Объявляем и инициализируем переменную
                Мы можем присвоить ей введённый текст*/
                string str = "Текст");
    
                //Если длина строки «str» меньше пяти
                if(str.Length < 10)
                    Console.WriteLine("В данный строке меньше 10 символов");
                    //То выведем сообщение о том, что в строке меньше 10 символов
    
                /*Если длина строки больше 10 и меньше 20 символов
                Здесь мы применяем одновременно 2 условия*/
                else if((str.Length >= 5) && (str.Length <= 12))
                    Console.WriteLine("В данной строке {0} символов",str.Length);
                    //То выведем сообщение с точным количеством символов
    
                //Иначе, то есть если условия выше не подходят, то выведем следующее сообщение
                else Console.WriteLine("В данной строке больше 20 символов");
            
                Console.ReadKey();
            }
        }
    }
    

    Оператор Switch: обеспечивает многонаправленное ветвление программы. Несмотря на то, что многонаправленную проверку можно осуществить с помощью последовательного ряда операторов if, в большинстве случаях более эффективным оказывается применение оператора switch. Синтаксис данного оператора выглядит следующим образом:

    Код:
    switch(выражение)
    {
        case Константа1:
            //Последовательность операторов
            break;
        case Константа2:
            //Последовательность операторов
            break;
        default:
            //Последовательность операторов
            break;
    }
    
    Пример использования оператора Switch:
    Код:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Введите цифру (один - пять):");
                string str = Console.ReadLine();
                Choose(str);
                Console.ReadLine();
            }
    
            static void Choose(string s)
            {
                switch (s)
                {
                    case "один":
                        Console.WriteLine("1");
                        break;
                    case "два":
                        Console.WriteLine("2");
                        break;
                    case "три":
                        Console.WriteLine("3");
                        break;
                    case "четыре":
                        Console.WriteLine("4");
                        break;
                    case "пять":
                        Console.WriteLine("5");
                        break;
                    default:
                        Console.WriteLine("Введите буквами цифру от одного до пяти");
                        break;
                }
            }
        }
    }
    Выражение в операторе switch должно быть целочисленного, перечислимого или строкового типа.



    Тернарный оператор: очень примечательный оператор в C#, который часто используется вместо конструкции «if-else». Синтаксис данного оператора выглядит следующим образом:

    Код:
    Выражение1 ? Выражение2 : ВыражениеЗ;
    Рассмотрим пример:
    Код:
    for (int i = 0; i < 10; i++)
    {
        if (i % 2 == 0 ? true : false)
            Console.WriteLine(i);
    }
    В данном примере мы выводим все чётные числа из заданного диапазона. Если число делится на 2 без остатка, то выводим его в консоль.

    Mathian Developer https://procoder.su
     
      edward_freedom и Anngor нравится это.
  2. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    32
    Репутация:
    2.084 +/-
    //Если длина строки «str» меньше пяти
    if(str.Length < 10)
    меньше десяти может ?

    /*Если длина строки больше 10 и меньше 20 символов
    Здесь мы применяем одновременно 2 условия*/
    else if((str.Length >= 5) && (str.Length <= 12))
     
    Последнее редактирование: 04.05.2017
      Anngor нравится это.
  3. million

    logs x install
    million

    Статус:
    Оффлайн
    Регистрация:
    02.05.17
    Сообщения:
    57
    Репутация:
    24 +/-
    На сколько я знаю, то нет.
     
  4. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    32
    Репутация:
    2.084 +/-
    ошибок куча )
     
  5. million

    logs x install
    million

    Статус:
    Оффлайн
    Регистрация:
    02.05.17
    Сообщения:
    57
    Репутация:
    24 +/-
    Рассказывай)
     
  6. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    32
    Репутация:
    2.084 +/-
    using System;

    namespace IfElse
    {
    class IfElse
    {
    static void Main()
    {
    /*Объявляем и инициализируем переменную
    Мы можем присвоить ей введённый текст*/
    string str = "Текст");

    //Если длина строки «str» меньше пяти
    if(str.Length < 10)
    Console.WriteLine("В данный строке меньше 10 символов");
    //То выведем сообщение о том, что в строке меньше 10 символов

    /*Если длина строки больше 10 и меньше 20 символов
    Здесь мы применяем одновременно 2 условия*/
    else if((str.Length >= 5) && (str.Length <= 12))
    Console.WriteLine("В данной строке {0} символов",str.Length);
    //То выведем сообщение с точным количеством символов

    //Иначе, то есть если условия выше не подходят, то выведем следующее сообщение
    else Console.WriteLine("В данной строке больше 20 символов");

    Console.ReadKey();
    }
    }
    }
    одна большая ошибка . первый пост читай , и то там не всё дописано )
     
  7. Ino

    Ino

    Статус:
    Оффлайн
    Регистрация:
    17.12.15
    Сообщения:
    32
    Репутация:
    2.084 +/-
    глянь комментарии к коду свои , они неправильные )
    в объявлении строки лишняя скобка )