首页 > 编程笔记 > C#笔记 阅读:11

C# if else语句用法详解(附带实例)

一个程序如果按部就班从头到尾,中间没有转折,其实无法完成太多工作。程序设计过程难免会需要转折,这个转折在程序设计中的术语称为流程控制,本节带大家系统学习 C# 中常用的 if else 流程控制语句。

C# if语句

if 语句的基本语法如下:
if(条件判断)
{
    程序代码区块;
}
上述语句的含义是如果条件判断是真(true),则执行程序代码区块,如果条件判断是伪(false),则不执行程序代码区块。

如果程序代码区块只有一道指令,可将上述语法包围程序代码区块的左大括号和右大括号省略,写成下列格式:
if(条件判断)
    程序代码区块;
可以用下列流程图说明这个 if 语句:


【实例】if 语句的基本应用。
int age;
Console.Write("请输入年龄 : ");
age = Convert.ToInt32(Console.ReadLine());
if (age < 20)
{
    Console.WriteLine("你年龄太小");
    Console.WriteLine("需满20岁才可以购买烟酒");
}
运行结果为:

请输入年龄 : 18
你年龄太小
需满20岁才可以购买烟酒

上述第 4 行的 (age<20) 就是一个条件判断,只有判断是真(true)才会执行第 6 和 7 行。

【实例】测试条件判断的程序代码区块只有 1 行,可以省略大括号。
int age;
Console.Write("请输入年龄 : ");
age = Convert.ToInt32(Console.ReadLine());
if (age < 20)
    Console.WriteLine("需满20岁才可以购买烟酒");
执行结果为:

请输入年龄 : 18
需满20岁才可以购买烟酒

C# if else语句

程序设计时更常用的功能是条件判断为真(true)时执行某一个程序代码区块,当条件判断为伪(False)时执行另一段程序代码区块,此时可以使用 if else 语句,它的语法格式如下:
if(条件判断)
{
    程序代码区块 1;
}
else
{
    程序代码区块 2;
}
上述语句的含义是如果条件判断是 True,则执行程序代码区块 1,如果条件判断是 False,则执行程序代码区块 2。

注意,上述程序代码区块 1 或是 2,若是只有一道指令,可以省略大括号。

可以用下列流程图说明 if else 语句:


【实例】重新设计方案,多了年龄满 20 岁时“欢迎购买烟酒”字符串的输出。
int age;
Console.Write("请输入年龄 : ");
age = Convert.ToInt32(Console.ReadLine());
if (age < 20)
{
    Console.WriteLine("你年龄太小");
    Console.WriteLine("需满20岁才可以购买烟酒");
}
else
    Console.WriteLine("欢迎购买烟酒");
如果用户输入的年龄小于20岁,输出将是:

请输入年龄 : 18
你年龄太小
需满20岁才可以购买烟酒


如果用户输入的年龄大于或等于20岁,输出将是:

请输入年龄 : 21
欢迎购买烟酒

C# if else if else语句

这是一个多重判断语句,在程序设计需要多个条件作比较时比较有用。

例如,在美国成绩计分是采取 A、B、C、D、F 等,通常 90~100 分是 A,80~89 分是 B,70~79 分是 C,60~69 分是 D,低于 60 分是 F。C# 程序语言使用这个语句,就可以很容易地完成这个工作。

这个语句的基本语法如下:
if(条件判断 1)
{
    程序代码区块 1;
}
else if(条件判断 2)
{
    程序代码区块 2;
}
...
else
{
    程序代码区块 3;
}
在上面语法格式中,若是程序代码区块只有一道指令,可以省略大括号删除。另外,else 语句可有可无,不过程序设计师,通常会加上此部分,以便语句有错时,更容易找出错误。

这个 if else if else语句的流程结构如下所示:


【实例】请输入数字分数,程序将响应 A、B、C、D 或 F 等级。
int sc;
Console.Write("请输入分数 : ");
sc = Convert.ToInt32(Console.ReadLine());
if (sc >= 90)
    Console.WriteLine(" A ");
else if (sc >= 80)
    Console.WriteLine(" B ");
else if (sc >= 70)
    Console.WriteLine(" C ");
else if (sc >= 60)
    Console.WriteLine(" D ");
else
    Console.WriteLine(" F ");
执行结果为:

请输入分数 : 90
A

这个程序的流程图如下:


【实例】这个程序要求输入字符,然后会告知输入的字符是大写字母、小写字母、阿拉伯数字还是特殊字符。
int ch;
Console.Write("请输入字符 : ");
ch = Console.Read();
if ((ch >= 'A') && (ch <= 'Z'))
    Console.WriteLine("这是大写字符");
else if ((ch >= 'a') && (ch <= 'z'))
    Console.WriteLine("这是小写字符");
else if ((ch >= '0') && (ch <= '9'))
    Console.WriteLine("这是数字");
else
    Console.WriteLine("这是特殊字符");
执行结果为:

请输入字符 : A
这是大写字符


上述程序第 4、第 6、第 8 行是比较完整的写法,也可以省略括号,如下所示:
if (ch >= 'A' && ch <='Z") // 第 5 行

相关文章