某学校准备与国际接轨,考试分数不再以数字出现在试卷上改为国外的ABCDE五级字母评分机制(假定),使用分支if结构或者if-else结构实现代码如下
if结构
图1
图2
上面图1与图2是使用if结构代码实现的整体
图1中的1 char result=' ';//因为最后的评级结果是单个的字符,所以声明为字符型,也可以声明成字符串型,建议使用字符型(内存开辟一个字节,省内存),result的值不是空字符而是有一个空格的字符,字符串可以有空字符串
图1中的 2 条件为:80 >=score && score < 90,不要写成80>=score<90,在C#中没有这种语法格式,必须分开写使用逻辑与&&连接组成判断条件的表达式
图2中的 3 最开始result结果是一个空格的字符,最后的结果由满足条件的语句进行赋值,赋值后会覆盖旧值,所以只在最后输出result的值即可,使用了占位符输出而没有使用连接符"+",推荐使用占位符的方式
if-else结构
图1
图2
上面图1与图2是使用if-else结构代码实现的整体
图1中的 1 的score>=80这个地方没有再写score<90,因为是在else中的判断条件,在上次的score>=90条件不成立时才进入else中的if条件判断中,隐含了把score>=90的剔除了,所以只写条件score>=80相当于 score>=80&&score<90,以下的score>=70是把大于80以上的剔除了,以此类推
图2中的 2 else表示小于分数60的,评级为E
在实现评级的代码中if结构中的条件使用了逻辑&&,而if-else中则必须使用嵌套才能实现,为了屏蔽各自缺点,使用其优点,C#又提供了一个if-elseif的结构
if-else if的格式
if(条件)
{
}
else if(条件)
{
}
......//都是else if
else
{
}
使用if-else if实现评级的选择输出
图1
图2
由此可以看出使用if-else if结构可以结合其他两种结构的优点 1 不用使用逻辑运算符 2 不用使用嵌套