Remkomplekty.ru

IT Новости из мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

If в си шарп

Условные операторы

В структурном программировании базовыми являются три структуры: последовательность, ветвление и цикл.

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

В языке C# — два типа условных операторов: двойного выбора (if) и множественного выбора (switch).

Оператор if

Оператор if. Для организации условного ветвления язык C# унаследовал от С и С++ конструкцию if…else (если … иначе).
Ее синтаксис понятен всем, кто программировал на процедурных языках:

if (условие) оператор (операторы) else оператор (операторы);

Если по каждому из условий нужно выполнить более одного оператора, эти операторы должны быть объединены в блок с помощью фигурных скобок <…>. Это также касается других конструкций C#, в которых операторы могут быть объединены в блок, таких как циклы for и while, см. далее.
Стоит обратить внимание, что в отличие от языков С и С++, в C# условный оператор if может работать только с булевскими выражениями, но не с произвольными значениями вроде -1 и 0.
В операторе if могут проверяться сложные логические выражения, и он может содержать операторы else, внутри которых могут вставлены другие операторы if (вложенность операторов).
Рассмотрим следующий пример:

Введем слово ЛОГИКА, тогда:

Как видите количество else if, добавляемых к единственному if, не ограничено.
Один момент, который следует отметить касательно if: фигурные скобки применять не обязательно, если в условной ветви присутствует только один оператор, как показано в примере.

Оператор switch

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

Важно отметить, что заданное выражение в операторе switch должно быть целочисленного типа (char, byte, short или int), перечислимого (enum) или же строкового (string). А выражения других типов, например с плавающей точкой, в операторе switch не допускаются. Зачастую выражение, управляющее оператором switch, просто сводится к одной переменной. Кроме того, константы выбора должны иметь тип, совместимый с типом выражения. В одном операторе switch не допускается наличие двух одинаковых по значению констант выбора.

Хотя оператор switch…case знаком программистам на С и С++, в C# он немного безопаснее, чем его эквивалент С++. В частности, он запрещает «сквозные» условия почти во всех случаях. Это значит, что если часть case вызывается в начале блока, то фрагменты кода за последующими частями case не могут быть выполнены, если только не используется явно оператор goto для перехода к ним. Компилятор обеспечивает это ограничение за счет требования, чтобы за каждой частью case следовал оператор break, в противном случае он выдает ошибку.
Рассмотрим на примере использование оператора switch:

Результат:

Перейдем к рассмотрению операторов цикла.

Условные операторы

Условные операторы – это конструкции, которые используют условные выражения для управления ходом выполнения программы.

Условный оператор if

Условный оператор if – используется в случаях, когда выполнение инструкции, или набора инструкций, зависит от некоторого логического выражения.

В языке C#, есть две формы условного оператора if: с неполным и полным ветвлением.

if с неполным ветвлением

Оператор с неполным ветвлением имеет следующий синтаксис:

Пример на языке C#:

Для выполнения нескольких инструкция, необходимо взять их в операторные скобки:

if с полным ветвлением

В операторе if с полным ветвлением, дополнительно используется ключевое слово else:

Читать еще:  Изучение си шарп с нуля

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

Пример использования оператора if

Рассмотрим задачу определения какой четверти координатной плоскости принадлежит точка с координатами (x, y). Будем считать, что точка не может лежать на осях.

Код программ для определения в какой четверти лежит заданная точка:

Тернарный условный оператор ?:

Тернарный оператор – единственный оператор языка С#, который работает сразу с тремя операндами, в зависимости от результата условия, которое задано в первом операнде, возвращает значение второго(если первый — true), или третьего(если первый — false) операнда. При этом второй и третий должны быть одинакового типа данных.

Тернарный оператор в качестве операндов может принимать другие тернарные операторы.

Если переписать код программы из предыдущего примера, с использованием тернарного оператора, то получим:

Как можно видеть, вся логика работы программы уместилась в одну строку кода.

Условный оператор switch

Конструкция switch позволяет сравнивать значение выражения сразу с несколькими вариантами.

Рассмотрим код, который конвертирует оценку пятибалльной шкалы из числа в текстовое представление:

С использованием switch код будет выглядеть так:

