5. Conditional Statements - C# Fundamentals
-
Upload
telerik-software-academy -
Category
Technology
-
view
1.608 -
download
0
Transcript of 5. Conditional Statements - C# Fundamentals
![Page 1: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/1.jpg)
Conditional Statements
Implementing Control Logic in C#
Svetlin Nakov
Telerik Software Academyacademy.telerik.com
Manager Technical trainerwww.nakov.com
http://csharpfundamentals.telerik.com
![Page 2: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/2.jpg)
Table of Contents
1. Comparison and Logical Operators
2. The if Statement
3. The if-else Statement
4. Nested if Statements
5. The switch-case Statement
2
![Page 3: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/3.jpg)
Comparison and Logical Operators
![Page 4: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/4.jpg)
Comparison Operators
4
Operator Notation in C#
Equals ==
Not Equals !=
Greater Than >
Greater Than or Equals >=
Less Than <Less Than or Equals <=
Example:
bool result = 5 <= 6;Console.WriteLine(result); // True
![Page 5: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/5.jpg)
Logical Operators
De Morgan laws !!A A !(A || B) !A && !B !(A && B) !A || !B
Operator Notation in C#
Logical NOT !
Logical AND &&
Logical OR ||
Logical Exclusive OR (XOR) ^
5
![Page 6: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/6.jpg)
if and if-elseImplementing Conditional Logic
![Page 7: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/7.jpg)
The if Statement The most simple conditional statement Enables you to test for a condition Branch to different parts of the code depending on the result The simplest form of an if statement:
if (condition) { statements;}
7
![Page 8: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/8.jpg)
Condition and Statement
The condition can be: Boolean variable Boolean logical expression Comparison expression
The condition cannot be integer variable (like in C / C++)
The statement can be: Single statement ending with a semicolon
Block enclosed in braces 8
![Page 9: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/9.jpg)
How It Works?
The condition is evaluated If it is true, the statement is
executed If it is false, the statement is
skipped
true
condition
statement
false
9
![Page 10: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/10.jpg)
The if Statement – Example
10
static void Main(){ Console.WriteLine("Enter two numbers.");
int biggerNumber = int.Parse(Console.ReadLine()); int smallerNumber = int.Parse(Console.ReadLine());
if (smallerNumber > biggerNumber) { biggerNumber = smallerNumber; }
Console.WriteLine("The greater number is: {0}", biggerNumber);}
![Page 11: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/11.jpg)
The if StatementLive Demo
![Page 12: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/12.jpg)
The if-else Statement
More complex and useful conditional statement
Executes one branch if the condition is true, and another if it is false
The simplest form of an if-else statement:if (expression) { statement1; }else { statement2; }
12
![Page 13: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/13.jpg)
How It Works ?
The condition is evaluated If it is true, the first statement is
executed If it is false, the second statement
is executed
condition
firststatement
true
secondstatement
false
13
![Page 14: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/14.jpg)
if-else Statement – Example
Checking a number if it is odd or even
string s = Console.ReadLine();int number = int.Parse(s);
if (number % 2 == 0){ Console.WriteLine("This number is even.");}else{ Console.WriteLine("This number is odd.");}
14
![Page 15: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/15.jpg)
The if-else Statement
Live Demo
![Page 16: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/16.jpg)
Nested if Statements Creating More Complex Logic
![Page 17: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/17.jpg)
Nested if Statements if and if-else statements can be
nested, i.e. used inside another if or else statement
Every else corresponds to its closest preceding ifif (expression) { if (expression) { statement; } else { statement; }}else statement;
17
![Page 18: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/18.jpg)
Nested if – Good Practices
Always use { … } blocks to avoid ambiguity Even when a single statement
follows Avoid using more than three levels of nested if statements
Put the case you normally expect to process first, then write the unusual cases
Arrange the code to make it more readable
18
![Page 19: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/19.jpg)
Nested if Statements – Example
if (first == second){ Console.WriteLine( "These two numbers are equal.");}else{ if (first > second) { Console.WriteLine( "The first number is bigger."); } else { Console.WriteLine("The second is bigger."); }}
19
![Page 20: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/20.jpg)
Nested ifStatement
sLive Demo
![Page 21: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/21.jpg)
Multiple if-else-if-else-…
Sometimes we need to use another if-construction in the else block Thus else if can be used:
21
int ch = 'X';
if (ch == 'A' || ch == 'a')
{
Console.WriteLine("Vowel [ei]");
}
else if (ch == 'E' || ch == 'e')
{
Console.WriteLine("Vowel [i:]");
}
else if …
else …
![Page 22: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/22.jpg)
Multiple if-else
StatementsLive Demo
![Page 23: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/23.jpg)
switch-caseMaking Several Comparisons at Once
![Page 24: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/24.jpg)
The switch-case Statement
Selects for execution a statement from a list depending on the value of the switch expression
switch (day){
case 1: Console.WriteLine("Monday"); break;case 2: Console.WriteLine("Tuesday"); break;case 3: Console.WriteLine("Wednesday"); break;case 4: Console.WriteLine("Thursday"); break;case 5: Console.WriteLine("Friday"); break;case 6: Console.WriteLine("Saturday"); break;case 7: Console.WriteLine("Sunday"); break;default: Console.WriteLine("Error!"); break;
}
24
![Page 25: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/25.jpg)
How switch-case Works?
1. The expression is evaluated
2. When one of the constants specified in a case label is equal to the expression The statement that corresponds
to that case is executed
3. If no case is equal to the expression If there is default case, it is
executed Otherwise the control is
transferred to the end point of the switch statement
25
![Page 26: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/26.jpg)
The switch-case Statement
Live Demo
![Page 27: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/27.jpg)
Using switch: Rules Variables types like string, enum and integral types can be used for switch expression The value null is permitted as a case label constant The keyword break exits the switch statement "No fall through" rule – you are obligated to use break after each case Multiple labels that correspond to the same statement are permitted
27
![Page 28: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/28.jpg)
Multiple Labels – Example
switch (animal){ case "dog" : Console.WriteLine("MAMMAL"); break; case "crocodile" : case "tortoise" : case "snake" : Console.WriteLine("REPTILE"); break; default : Console.WriteLine("There is no such
animal!"); break;}
You can use multiple labels to execute the same statement in more than one case
28
![Page 29: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/29.jpg)
Multiple Labels in a switch-case
Live Demo
![Page 30: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/30.jpg)
Using switch – Good Practices
There must be a separate case for every normal situation
Put the normal case first Put the most frequently executed
cases first and the least frequently executed last
Order cases alphabetically or numerically
In default use case that cannot be reached under normal circumstances
30
![Page 31: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/31.jpg)
Summary Comparison and logical operators are used to compose logical conditions The conditional statements if and if-else provide conditional execution of blocks of code
Constantly used in computer programming Conditional statements can be nested
The switch statement easily and elegantly checks an expression for a sequence of values
31
![Page 32: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/32.jpg)
форум програмиране, форум уеб дизайнкурсове и уроци по програмиране, уеб дизайн – безплатно
програмиране за деца – безплатни курсове и уроцибезплатен SEO курс - оптимизация за търсачки
уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop
уроци по програмиране и уеб дизайн за ученициASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC
безплатен курс "Разработка на софтуер в cloud среда"
BG Coder - онлайн състезателна система - online judge
курсове и уроци по програмиране, книги – безплатно от Наков
безплатен курс "Качествен програмен код"
алго академия – състезателно програмиране, състезания
ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NETкурсове и уроци по програмиране – Телерик академия
курс мобилни приложения с iPhone, Android, WP7, PhoneGap
free C# book, безплатна книга C#, книга Java, книга C#Дончо Минков - сайт за програмиранеНиколай Костов - блог за програмиранеC# курс, програмиране, безплатно
?
? ? ??
?? ?
?
?
?
??
?
?
? ?
Questions?
?
Conditional Statements
http://academy.telerik.com
![Page 33: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/33.jpg)
Exercises1. Write an if statement that examines two integer variables and exchanges their values if the first one is greater than the second one.
2. Write a program that shows the sign (+ or -) of the product of three real numbers without calculating it. Use a sequence of if statements.
3. Write a program that finds the biggest of three integers using nested if statements.
4. Sort 3 real values in descending order using nested if statements.
33
![Page 34: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/34.jpg)
Exercises (2)5. Write program that asks for a digit and depending on the input shows the name of that digit (in English) using a switch statement.
6. Write a program that enters the coefficients a, b and c of a quadratic equation
a*x2 + b*x + c = 0
and calculates and prints its real roots. Note that quadratic equations may have 0, 1 or 2 real roots.
7. Write a program that finds the greatest of given 5 variables.
34
![Page 35: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/35.jpg)
Exercises (3)
8. Write a program that, depending on the user's choice inputs int, double or string variable. If the variable is integer or double, increases it with 1. If the variable is string, appends "*" at its end. The program must show the value of that variable as a console output. Use switch statement.
9. We are given 5 integer numbers. Write a program that checks if the sum of some subset of them is 0. Example: 3, -2, 1, 1, 8 1+1-2=0.
35
![Page 36: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/36.jpg)
Exercises (4)10. Write a program that applies bonus scores to given scores in the range [1..9]. The program reads a digit as an input. If the digit is between 1 and 3, the program multiplies it by 10; if it is between 4 and 6, multiplies it by 100; if it is between 7 and 9, multiplies it by 1000. If it is zero or if the value is not a digit, the program must report an error.
Use a switch statement and at the end print the calculated new value in the console.
36
![Page 37: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/37.jpg)
Exercises (5)
11. * Write a program that converts a number in the range [0...999] to a text corresponding to its English pronunciation. Examples:
0 "Zero"
273 "Two hundred seventy three"
400 "Four hundred"
501 "Five hundred and one"
711 "Seven hundred and eleven"
37
![Page 38: 5. Conditional Statements - C# Fundamentals](https://reader033.fdocuments.us/reader033/viewer/2022060110/555a5fead8b42a47748b52a3/html5/thumbnails/38.jpg)
Free Trainings @ Telerik Academy
Fundamentals of C# ProgrammingCourse csharpfundamentals.telerik.com
Telerik Software Academy academy.telerik.com
Telerik Academy @ Facebook facebook.com/TelerikAcademy
Telerik Software Academy Forums forums.academy.telerik.com