Line 77 Corrected (#29591)

This commit is contained in:
mshokarimo
2019-04-11 20:08:38 +02:00
committed by Gregory Gubarev
parent 55ef2d8a95
commit e90ef7b580

View File

@ -1,258 +1,259 @@
--- ---
title: Conditional Statements title: Conditional Statements
localeTitle: Условные заявления localeTitle: Условные заявления
--- ---
# Условные утверждения в C # Условные утверждения в C
Условные утверждения также известны как ветвящиеся заявления. Они так называются, потому что программа выбирает следовать одной ветке или другой. Условные утверждения также известны как ветвящиеся заявления. Они так называются, потому что программа выбирает следовать одной ветке или другой.
## 1\. если утверждение ## 1\. если утверждение
Это самая простая форма условных утверждений. Он состоит из булевого выражения, за которым следуют одно или несколько операторов. Если выражение Boolean оценивается как **true** , тогда будет выполняться блок кода внутри оператора if. Если выражение Boolean оценивается как **false** , тогда будет выполнен первый набор кода после завершения оператора if (после закрытия фигурной скобки). Это самая простая форма условных утверждений. Он состоит из булевого выражения, за которым следуют одно или несколько операторов. Если выражение Boolean оценивается как **true** , тогда будет выполняться блок кода внутри оператора if. Если выражение Boolean оценивается как **false** , тогда будет выполнен первый набор кода после завершения оператора if (после закрытия фигурной скобки).
C язык программирования **_принимает любые ненулевые и ненулевые значения как истинные,_** а если он равен **_нулю или нулю, то он принимается как ложное_** значение. C язык программирования **_принимает любые ненулевые и ненулевые значения как истинные,_** а если он равен **_нулю или нулю, то он принимается как ложное_** значение.
#### Синтаксис #### Синтаксис
```C ```C
if(boolean_expression) if(boolean_expression)
{ {
//Block of Statements executed when boolean_expression is true //Block of Statements executed when boolean_expression is true
} }
``` ```
#### пример #### пример
```C ```C
int a = 100; int a = 100;
if(a < 200) if(a < 200)
{ {
printf("a is less than 200\n" ); printf("a is less than 200\n" );
} }
``` ```
#### Результат #### Результат
`a is less than 200` `a is less than 200`
## 2\. если ... else statement ## 2\. если ... else statement
Если логическое выражение оценивается как **true** , тогда будет выполняться блок if, иначе будет выполняться блок else. Если логическое выражение оценивается как **true** , тогда будет выполняться блок if, иначе будет выполняться блок else.
#### Синтаксис #### Синтаксис
```C ```C
if(boolean_expression) if(boolean_expression)
{ {
//Block of Statements executed when boolean_expression is true //Block of Statements executed when boolean_expression is true
} }
else else
{ {
//Block of Statements executed when boolean_expression is false //Block of Statements executed when boolean_expression is false
} }
``` ```
#### пример #### Пример
```C ```C
int a = 300; int a = 300;
if(a < 200) if(a < 200)
{ {
printf("a is less than 200\n" ); printf("a is less than 200\n" );
} }
else else
{ {
printf("a is more than 200\n"); printf("a is more than 200\n");
} }
``` ```
#### Результат #### Результат
`a is more than 200` `a is more than 200`
## 3\. если ... else if ... else statement ## 3\. if...else if...else утверждения
При использовании if ... else if..else утверждений следует иметь в виду несколько моментов - При использовании if ... else if..else утверждений следует иметь в виду несколько моментов -
* **Если if** может иметь **нуль или одно другое** , оно **должно появиться после любого другого, если оно есть** . * **if** может иметь **нуль или одно else** , оно **должно появиться после любого другого else if** .
* **Если if** может иметь **ноль для многих других if** , и они **должны прийти перед else** . * **Если if** может иметь **ноль для многих других if** , и они **должны прийти перед else** .
* Как только **else, если это** удастся, ни одно из оставшихся else if или else не будет проверено. * Как только **else, если это** удастся, ни одно из оставшихся else if или else не будет проверено.
#### Синтаксис #### Синтаксис
```C ```C
if(boolean_expression_1) if(boolean_expression_1)
{ {
//Block of Statements executed when boolean_expression_1 is true //Block of Statements executed when boolean_expression_1 is true
} }
else if(boolean_expression_2) else if(boolean_expression_2)
{ {
//Block of Statements executed when boolean_expression_1 is false and boolean_expression_2 is true //Block of Statements executed when boolean_expression_1 is false and boolean_expression_2 is true
} }
else if(boolean_expression_3) else if(boolean_expression_3)
{ {
//Block of Statements executed when both boolean_expression_1 and boolean_expression_2 are false and boolean_expression_3 is true //Block of Statements executed when both boolean_expression_1 and boolean_expression_2 are false and boolean_expression_3 is true
} }
else else
{ {
//Block of Statements executed when all boolean_expression_1, boolean_expression_2 and boolean_expression_3 are false //Block of Statements executed when all boolean_expression_1, boolean_expression_2 and boolean_expression_3 are false
} }
``` ```
#### пример #### пример
```C ```C
int a = 300; int a = 300;
if(a == 100) if(a == 100)
{ {
printf("a is equal to 100\n" ); printf("a is equal to 100\n" );
} }
else if(a == 200) else if(a == 200)
{ {
printf("a is equal to 200\n"); printf("a is equal to 200\n");
} }
else if(a == 300) else if(a == 300)
{ {
printf("a is equal to 300\n"); printf("a is equal to 300\n");
} }
else else
{ {
printf("a is more than 300\n"); printf("a is more than 300\n");
} }
``` ```
#### Результат #### Результат
`a is equal to 300` `a is equal to 300`
## 4\. Вложенное выражение if ## 4\. Вложенное выражение if
В программировании на языке C всегда разрешено вставлять операторы if-else, что означает, что вы можете использовать один оператор if или else if внутри другого if if else if statement (s). В программировании на языке C всегда разрешено вставлять операторы if-else, что означает, что вы можете использовать один оператор if или else if внутри другого if if else if statement (s).
#### Синтаксис #### Синтаксис
```C ```C
if(boolean_expression_1) if(boolean_expression_1)
{ {
//Executed when boolean_expression_1 is true //Executed when boolean_expression_1 is true
if(boolean_expression_2) if(boolean_expression_2)
{ {
//Executed when both boolean_expression_1 and boolean_expression_2 are true //Executed when both boolean_expression_1 and boolean_expression_2 are true
} }
} }
``` ```
#### пример #### пример
```C ```C
int a = 100; int a = 100;
int b = 200; int b = 200;
if(a == 100) if(a == 100)
{ {
printf("a is equal to 100\n" ); printf("a is equal to 100\n" );
if(b == 200) if(b == 200)
{ {
printf("b is equal to 200\n"); printf("b is equal to 200\n");
} }
} }
``` ```
#### Результат #### Результат
```bash ```bash
a is equal to 100 a is equal to 100
b is equal to 200 b is equal to 200
``` ```
## 5\. Заключение ## 5\. Заключение
Оператор switch часто быстрее, чем вложенный, если ... else (не всегда). Кроме того, синтаксис оператора switch более понятен и понятен. Оператор switch часто быстрее, чем вложенный, если ... else (не всегда). Кроме того, синтаксис оператора switch более понятен и понятен.
### Синтаксис корпуса коммутатора ### Синтаксис корпуса коммутатора
``` ```
switch (n) switch (n)
{ {
case constant1: case constant1:
// code to be executed if n is equal to constant1; // code to be executed if n is equal to constant1;
break; break;
case constant2: case constant2:
// code to be executed if n is equal to constant2; // code to be executed if n is equal to constant2;
break; break;
. .
. .
. .
default: default:
// code to be executed if n doesn't match any constant // code to be executed if n doesn't match any constant
} }
``` ```
Когда найдена константа случая, которая соответствует выражению switch, управление программой переходит к блоку кода, связанному с этим случаем. Когда найдена константа случая, которая соответствует выражению switch, управление программой переходит к блоку кода, связанному с этим случаем.
В приведенном выше псевдокоде предположим, что значение n равно константе2. Компилятор выполнит блок кода, ассоциированный с оператором case, до конца блока переключателя или до тех пор, пока не будет встречен оператор break. В приведенном выше псевдокоде предположим, что значение n равно константе2. Компилятор выполнит блок кода, ассоциированный с оператором case, до конца блока переключателя или до тех пор, пока не будет встречен оператор break.
Оператор break используется для предотвращения использования кода в следующем случае. Оператор break используется для предотвращения использования кода в следующем случае.
### Пример: ### Пример:
``` ```
// Program to create a simple calculator // Program to create a simple calculator
// Performs addition, subtraction, multiplication or division depending the input from user // Performs addition, subtraction, multiplication or division depending the input from user
# include <stdio.h> # include <stdio.h>
int main() int main()
{ {
char operator; char operator;
double firstNumber,secondNumber; double firstNumber,secondNumber;
printf("Enter an operator (+, -, *, /): "); printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator); scanf("%c", &operator);
printf("Enter two operands: "); printf("Enter two operands: ");
scanf("%lf %lf",&firstNumber, &secondNumber); scanf("%lf %lf",&firstNumber, &secondNumber);
switch(operator) switch(operator)
{ {
case '+': case '+':
printf("%.1lf + %.1lf = %.1lf",firstNumber, secondNumber, firstNumber+secondNumber); printf("%.1lf + %.1lf = %.1lf",firstNumber, secondNumber, firstNumber+secondNumber);
break; break;
case '-': case '-':
printf("%.1lf - %.1lf = %.1lf",firstNumber, secondNumber, firstNumber-secondNumber); printf("%.1lf - %.1lf = %.1lf",firstNumber, secondNumber, firstNumber-secondNumber);
break; break;
case '*': case '*':
printf("%.1lf * %.1lf = %.1lf",firstNumber, secondNumber, firstNumber*secondNumber); printf("%.1lf * %.1lf = %.1lf",firstNumber, secondNumber, firstNumber*secondNumber);
break; break;
case '/': case '/':
printf("%.1lf / %.1lf = %.1lf",firstNumber, secondNumber, firstNumber/secondNumber); printf("%.1lf / %.1lf = %.1lf",firstNumber, secondNumber, firstNumber/secondNumber);
break; break;
// operator is doesn't match any case constant (+, -, *, /) // operator is doesn't match any case constant (+, -, *, /)
default: default:
printf("Error! operator is not correct"); printf("Error! operator is not correct");
} }
return 0; return 0;
} }
``` ```
### Вывод ### Вывод
``` ```
Enter an operator (+, -, *,): - Enter an operator (+, -, *,): -
Enter two operands: 32.5 Enter two operands: 32.5
12.4 12.4
32.5 - 12.4 = 20.1 32.5 - 12.4 = 20.1
``` ```
Оператор '-', введенный пользователем, сохраняется в переменной оператора. И два операнда 32.5 и 12.4 хранятся в переменных firstNumber и secondNumber соответственно. Оператор '-', введенный пользователем, сохраняется в переменной оператора. И два операнда 32.5 и 12.4 хранятся в переменных firstNumber и secondNumber соответственно.
Затем управление программой переходит к Затем управление программой переходит к
``` ```
printf("%.1lf / %.1lf = %.1lf",firstNumber, secondNumber, firstNumber/firstNumber); printf("%.1lf / %.1lf = %.1lf",firstNumber, secondNumber, firstNumber/firstNumber);
``` ```
Наконец, оператор break завершает оператор switch. Наконец, оператор break завершает оператор switch.
Если инструкция break не используется, все случаи после правильного случая выполняются.