Выражение соответствия в скобках после switch, сравнивается с вариантами(метками), которые находяться за ключевым словом case. Если они эквивалентны, то выполняются инструкции до оператора break, который указывает на то, что нужно выйти из блока switch. В случае когда сравниваемое значение не соответствует ни одному из вариантов, выполняется блок default.

Для перехода с одного блока case в другой, можно использовать оператор goto case:

Блок default не обязательный. Если он не указан, а соответствия нет, то происходит выход из switch.

Использование break после операторов return, throw и goto case не обязательное.

Начиная с C# версии 7.0, выражение соответствия может быть любым выражением отличным от null. В предыдущих версиях языка допускались только: целочисленные, символьные, строковые, логические типы данных и перечисления.

лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Урок 2. Условия и множественный выбор

Урок # 2. C# Теория

Простые типы данных си шарп и переводы

Переводы

1. Неявный тип перевода;
2. Явный тип перевода ;
3. Между несовместимыми типами.

int myInt = 2147483647; long myLong= myInt;

double myDouble = 1234.6; int myInt = (int)myDouble;

double myDouble = 1234.6; int myInt = Convert.ToInt32(myDouble);

C# условные операторы

Else

Else if

Множественный выбор Switch

Задания и лабораторные си шарп

Выполнить: Запросить целое число. Проверить, является ли оно четным. Вывести результат.

[Название проекта: Lesson_2Lab1 , название файла L2Lab1.cs ]

Пример выполнения:

  • Запустите Visual Studio.
  • Создайте консольное приложение, назовите проект Lesson_2Lab1 .
  • В окне Solution Explorer (Обозреватель решений) найдите файл Program.cs и переименуйте его в L2Lab1.cs .
  • Установите курсор непосредственно после открытой скобки функции Main , щелкните enter, чтобы перейти на новую строку.
  • Попросите пользователя ввести число, используйте метод ReadLine() :

static void Main(string[] args)

. int numb = Int32.Parse(Console.ReadLine()); .

  • Необходимо проверить остаток при делении числа на 2.
  • Оператор ( % ) используется для проверки остатка при целочисленном делении числа.
  • Если остаток равен , это означает, что число четное.

    Добавьте блок else чтобы вывести результат при нечетном значении переменной numb . В таком случае выведите фразу «Введенное число нечетное»:

    Выполнить: Попросите пользователя ввести число. Проверьте, является ли введенное число положительным или оно является отрицательным. Выведите результат.

    Указание: Можно использовать следующие способы перевода введенного значения в числовое:

    [Название проекта: Lesson_2Task1 , название файла L2Task1.cs ]

    Пример выполнения:

    Выполнить: Дано двухзначное число. Вывести отдельно его десятичный разряд и разряд единиц (операторы % , / ).
    состоит из цифр 5 и 6 , но не -5 и -6 . Чтобы вывести модуль числа:

    Указание: Не забудьте выполнить перевод введенного значения в тип integer ( Int32.Parse(. ) ).

    [Название проекта: Lesson_2Task2 , название файла L2Task2.cs ]

    Читать еще:  Округление в меньшую сторону паскаль

    Пример выполнения:

    Выполнить: Дано трехзначное число. Измените его десятичный разряд в 0 .

    Указание 1: Сначала необходимо получить отдельно все три разряда числа. Затем присвоить разряду десяток . После чего получить число из разрядов. Пример получения числа:

    Указание 2: Не забудьте выполнить перевод введенного значения в числовой тип ( Int32.Parse(. ) ).

    [Название проекта: Lesson_2Task3 , название файла L2Task3.cs ]

    Пример выполнения:

    Выполнить: Даны три целых числа. Выведите true если, по крайней мере, два из них не равны, и выведите false в обратном случае.

    Указание: Логический оператор не равно — это != , логическое И — это оператор && :

    [Название проекта: Lesson_2task4 , название файла L2Task4.cs ]
    Пример выполнения:

    Выполнить: Вводится число — размер порции кофе (1=small 2=medium 3=large). В ответ вывести цену (1 — 25 руб, 2 — 50 руб, 3 — 75 руб). Использовать оператор switch .

    [Название проекта: Lesson_2Lab2 , название файла L2Lab2.cs ]

    Условные операторы в Си-шарп. Тернарный оператор

    Условные операторы служат для ветвления программы. В зависимости от некоторого условия выполняется тот или другой набор команд.

    В Си-шарп есть три условных оператора: «if-else», «switch» и «?:» — тернарный оператор.

    Оператор «if-else»

    Данный оператор имеет следующую структуру:

    if ([условное выражение])
    <
    Блок кода, который нужно выполнить при удовлетворении условия, [условное выражение] = true (истина)
    >
    else
    <
    Блок кода, который нужно выполнить при неудовлетворении условия, [условное выражение] = false (ложь)
    >

    Часть else не является обязательной и может отсутствовать.

    Пример использования оператора «if-else» в программе, которая проверяет вводимое число на чётность:

    static void Main(string[] args)
    <
    int a;
    Console.WriteLine(«Введите число:»);
    a = Convert.ToInt32(Console.ReadLine()); // вводим данные с клавиатуры*
    if (a % 2 == 0) //проверяем число на чётность путем нахождения остатка от деления числа на 2
    <
    Console.WriteLine(«Число » + a + » — чётное»);
    >
    else
    <
    Console.WriteLine(«Число » + a + » — нечётное»);
    >
    Console.ReadKey();
    >

    * Функция Console.ReadLine() позволяет ввести данные с клавиатуры. Данные вводятся как строка, а так как нужно число, мы преобразовываем ее в числовой тип. Для преобразования мы используем функцию Convert.ToInt32().

    Если после if или else необходимо выполнить лишь одну команду, фигурные скобки можно опускать:

    if ([условное выражение])
    [команда1] // команда1 выполнится лишь если условное выражение истинно
    [команда2]// команда2 выполнится в любом случае

    Оператор if может иметь несколько условий:

    if ([логическое выражение1])
    <блок1>
    else if ([логическое выражение2])
    <блок2>
    else

    Пример программы, которая определяет, какое из двух введенных чисел больше:

    static void Main(string[] args)
    <
    int a, b;
    Console.WriteLine(«Введите первое число:»);
    a = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine(«Введите второе число:»);
    b = Convert.ToInt32(Console.ReadLine());
    if (a > b)
    Console.WriteLine(«Первое число больше второго»);
    else if (a 40) //если температура меньше -20 или больше 40
    Console.WriteLine(«Вам лучше посидеть дома!»);
    else
    Console.WriteLine(«Можете идти гулять»);
    Console.ReadKey();
    >

    Оператор switch

    В некоторых случаях удобно использовать условный оператор «switch» вместо «if-else». Он имеет следующую структуру:

    switch (выражение)
    <
    case значение1:
    блок1;
    break;
    case значение2:
    блок2;
    break;
    .
    case значениеN:
    блокN;
    break;
    default:
    блокN+1;
    break;
    >

    Выражение сравнивается последовательно со значениями. Если выражение равно значению – выполняется соответственный блок кода и при достижении ключевого слова break оператор switch заканчивает работу. Если выражение не будет соответствовать ни одному значению, тогда выполнится блок после default.

    Пример программы с использованием switch, которая выводит на экран название дня недели соответственно вводимому порядковому номер дня:

    static void Main(string[] args)
    <
    int a;
    Console.WriteLine(«Введите порядковый номер дня недели:»);
    a = Convert.ToInt32(Console.ReadLine());
    switch (a)
    <
    case 1:
    Console.WriteLine(«Понедельник»);
    break;
    case 2:
    Console.WriteLine(«Вторник»);
    break;
    case 3:
    Console.WriteLine(«Среда»);
    break;
    case 4:
    Console.WriteLine(«Четверг»);
    break;
    case 5:
    Console.WriteLine(«Пятница»);
    break;
    case 6:
    Console.WriteLine(«Суббота»);
    break;
    case 7:
    Console.WriteLine(«Воскресенье»);
    break;
    default :
    Console.WriteLine(«Ошибка»);
    break;
    >
    Console.ReadKey();
    >

    Тернарный оператор «?:»

    Этот оператор используется для сокращения объема кода. Им можно заменять простые по сложности операторы if-else. Тернарный оператор имеет такую структуру:

    логическое выражение ? выражение1 : выражение2

    Сначала вычисляется логическое выражение. Если оно истинно, то вычисляется выражение1, в противном случае — вычисляется выражение2.

    Читать еще:  Табулирование функции паскаль примеры

    Пример использования тернарного оператора «?:» в той же программе для проверки числа на чётность:

    static void Main(string[] args)
    <
    int a;
    Console.WriteLine(«Введите число:»);
    a = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine( a % 2 == 0 ? «Число чётное» : «Число нечётное» );
    Console.ReadKey();
    >

    «?:» также можно использовать для присваивания значений. Пример программы, которая находит большее число из двух вводимых:

    static void Main(string[] args)
    <
    int a, b, max;
    Console.WriteLine(«Введите первое число:»);
    a = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine(«Введите второе число:»);
    b = Convert.ToInt32(Console.ReadLine());
    max = a > b ? a : b;
    >

    Домашнее задание

    1) С клавиатуры вводятся два числа – количество забитых голов хозяевами и гостями в футбольном матче. Вывести на экран результат игры – победили хозяева/гости/ничья.

    2) Напишите программу, которая будет проверять число на кратность 3-м и 7-ми (это числа 21, 42, 63…). Вывести на экран соответствующее сообщение.

    Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).

    Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим.

    Папиллярные узоры пальцев рук — маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.

    Операторы выбора в C# (си шарп)

    Операторы выбора в C# (си шарп) позволяют выполнять или не выполнять определенные блоки кода в зависимости от наступления определенных условий. Если условие выполняется, выражению присваивается значение true («истина»), и код внутри операторов выбора выполняется, иначе – присваивается значение false («ложь»), и код игнорируется.

    В C# (си шарп) самая популярная конструкция выбора – if-else («если-то»). Проводя аналог с человеческим языком, получаем: «если выполняется такое условие, делать вот это, а иначе делать вот это». Проверяемые условия – это операторы сравнения (те, кто сходны с математическими) и логического сравнения («и», «или»). После проверки условия и выполнения того или иного блока кода управление передается следующему за конструкцией выбора коду. Проверка, если она не находится в теле цикла, выполняется однократно.
    Приведем пример. На форме есть текстовое поле с именем textBox1, в которое пользователь вписывает ответ на заданный вопрос (user_ans). Правильный ответ (переменная tru_ans) – «Яблоко»:
    string tru_ans = «Яблоко»;
    string user_ans = textBox1.Text;
    if (tru_ans == user_ans) //если ответ пользователя совпадает с правильным
    <
    MessageBox.Show(«Ответ верный!»);
    >
    else //а иначе (если ответы не совпадают)
    <
    MessageBox.Show(«Ответ неверный!»);
    >

    Конструкцию выбора можно реализовать и по-другому: с помощью операторов switch-case («переключение на случай»). Оператор switch содержит проверяемое выражение. Внутри есть несколько Case с вариантами кода. Выполняться будет только один из Case, значение которого совпадет со значением switch. Вам или Вашей компании может понадобится качественный ит аудит от опытных профессионалов, знающих свое дело. Вы сможете заказать документирование ИТ-инфраструктуры, выявив узкие места и «точки отказа», путем оценки рисков связанных с обнаруженными проблемами. Вы получите объективную информацию о системе и экспертные рекомендации по ее улучшению. Операторов Case может быть множество, но они должны быть уникальными. После каждого блока Case должен стоять оператор перехода break. Если не выполняется ни один из случаев (Case), управление переходит к оператору Default. Если оператор Default не предусмотрен программистом, осуществляется выход из конструкции выбора и переход к последующему фрагменту.
    int a = 1;
    switch (a)
    <
    case 1:
    MessageBox.Show(«Первый случай»);
    break;
    case 5:
    MessageBox.Show(«Второй случай»);
    break;
    default:
    MessageBox.Show(«Ни один из случаев»);
    break;
    >

    Значение первого Case здесь равно единице. Это соответствует значению Switch, равному единице. Значит, на экран выведется сообщение «Первый случай». Если изменить код, и присвоить переменной a значение 5, выведется сообщение «Второй случай». Если переменная a станет равна 50, на экране появится сообщение «Ни один из случаев».

    . оператор выбора си шарп case в си шарп оператор выбора в c# switch си и case паскаль различия выбора в си шарп

  • Ссылка на основную публикацию
    ВсеИнструменты
    Adblock
    detector
    ×
    ×